// Code generated by Fastpb v0.0.2. DO NOT EDIT.

package nested

import (
	fmt "fmt"
	fastpb "github.com/cloudwego/fastpb"
)

var (
	_ = fmt.Errorf
	_ = fastpb.Skip
)

func (x *Message) FastRead(buf []byte, _type int8, number int32) (offset int, err error) {
	switch number {
	case 1:
		offset, err = x.fastReadField1(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 2:
		offset, err = x.fastReadField2(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 3:
		offset, err = x.fastReadField3(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 4:
		offset, err = x.fastReadField4(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 5:
		offset, err = x.fastReadField5(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 6:
		offset, err = x.fastReadField6(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 7:
		offset, err = x.fastReadField7(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 8:
		offset, err = x.fastReadField8(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 9:
		offset, err = x.fastReadField9(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 10:
		offset, err = x.fastReadField10(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 11:
		offset, err = x.fastReadField11(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 12:
		offset, err = x.fastReadField12(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 13:
		offset, err = x.fastReadField13(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 14:
		offset, err = x.fastReadField14(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 15:
		offset, err = x.fastReadField15(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 16:
		offset, err = x.fastReadField16(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 20:
		offset, err = x.fastReadField20(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 21:
		offset, err = x.fastReadField21(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 22:
		offset, err = x.fastReadField22(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 23:
		offset, err = x.fastReadField23(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 33:
		offset, err = x.fastReadField33(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 34:
		offset, err = x.fastReadField34(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 35:
		offset, err = x.fastReadField35(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 36:
		offset, err = x.fastReadField36(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 37:
		offset, err = x.fastReadField37(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 38:
		offset, err = x.fastReadField38(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 41:
		offset, err = x.fastReadField41(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 42:
		offset, err = x.fastReadField42(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 43:
		offset, err = x.fastReadField43(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 50:
		offset, err = x.fastReadField50(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	default:
		offset, err = fastpb.Skip(buf, _type, number)
		if err != nil {
			goto SkipFieldError
		}
	}
	return offset, nil
SkipFieldError:
	return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err)
ReadFieldError:
	return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Message[number], err)
}

func (x *Message) fastReadField1(buf []byte, _type int8) (offset int, err error) {
	x.Field1, offset, err = fastpb.ReadDouble(buf, _type)
	return offset, err
}

func (x *Message) fastReadField2(buf []byte, _type int8) (offset int, err error) {
	x.Field2, offset, err = fastpb.ReadFloat(buf, _type)
	return offset, err
}

func (x *Message) fastReadField3(buf []byte, _type int8) (offset int, err error) {
	x.Field3, offset, err = fastpb.ReadInt32(buf, _type)
	return offset, err
}

func (x *Message) fastReadField4(buf []byte, _type int8) (offset int, err error) {
	x.Field4, offset, err = fastpb.ReadInt64(buf, _type)
	return offset, err
}

func (x *Message) fastReadField5(buf []byte, _type int8) (offset int, err error) {
	x.Field5, offset, err = fastpb.ReadUint32(buf, _type)
	return offset, err
}

func (x *Message) fastReadField6(buf []byte, _type int8) (offset int, err error) {
	x.Field6, offset, err = fastpb.ReadUint64(buf, _type)
	return offset, err
}

func (x *Message) fastReadField7(buf []byte, _type int8) (offset int, err error) {
	x.Field7, offset, err = fastpb.ReadSint32(buf, _type)
	return offset, err
}

func (x *Message) fastReadField8(buf []byte, _type int8) (offset int, err error) {
	x.Field8, offset, err = fastpb.ReadSint64(buf, _type)
	return offset, err
}

func (x *Message) fastReadField9(buf []byte, _type int8) (offset int, err error) {
	x.Field9, offset, err = fastpb.ReadFixed32(buf, _type)
	return offset, err
}

func (x *Message) fastReadField10(buf []byte, _type int8) (offset int, err error) {
	x.Field10, offset, err = fastpb.ReadFixed64(buf, _type)
	return offset, err
}

func (x *Message) fastReadField11(buf []byte, _type int8) (offset int, err error) {
	x.Field11, offset, err = fastpb.ReadSfixed32(buf, _type)
	return offset, err
}

func (x *Message) fastReadField12(buf []byte, _type int8) (offset int, err error) {
	x.Field12, offset, err = fastpb.ReadSfixed64(buf, _type)
	return offset, err
}

func (x *Message) fastReadField13(buf []byte, _type int8) (offset int, err error) {
	x.Field13, offset, err = fastpb.ReadBool(buf, _type)
	return offset, err
}

func (x *Message) fastReadField14(buf []byte, _type int8) (offset int, err error) {
	x.Field14, offset, err = fastpb.ReadString(buf, _type)
	return offset, err
}

func (x *Message) fastReadField15(buf []byte, _type int8) (offset int, err error) {
	x.Field15, offset, err = fastpb.ReadBytes(buf, _type)
	return offset, err
}

func (x *Message) fastReadField16(buf []byte, _type int8) (offset int, err error) {
	var v Message
	offset, err = fastpb.ReadMessage(buf, _type, &v)
	if err != nil {
		return offset, err
	}
	x.Field16 = &v
	return offset, nil
}

func (x *Message) fastReadField20(buf []byte, _type int8) (offset int, err error) {
	var v string
	v, offset, err = fastpb.ReadString(buf, _type)
	if err != nil {
		return offset, err
	}
	x.Field20 = append(x.Field20, v)
	return offset, err
}

func (x *Message) fastReadField21(buf []byte, _type int8) (offset int, err error) {
	var v Message
	offset, err = fastpb.ReadMessage(buf, _type, &v)
	if err != nil {
		return offset, err
	}
	x.Field21 = append(x.Field21, &v)
	return offset, nil
}

func (x *Message) fastReadField22(buf []byte, _type int8) (offset int, err error) {
	if x.Field22 == nil {
		x.Field22 = make(map[int32]string)
	}
	var key int32
	var value string
	offset, err = fastpb.ReadMapEntry(buf, _type,
		func(buf []byte, _type int8) (offset int, err error) {
			key, offset, err = fastpb.ReadInt32(buf, _type)
			return offset, err
		},
		func(buf []byte, _type int8) (offset int, err error) {
			value, offset, err = fastpb.ReadString(buf, _type)
			return offset, err
		})
	if err != nil {
		return offset, err
	}
	x.Field22[key] = value
	return offset, nil
}

func (x *Message) fastReadField23(buf []byte, _type int8) (offset int, err error) {
	if x.Field23 == nil {
		x.Field23 = make(map[string]*Message)
	}
	var key string
	var value *Message
	offset, err = fastpb.ReadMapEntry(buf, _type,
		func(buf []byte, _type int8) (offset int, err error) {
			key, offset, err = fastpb.ReadString(buf, _type)
			return offset, err
		},
		func(buf []byte, _type int8) (offset int, err error) {
			var v Message
			offset, err = fastpb.ReadMessage(buf, _type, &v)
			if err != nil {
				return offset, err
			}
			value = &v
			return offset, nil
		})
	if err != nil {
		return offset, err
	}
	x.Field23[key] = value
	return offset, nil
}

func (x *Message) fastReadField33(buf []byte, _type int8) (offset int, err error) {
	var v int32
	v, offset, err = fastpb.ReadInt32(buf, _type)
	if err != nil {
		return offset, err
	}
	x.Field33 = Message_Enum(v)
	return offset, nil
}

func (x *Message) fastReadField34(buf []byte, _type int8) (offset int, err error) {
	offset, err = fastpb.ReadList(buf, _type,
		func(buf []byte, _type int8) (n int, err error) {
			var v int32
			v, offset, err = fastpb.ReadInt32(buf, _type)
			if err != nil {
				return offset, err
			}
			x.Field34 = append(x.Field34, Message_Enum(v))
			return offset, nil
		})
	return offset, err
}

func (x *Message) fastReadField35(buf []byte, _type int8) (offset int, err error) {
	if x.Field35 == nil {
		x.Field35 = make(map[int32]Message_Enum)
	}
	var key int32
	var value Message_Enum
	offset, err = fastpb.ReadMapEntry(buf, _type,
		func(buf []byte, _type int8) (offset int, err error) {
			key, offset, err = fastpb.ReadInt32(buf, _type)
			return offset, err
		},
		func(buf []byte, _type int8) (offset int, err error) {
			var v int32
			v, offset, err = fastpb.ReadInt32(buf, _type)
			if err != nil {
				return offset, err
			}
			value = Message_Enum(v)
			return offset, nil
		})
	if err != nil {
		return offset, err
	}
	x.Field35[key] = value
	return offset, nil
}

func (x *Message) fastReadField36(buf []byte, _type int8) (offset int, err error) {
	var v int32
	v, offset, err = fastpb.ReadInt32(buf, _type)
	if err != nil {
		return offset, err
	}
	x.Field36 = MsgEnum(v)
	return offset, nil
}

func (x *Message) fastReadField37(buf []byte, _type int8) (offset int, err error) {
	offset, err = fastpb.ReadList(buf, _type,
		func(buf []byte, _type int8) (n int, err error) {
			var v int32
			v, offset, err = fastpb.ReadInt32(buf, _type)
			if err != nil {
				return offset, err
			}
			x.Field37 = append(x.Field37, MsgEnum(v))
			return offset, nil
		})
	return offset, err
}

func (x *Message) fastReadField38(buf []byte, _type int8) (offset int, err error) {
	if x.Field38 == nil {
		x.Field38 = make(map[int32]MsgEnum)
	}
	var key int32
	var value MsgEnum
	offset, err = fastpb.ReadMapEntry(buf, _type,
		func(buf []byte, _type int8) (offset int, err error) {
			key, offset, err = fastpb.ReadInt32(buf, _type)
			return offset, err
		},
		func(buf []byte, _type int8) (offset int, err error) {
			var v int32
			v, offset, err = fastpb.ReadInt32(buf, _type)
			if err != nil {
				return offset, err
			}
			value = MsgEnum(v)
			return offset, nil
		})
	if err != nil {
		return offset, err
	}
	x.Field38[key] = value
	return offset, nil
}

func (x *Message) fastReadField41(buf []byte, _type int8) (offset int, err error) {
	var ov Message_Field41
	x.Field40 = &ov
	ov.Field41, offset, err = fastpb.ReadInt64(buf, _type)
	return offset, err
}

func (x *Message) fastReadField42(buf []byte, _type int8) (offset int, err error) {
	var ov Message_Field42
	x.Field40 = &ov
	ov.Field42, offset, err = fastpb.ReadBool(buf, _type)
	return offset, err
}

func (x *Message) fastReadField43(buf []byte, _type int8) (offset int, err error) {
	var ov Message_Field43
	x.Field40 = &ov
	var v Message
	offset, err = fastpb.ReadMessage(buf, _type, &v)
	if err != nil {
		return offset, err
	}
	ov.Field43 = &v
	return offset, nil
}

func (x *Message) fastReadField50(buf []byte, _type int8) (offset int, err error) {
	var v Message_Condition
	offset, err = fastpb.ReadMessage(buf, _type, &v)
	if err != nil {
		return offset, err
	}
	x.Field50 = &v
	return offset, nil
}

func (x *Message_Condition) FastRead(buf []byte, _type int8, number int32) (offset int, err error) {
	switch number {
	case 2:
		offset, err = x.fastReadField2(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 3:
		offset, err = x.fastReadField3(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	case 4:
		offset, err = x.fastReadField4(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	default:
		offset, err = fastpb.Skip(buf, _type, number)
		if err != nil {
			goto SkipFieldError
		}
	}
	return offset, nil
SkipFieldError:
	return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err)
ReadFieldError:
	return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Message_Condition[number], err)
}

func (x *Message_Condition) fastReadField2(buf []byte, _type int8) (offset int, err error) {
	var ov Message_Condition_Field2
	x.Field1 = &ov
	ov.Field2, offset, err = fastpb.ReadInt64(buf, _type)
	return offset, err
}

func (x *Message_Condition) fastReadField3(buf []byte, _type int8) (offset int, err error) {
	var ov Message_Condition_Field3
	x.Field1 = &ov
	var v Message_ConditionTree
	offset, err = fastpb.ReadMessage(buf, _type, &v)
	if err != nil {
		return offset, err
	}
	ov.Field3 = &v
	return offset, nil
}

func (x *Message_Condition) fastReadField4(buf []byte, _type int8) (offset int, err error) {
	x.Field4, offset, err = fastpb.ReadBool(buf, _type)
	return offset, err
}

func (x *Message_ConditionTree) FastRead(buf []byte, _type int8, number int32) (offset int, err error) {
	switch number {
	case 2:
		offset, err = x.fastReadField2(buf, _type)
		if err != nil {
			goto ReadFieldError
		}
	default:
		offset, err = fastpb.Skip(buf, _type, number)
		if err != nil {
			goto SkipFieldError
		}
	}
	return offset, nil
SkipFieldError:
	return offset, fmt.Errorf("%T cannot parse invalid wire-format data, error: %s", x, err)
ReadFieldError:
	return offset, fmt.Errorf("%T read field %d '%s' error: %s", x, number, fieldIDToName_Message_ConditionTree[number], err)
}

func (x *Message_ConditionTree) fastReadField2(buf []byte, _type int8) (offset int, err error) {
	var v Message_Condition
	offset, err = fastpb.ReadMessage(buf, _type, &v)
	if err != nil {
		return offset, err
	}
	x.Field2 = append(x.Field2, &v)
	return offset, nil
}

func (x *Message) FastWrite(buf []byte) (offset int) {
	if x == nil {
		return offset
	}
	offset += x.fastWriteField1(buf[offset:])
	offset += x.fastWriteField2(buf[offset:])
	offset += x.fastWriteField3(buf[offset:])
	offset += x.fastWriteField4(buf[offset:])
	offset += x.fastWriteField5(buf[offset:])
	offset += x.fastWriteField6(buf[offset:])
	offset += x.fastWriteField7(buf[offset:])
	offset += x.fastWriteField8(buf[offset:])
	offset += x.fastWriteField9(buf[offset:])
	offset += x.fastWriteField10(buf[offset:])
	offset += x.fastWriteField11(buf[offset:])
	offset += x.fastWriteField12(buf[offset:])
	offset += x.fastWriteField13(buf[offset:])
	offset += x.fastWriteField14(buf[offset:])
	offset += x.fastWriteField15(buf[offset:])
	offset += x.fastWriteField16(buf[offset:])
	offset += x.fastWriteField20(buf[offset:])
	offset += x.fastWriteField21(buf[offset:])
	offset += x.fastWriteField22(buf[offset:])
	offset += x.fastWriteField23(buf[offset:])
	offset += x.fastWriteField33(buf[offset:])
	offset += x.fastWriteField34(buf[offset:])
	offset += x.fastWriteField35(buf[offset:])
	offset += x.fastWriteField36(buf[offset:])
	offset += x.fastWriteField37(buf[offset:])
	offset += x.fastWriteField38(buf[offset:])
	offset += x.fastWriteField41(buf[offset:])
	offset += x.fastWriteField42(buf[offset:])
	offset += x.fastWriteField43(buf[offset:])
	offset += x.fastWriteField50(buf[offset:])
	return offset
}

func (x *Message) fastWriteField1(buf []byte) (offset int) {
	if x.Field1 == 0 {
		return offset
	}
	offset += fastpb.WriteDouble(buf[offset:], 1, x.Field1)
	return offset
}

func (x *Message) fastWriteField2(buf []byte) (offset int) {
	if x.Field2 == 0 {
		return offset
	}
	offset += fastpb.WriteFloat(buf[offset:], 2, x.Field2)
	return offset
}

func (x *Message) fastWriteField3(buf []byte) (offset int) {
	if x.Field3 == 0 {
		return offset
	}
	offset += fastpb.WriteInt32(buf[offset:], 3, x.Field3)
	return offset
}

func (x *Message) fastWriteField4(buf []byte) (offset int) {
	if x.Field4 == 0 {
		return offset
	}
	offset += fastpb.WriteInt64(buf[offset:], 4, x.Field4)
	return offset
}

func (x *Message) fastWriteField5(buf []byte) (offset int) {
	if x.Field5 == 0 {
		return offset
	}
	offset += fastpb.WriteUint32(buf[offset:], 5, x.Field5)
	return offset
}

func (x *Message) fastWriteField6(buf []byte) (offset int) {
	if x.Field6 == 0 {
		return offset
	}
	offset += fastpb.WriteUint64(buf[offset:], 6, x.Field6)
	return offset
}

func (x *Message) fastWriteField7(buf []byte) (offset int) {
	if x.Field7 == 0 {
		return offset
	}
	offset += fastpb.WriteSint32(buf[offset:], 7, x.Field7)
	return offset
}

func (x *Message) fastWriteField8(buf []byte) (offset int) {
	if x.Field8 == 0 {
		return offset
	}
	offset += fastpb.WriteSint64(buf[offset:], 8, x.Field8)
	return offset
}

func (x *Message) fastWriteField9(buf []byte) (offset int) {
	if x.Field9 == 0 {
		return offset
	}
	offset += fastpb.WriteFixed32(buf[offset:], 9, x.Field9)
	return offset
}

func (x *Message) fastWriteField10(buf []byte) (offset int) {
	if x.Field10 == 0 {
		return offset
	}
	offset += fastpb.WriteFixed64(buf[offset:], 10, x.Field10)
	return offset
}

func (x *Message) fastWriteField11(buf []byte) (offset int) {
	if x.Field11 == 0 {
		return offset
	}
	offset += fastpb.WriteSfixed32(buf[offset:], 11, x.Field11)
	return offset
}

func (x *Message) fastWriteField12(buf []byte) (offset int) {
	if x.Field12 == 0 {
		return offset
	}
	offset += fastpb.WriteSfixed64(buf[offset:], 12, x.Field12)
	return offset
}

func (x *Message) fastWriteField13(buf []byte) (offset int) {
	if !x.Field13 {
		return offset
	}
	offset += fastpb.WriteBool(buf[offset:], 13, x.Field13)
	return offset
}

func (x *Message) fastWriteField14(buf []byte) (offset int) {
	if x.Field14 == "" {
		return offset
	}
	offset += fastpb.WriteString(buf[offset:], 14, x.Field14)
	return offset
}

func (x *Message) fastWriteField15(buf []byte) (offset int) {
	if len(x.Field15) == 0 {
		return offset
	}
	offset += fastpb.WriteBytes(buf[offset:], 15, x.Field15)
	return offset
}

func (x *Message) fastWriteField16(buf []byte) (offset int) {
	if x.Field16 == nil {
		return offset
	}
	offset += fastpb.WriteMessage(buf[offset:], 16, x.Field16)
	return offset
}

func (x *Message) fastWriteField20(buf []byte) (offset int) {
	if len(x.Field20) == 0 {
		return offset
	}
	for i := range x.Field20 {
		offset += fastpb.WriteString(buf[offset:], 20, x.Field20[i])
	}
	return offset
}

func (x *Message) fastWriteField21(buf []byte) (offset int) {
	if x.Field21 == nil {
		return offset
	}
	for i := range x.Field21 {
		offset += fastpb.WriteMessage(buf[offset:], 21, x.Field21[i])
	}
	return offset
}

func (x *Message) fastWriteField22(buf []byte) (offset int) {
	if x.Field22 == nil {
		return offset
	}
	for k, v := range x.Field22 {
		offset += fastpb.WriteMapEntry(buf[offset:], 22,
			func(buf []byte, numTagOrKey, numIdxOrVal int32) int {
				offset := 0
				offset += fastpb.WriteInt32(buf[offset:], numTagOrKey, k)
				offset += fastpb.WriteString(buf[offset:], numIdxOrVal, v)
				return offset
			})
	}
	return offset
}

func (x *Message) fastWriteField23(buf []byte) (offset int) {
	if x.Field23 == nil {
		return offset
	}
	for k, v := range x.Field23 {
		offset += fastpb.WriteMapEntry(buf[offset:], 23,
			func(buf []byte, numTagOrKey, numIdxOrVal int32) int {
				offset := 0
				offset += fastpb.WriteString(buf[offset:], numTagOrKey, k)
				offset += fastpb.WriteMessage(buf[offset:], numIdxOrVal, v)
				return offset
			})
	}
	return offset
}

func (x *Message) fastWriteField33(buf []byte) (offset int) {
	if x.Field33 == 0 {
		return offset
	}
	offset += fastpb.WriteInt32(buf[offset:], 33, int32(x.Field33))
	return offset
}

func (x *Message) fastWriteField34(buf []byte) (offset int) {
	if len(x.Field34) == 0 {
		return offset
	}
	offset += fastpb.WriteListPacked(buf[offset:], 34, len(x.Field34),
		func(buf []byte, numTagOrKey, numIdxOrVal int32) int {
			offset := 0
			offset += fastpb.WriteInt32(buf[offset:], numTagOrKey, int32(x.Field34[numIdxOrVal]))
			return offset
		})
	return offset
}

func (x *Message) fastWriteField35(buf []byte) (offset int) {
	if x.Field35 == nil {
		return offset
	}
	for k, v := range x.Field35 {
		offset += fastpb.WriteMapEntry(buf[offset:], 35,
			func(buf []byte, numTagOrKey, numIdxOrVal int32) int {
				offset := 0
				offset += fastpb.WriteInt32(buf[offset:], numTagOrKey, k)
				offset += fastpb.WriteInt32(buf[offset:], numIdxOrVal, int32(v))
				return offset
			})
	}
	return offset
}

func (x *Message) fastWriteField36(buf []byte) (offset int) {
	if x.Field36 == 0 {
		return offset
	}
	offset += fastpb.WriteInt32(buf[offset:], 36, int32(x.Field36))
	return offset
}

func (x *Message) fastWriteField37(buf []byte) (offset int) {
	if len(x.Field37) == 0 {
		return offset
	}
	offset += fastpb.WriteListPacked(buf[offset:], 37, len(x.Field37),
		func(buf []byte, numTagOrKey, numIdxOrVal int32) int {
			offset := 0
			offset += fastpb.WriteInt32(buf[offset:], numTagOrKey, int32(x.Field37[numIdxOrVal]))
			return offset
		})
	return offset
}

func (x *Message) fastWriteField38(buf []byte) (offset int) {
	if x.Field38 == nil {
		return offset
	}
	for k, v := range x.Field38 {
		offset += fastpb.WriteMapEntry(buf[offset:], 38,
			func(buf []byte, numTagOrKey, numIdxOrVal int32) int {
				offset := 0
				offset += fastpb.WriteInt32(buf[offset:], numTagOrKey, k)
				offset += fastpb.WriteInt32(buf[offset:], numIdxOrVal, int32(v))
				return offset
			})
	}
	return offset
}

func (x *Message) fastWriteField41(buf []byte) (offset int) {
	if x.GetField41() == 0 {
		return offset
	}
	offset += fastpb.WriteInt64(buf[offset:], 41, x.GetField41())
	return offset
}

func (x *Message) fastWriteField42(buf []byte) (offset int) {
	if !x.GetField42() {
		return offset
	}
	offset += fastpb.WriteBool(buf[offset:], 42, x.GetField42())
	return offset
}

func (x *Message) fastWriteField43(buf []byte) (offset int) {
	if x.GetField43() == nil {
		return offset
	}
	offset += fastpb.WriteMessage(buf[offset:], 43, x.GetField43())
	return offset
}

func (x *Message) fastWriteField50(buf []byte) (offset int) {
	if x.Field50 == nil {
		return offset
	}
	offset += fastpb.WriteMessage(buf[offset:], 50, x.Field50)
	return offset
}

func (x *Message_Condition) FastWrite(buf []byte) (offset int) {
	if x == nil {
		return offset
	}
	offset += x.fastWriteField2(buf[offset:])
	offset += x.fastWriteField3(buf[offset:])
	offset += x.fastWriteField4(buf[offset:])
	return offset
}

func (x *Message_Condition) fastWriteField2(buf []byte) (offset int) {
	if x.GetField2() == 0 {
		return offset
	}
	offset += fastpb.WriteInt64(buf[offset:], 2, x.GetField2())
	return offset
}

func (x *Message_Condition) fastWriteField3(buf []byte) (offset int) {
	if x.GetField3() == nil {
		return offset
	}
	offset += fastpb.WriteMessage(buf[offset:], 3, x.GetField3())
	return offset
}

func (x *Message_Condition) fastWriteField4(buf []byte) (offset int) {
	if !x.Field4 {
		return offset
	}
	offset += fastpb.WriteBool(buf[offset:], 4, x.Field4)
	return offset
}

func (x *Message_ConditionTree) FastWrite(buf []byte) (offset int) {
	if x == nil {
		return offset
	}
	offset += x.fastWriteField2(buf[offset:])
	return offset
}

func (x *Message_ConditionTree) fastWriteField2(buf []byte) (offset int) {
	if x.Field2 == nil {
		return offset
	}
	for i := range x.Field2 {
		offset += fastpb.WriteMessage(buf[offset:], 2, x.Field2[i])
	}
	return offset
}

func (x *Message) Size() (n int) {
	if x == nil {
		return n
	}
	n += x.sizeField1()
	n += x.sizeField2()
	n += x.sizeField3()
	n += x.sizeField4()
	n += x.sizeField5()
	n += x.sizeField6()
	n += x.sizeField7()
	n += x.sizeField8()
	n += x.sizeField9()
	n += x.sizeField10()
	n += x.sizeField11()
	n += x.sizeField12()
	n += x.sizeField13()
	n += x.sizeField14()
	n += x.sizeField15()
	n += x.sizeField16()
	n += x.sizeField20()
	n += x.sizeField21()
	n += x.sizeField22()
	n += x.sizeField23()
	n += x.sizeField33()
	n += x.sizeField34()
	n += x.sizeField35()
	n += x.sizeField36()
	n += x.sizeField37()
	n += x.sizeField38()
	n += x.sizeField41()
	n += x.sizeField42()
	n += x.sizeField43()
	n += x.sizeField50()
	return n
}

func (x *Message) sizeField1() (n int) {
	if x.Field1 == 0 {
		return n
	}
	n += fastpb.SizeDouble(1, x.Field1)
	return n
}

func (x *Message) sizeField2() (n int) {
	if x.Field2 == 0 {
		return n
	}
	n += fastpb.SizeFloat(2, x.Field2)
	return n
}

func (x *Message) sizeField3() (n int) {
	if x.Field3 == 0 {
		return n
	}
	n += fastpb.SizeInt32(3, x.Field3)
	return n
}

func (x *Message) sizeField4() (n int) {
	if x.Field4 == 0 {
		return n
	}
	n += fastpb.SizeInt64(4, x.Field4)
	return n
}

func (x *Message) sizeField5() (n int) {
	if x.Field5 == 0 {
		return n
	}
	n += fastpb.SizeUint32(5, x.Field5)
	return n
}

func (x *Message) sizeField6() (n int) {
	if x.Field6 == 0 {
		return n
	}
	n += fastpb.SizeUint64(6, x.Field6)
	return n
}

func (x *Message) sizeField7() (n int) {
	if x.Field7 == 0 {
		return n
	}
	n += fastpb.SizeSint32(7, x.Field7)
	return n
}

func (x *Message) sizeField8() (n int) {
	if x.Field8 == 0 {
		return n
	}
	n += fastpb.SizeSint64(8, x.Field8)
	return n
}

func (x *Message) sizeField9() (n int) {
	if x.Field9 == 0 {
		return n
	}
	n += fastpb.SizeFixed32(9, x.Field9)
	return n
}

func (x *Message) sizeField10() (n int) {
	if x.Field10 == 0 {
		return n
	}
	n += fastpb.SizeFixed64(10, x.Field10)
	return n
}

func (x *Message) sizeField11() (n int) {
	if x.Field11 == 0 {
		return n
	}
	n += fastpb.SizeSfixed32(11, x.Field11)
	return n
}

func (x *Message) sizeField12() (n int) {
	if x.Field12 == 0 {
		return n
	}
	n += fastpb.SizeSfixed64(12, x.Field12)
	return n
}

func (x *Message) sizeField13() (n int) {
	if !x.Field13 {
		return n
	}
	n += fastpb.SizeBool(13, x.Field13)
	return n
}

func (x *Message) sizeField14() (n int) {
	if x.Field14 == "" {
		return n
	}
	n += fastpb.SizeString(14, x.Field14)
	return n
}

func (x *Message) sizeField15() (n int) {
	if len(x.Field15) == 0 {
		return n
	}
	n += fastpb.SizeBytes(15, x.Field15)
	return n
}

func (x *Message) sizeField16() (n int) {
	if x.Field16 == nil {
		return n
	}
	n += fastpb.SizeMessage(16, x.Field16)
	return n
}

func (x *Message) sizeField20() (n int) {
	if len(x.Field20) == 0 {
		return n
	}
	for i := range x.Field20 {
		n += fastpb.SizeString(20, x.Field20[i])
	}
	return n
}

func (x *Message) sizeField21() (n int) {
	if x.Field21 == nil {
		return n
	}
	for i := range x.Field21 {
		n += fastpb.SizeMessage(21, x.Field21[i])
	}
	return n
}

func (x *Message) sizeField22() (n int) {
	if x.Field22 == nil {
		return n
	}
	for k, v := range x.Field22 {
		n += fastpb.SizeMapEntry(22,
			func(numTagOrKey, numIdxOrVal int32) int {
				n := 0
				n += fastpb.SizeInt32(numTagOrKey, k)
				n += fastpb.SizeString(numIdxOrVal, v)
				return n
			})
	}
	return n
}

func (x *Message) sizeField23() (n int) {
	if x.Field23 == nil {
		return n
	}
	for k, v := range x.Field23 {
		n += fastpb.SizeMapEntry(23,
			func(numTagOrKey, numIdxOrVal int32) int {
				n := 0
				n += fastpb.SizeString(numTagOrKey, k)
				n += fastpb.SizeMessage(numIdxOrVal, v)
				return n
			})
	}
	return n
}

func (x *Message) sizeField33() (n int) {
	if x.Field33 == 0 {
		return n
	}
	n += fastpb.SizeInt32(33, int32(x.Field33))
	return n
}

func (x *Message) sizeField34() (n int) {
	if len(x.Field34) == 0 {
		return n
	}
	n += fastpb.SizeListPacked(34, len(x.Field34),
		func(numTagOrKey, numIdxOrVal int32) int {
			n := 0
			n += fastpb.SizeInt32(numTagOrKey, int32(x.Field34[numIdxOrVal]))
			return n
		})
	return n
}

func (x *Message) sizeField35() (n int) {
	if x.Field35 == nil {
		return n
	}
	for k, v := range x.Field35 {
		n += fastpb.SizeMapEntry(35,
			func(numTagOrKey, numIdxOrVal int32) int {
				n := 0
				n += fastpb.SizeInt32(numTagOrKey, k)
				n += fastpb.SizeInt32(numIdxOrVal, int32(v))
				return n
			})
	}
	return n
}

func (x *Message) sizeField36() (n int) {
	if x.Field36 == 0 {
		return n
	}
	n += fastpb.SizeInt32(36, int32(x.Field36))
	return n
}

func (x *Message) sizeField37() (n int) {
	if len(x.Field37) == 0 {
		return n
	}
	n += fastpb.SizeListPacked(37, len(x.Field37),
		func(numTagOrKey, numIdxOrVal int32) int {
			n := 0
			n += fastpb.SizeInt32(numTagOrKey, int32(x.Field37[numIdxOrVal]))
			return n
		})
	return n
}

func (x *Message) sizeField38() (n int) {
	if x.Field38 == nil {
		return n
	}
	for k, v := range x.Field38 {
		n += fastpb.SizeMapEntry(38,
			func(numTagOrKey, numIdxOrVal int32) int {
				n := 0
				n += fastpb.SizeInt32(numTagOrKey, k)
				n += fastpb.SizeInt32(numIdxOrVal, int32(v))
				return n
			})
	}
	return n
}

func (x *Message) sizeField41() (n int) {
	if x.GetField41() == 0 {
		return n
	}
	n += fastpb.SizeInt64(41, x.GetField41())
	return n
}

func (x *Message) sizeField42() (n int) {
	if !x.GetField42() {
		return n
	}
	n += fastpb.SizeBool(42, x.GetField42())
	return n
}

func (x *Message) sizeField43() (n int) {
	if x.GetField43() == nil {
		return n
	}
	n += fastpb.SizeMessage(43, x.GetField43())
	return n
}

func (x *Message) sizeField50() (n int) {
	if x.Field50 == nil {
		return n
	}
	n += fastpb.SizeMessage(50, x.Field50)
	return n
}

func (x *Message_Condition) Size() (n int) {
	if x == nil {
		return n
	}
	n += x.sizeField2()
	n += x.sizeField3()
	n += x.sizeField4()
	return n
}

func (x *Message_Condition) sizeField2() (n int) {
	if x.GetField2() == 0 {
		return n
	}
	n += fastpb.SizeInt64(2, x.GetField2())
	return n
}

func (x *Message_Condition) sizeField3() (n int) {
	if x.GetField3() == nil {
		return n
	}
	n += fastpb.SizeMessage(3, x.GetField3())
	return n
}

func (x *Message_Condition) sizeField4() (n int) {
	if !x.Field4 {
		return n
	}
	n += fastpb.SizeBool(4, x.Field4)
	return n
}

func (x *Message_ConditionTree) Size() (n int) {
	if x == nil {
		return n
	}
	n += x.sizeField2()
	return n
}

func (x *Message_ConditionTree) sizeField2() (n int) {
	if x.Field2 == nil {
		return n
	}
	for i := range x.Field2 {
		n += fastpb.SizeMessage(2, x.Field2[i])
	}
	return n
}

var fieldIDToName_Message = map[int32]string{
	1:  "Field1",
	2:  "Field2",
	3:  "Field3",
	4:  "Field4",
	5:  "Field5",
	6:  "Field6",
	7:  "Field7",
	8:  "Field8",
	9:  "Field9",
	10: "Field10",
	11: "Field11",
	12: "Field12",
	13: "Field13",
	14: "Field14",
	15: "Field15",
	16: "Field16",
	20: "Field20",
	21: "Field21",
	22: "Field22",
	23: "Field23",
	33: "Field33",
	34: "Field34",
	35: "Field35",
	36: "Field36",
	37: "Field37",
	38: "Field38",
	41: "Field41",
	42: "Field42",
	43: "Field43",
	50: "Field50",
}

var fieldIDToName_Message_Condition = map[int32]string{
	2: "Field2",
	3: "Field3",
	4: "Field4",
}

var fieldIDToName_Message_ConditionTree = map[int32]string{
	2: "Field2",
}
