// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: combos/marshaler/one.proto

package one

import (
	bytes "bytes"
	compress_gzip "compress/gzip"
	encoding_binary "encoding/binary"
	fmt "fmt"
	_ "github.com/gogo/protobuf/gogoproto"
	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
	proto "github.com/gogo/protobuf/proto"
	github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
	io_ioutil "io/ioutil"
	math "math"
	reflect "reflect"
	strings "strings"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package

type Subby struct {
	Sub                  string   `protobuf:"bytes,1,opt,name=sub,proto3" json:"sub,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Subby) Reset()      { *m = Subby{} }
func (*Subby) ProtoMessage() {}
func (*Subby) Descriptor() ([]byte, []int) {
	return fileDescriptor_f8ef4705d619eecc, []int{0}
}
func (m *Subby) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Subby.Unmarshal(m, b)
}
func (m *Subby) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_Subby.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalTo(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *Subby) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Subby.Merge(m, src)
}
func (m *Subby) XXX_Size() int {
	return m.Size()
}
func (m *Subby) XXX_DiscardUnknown() {
	xxx_messageInfo_Subby.DiscardUnknown(m)
}

var xxx_messageInfo_Subby proto.InternalMessageInfo

type SampleOneOf struct {
	// Types that are valid to be assigned to TestOneof:
	//	*SampleOneOf_Field1
	//	*SampleOneOf_Field2
	//	*SampleOneOf_Field3
	//	*SampleOneOf_Field4
	//	*SampleOneOf_Field5
	//	*SampleOneOf_Field6
	//	*SampleOneOf_Field7
	//	*SampleOneOf_Field8
	//	*SampleOneOf_Field9
	//	*SampleOneOf_Field10
	//	*SampleOneOf_Field11
	//	*SampleOneOf_Field12
	//	*SampleOneOf_Field13
	//	*SampleOneOf_Field14
	//	*SampleOneOf_Field15
	//	*SampleOneOf_SubMessage
	TestOneof            isSampleOneOf_TestOneof `protobuf_oneof:"test_oneof"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *SampleOneOf) Reset()      { *m = SampleOneOf{} }
func (*SampleOneOf) ProtoMessage() {}
func (*SampleOneOf) Descriptor() ([]byte, []int) {
	return fileDescriptor_f8ef4705d619eecc, []int{1}
}
func (m *SampleOneOf) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SampleOneOf.Unmarshal(m, b)
}
func (m *SampleOneOf) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_SampleOneOf.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalTo(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *SampleOneOf) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SampleOneOf.Merge(m, src)
}
func (m *SampleOneOf) XXX_Size() int {
	return m.Size()
}
func (m *SampleOneOf) XXX_DiscardUnknown() {
	xxx_messageInfo_SampleOneOf.DiscardUnknown(m)
}

var xxx_messageInfo_SampleOneOf proto.InternalMessageInfo

type isSampleOneOf_TestOneof interface {
	isSampleOneOf_TestOneof()
	Equal(interface{}) bool
	VerboseEqual(interface{}) error
	MarshalTo([]byte) (int, error)
	Size() int
}

type SampleOneOf_Field1 struct {
	Field1 float64 `protobuf:"fixed64,1,opt,name=Field1,proto3,oneof"`
}
type SampleOneOf_Field2 struct {
	Field2 float32 `protobuf:"fixed32,2,opt,name=Field2,proto3,oneof"`
}
type SampleOneOf_Field3 struct {
	Field3 int32 `protobuf:"varint,3,opt,name=Field3,proto3,oneof"`
}
type SampleOneOf_Field4 struct {
	Field4 int64 `protobuf:"varint,4,opt,name=Field4,proto3,oneof"`
}
type SampleOneOf_Field5 struct {
	Field5 uint32 `protobuf:"varint,5,opt,name=Field5,proto3,oneof"`
}
type SampleOneOf_Field6 struct {
	Field6 uint64 `protobuf:"varint,6,opt,name=Field6,proto3,oneof"`
}
type SampleOneOf_Field7 struct {
	Field7 int32 `protobuf:"zigzag32,7,opt,name=Field7,proto3,oneof"`
}
type SampleOneOf_Field8 struct {
	Field8 int64 `protobuf:"zigzag64,8,opt,name=Field8,proto3,oneof"`
}
type SampleOneOf_Field9 struct {
	Field9 uint32 `protobuf:"fixed32,9,opt,name=Field9,proto3,oneof"`
}
type SampleOneOf_Field10 struct {
	Field10 int32 `protobuf:"fixed32,10,opt,name=Field10,proto3,oneof"`
}
type SampleOneOf_Field11 struct {
	Field11 uint64 `protobuf:"fixed64,11,opt,name=Field11,proto3,oneof"`
}
type SampleOneOf_Field12 struct {
	Field12 int64 `protobuf:"fixed64,12,opt,name=Field12,proto3,oneof"`
}
type SampleOneOf_Field13 struct {
	Field13 bool `protobuf:"varint,13,opt,name=Field13,proto3,oneof"`
}
type SampleOneOf_Field14 struct {
	Field14 string `protobuf:"bytes,14,opt,name=Field14,proto3,oneof"`
}
type SampleOneOf_Field15 struct {
	Field15 []byte `protobuf:"bytes,15,opt,name=Field15,proto3,oneof"`
}
type SampleOneOf_SubMessage struct {
	SubMessage *Subby `protobuf:"bytes,16,opt,name=sub_message,json=subMessage,proto3,oneof"`
}

func (*SampleOneOf_Field1) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field2) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field3) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field4) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field5) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field6) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field7) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field8) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field9) isSampleOneOf_TestOneof()     {}
func (*SampleOneOf_Field10) isSampleOneOf_TestOneof()    {}
func (*SampleOneOf_Field11) isSampleOneOf_TestOneof()    {}
func (*SampleOneOf_Field12) isSampleOneOf_TestOneof()    {}
func (*SampleOneOf_Field13) isSampleOneOf_TestOneof()    {}
func (*SampleOneOf_Field14) isSampleOneOf_TestOneof()    {}
func (*SampleOneOf_Field15) isSampleOneOf_TestOneof()    {}
func (*SampleOneOf_SubMessage) isSampleOneOf_TestOneof() {}

func (m *SampleOneOf) GetTestOneof() isSampleOneOf_TestOneof {
	if m != nil {
		return m.TestOneof
	}
	return nil
}

func (m *SampleOneOf) GetField1() float64 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field1); ok {
		return x.Field1
	}
	return 0
}

func (m *SampleOneOf) GetField2() float32 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field2); ok {
		return x.Field2
	}
	return 0
}

func (m *SampleOneOf) GetField3() int32 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field3); ok {
		return x.Field3
	}
	return 0
}

func (m *SampleOneOf) GetField4() int64 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field4); ok {
		return x.Field4
	}
	return 0
}

func (m *SampleOneOf) GetField5() uint32 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field5); ok {
		return x.Field5
	}
	return 0
}

func (m *SampleOneOf) GetField6() uint64 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field6); ok {
		return x.Field6
	}
	return 0
}

func (m *SampleOneOf) GetField7() int32 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field7); ok {
		return x.Field7
	}
	return 0
}

func (m *SampleOneOf) GetField8() int64 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field8); ok {
		return x.Field8
	}
	return 0
}

func (m *SampleOneOf) GetField9() uint32 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field9); ok {
		return x.Field9
	}
	return 0
}

func (m *SampleOneOf) GetField10() int32 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field10); ok {
		return x.Field10
	}
	return 0
}

func (m *SampleOneOf) GetField11() uint64 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field11); ok {
		return x.Field11
	}
	return 0
}

func (m *SampleOneOf) GetField12() int64 {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field12); ok {
		return x.Field12
	}
	return 0
}

func (m *SampleOneOf) GetField13() bool {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field13); ok {
		return x.Field13
	}
	return false
}

func (m *SampleOneOf) GetField14() string {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field14); ok {
		return x.Field14
	}
	return ""
}

func (m *SampleOneOf) GetField15() []byte {
	if x, ok := m.GetTestOneof().(*SampleOneOf_Field15); ok {
		return x.Field15
	}
	return nil
}

func (m *SampleOneOf) GetSubMessage() *Subby {
	if x, ok := m.GetTestOneof().(*SampleOneOf_SubMessage); ok {
		return x.SubMessage
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*SampleOneOf) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _SampleOneOf_OneofMarshaler, _SampleOneOf_OneofUnmarshaler, _SampleOneOf_OneofSizer, []interface{}{
		(*SampleOneOf_Field1)(nil),
		(*SampleOneOf_Field2)(nil),
		(*SampleOneOf_Field3)(nil),
		(*SampleOneOf_Field4)(nil),
		(*SampleOneOf_Field5)(nil),
		(*SampleOneOf_Field6)(nil),
		(*SampleOneOf_Field7)(nil),
		(*SampleOneOf_Field8)(nil),
		(*SampleOneOf_Field9)(nil),
		(*SampleOneOf_Field10)(nil),
		(*SampleOneOf_Field11)(nil),
		(*SampleOneOf_Field12)(nil),
		(*SampleOneOf_Field13)(nil),
		(*SampleOneOf_Field14)(nil),
		(*SampleOneOf_Field15)(nil),
		(*SampleOneOf_SubMessage)(nil),
	}
}

func _SampleOneOf_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*SampleOneOf)
	// test_oneof
	switch x := m.TestOneof.(type) {
	case *SampleOneOf_Field1:
		_ = b.EncodeVarint(1<<3 | proto.WireFixed64)
		_ = b.EncodeFixed64(math.Float64bits(x.Field1))
	case *SampleOneOf_Field2:
		_ = b.EncodeVarint(2<<3 | proto.WireFixed32)
		_ = b.EncodeFixed32(uint64(math.Float32bits(x.Field2)))
	case *SampleOneOf_Field3:
		_ = b.EncodeVarint(3<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Field3))
	case *SampleOneOf_Field4:
		_ = b.EncodeVarint(4<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Field4))
	case *SampleOneOf_Field5:
		_ = b.EncodeVarint(5<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Field5))
	case *SampleOneOf_Field6:
		_ = b.EncodeVarint(6<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Field6))
	case *SampleOneOf_Field7:
		_ = b.EncodeVarint(7<<3 | proto.WireVarint)
		_ = b.EncodeZigzag32(uint64(x.Field7))
	case *SampleOneOf_Field8:
		_ = b.EncodeVarint(8<<3 | proto.WireVarint)
		_ = b.EncodeZigzag64(uint64(x.Field8))
	case *SampleOneOf_Field9:
		_ = b.EncodeVarint(9<<3 | proto.WireFixed32)
		_ = b.EncodeFixed32(uint64(x.Field9))
	case *SampleOneOf_Field10:
		_ = b.EncodeVarint(10<<3 | proto.WireFixed32)
		_ = b.EncodeFixed32(uint64(x.Field10))
	case *SampleOneOf_Field11:
		_ = b.EncodeVarint(11<<3 | proto.WireFixed64)
		_ = b.EncodeFixed64(uint64(x.Field11))
	case *SampleOneOf_Field12:
		_ = b.EncodeVarint(12<<3 | proto.WireFixed64)
		_ = b.EncodeFixed64(uint64(x.Field12))
	case *SampleOneOf_Field13:
		t := uint64(0)
		if x.Field13 {
			t = 1
		}
		_ = b.EncodeVarint(13<<3 | proto.WireVarint)
		_ = b.EncodeVarint(t)
	case *SampleOneOf_Field14:
		_ = b.EncodeVarint(14<<3 | proto.WireBytes)
		_ = b.EncodeStringBytes(x.Field14)
	case *SampleOneOf_Field15:
		_ = b.EncodeVarint(15<<3 | proto.WireBytes)
		_ = b.EncodeRawBytes(x.Field15)
	case *SampleOneOf_SubMessage:
		_ = b.EncodeVarint(16<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.SubMessage); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("SampleOneOf.TestOneof has unexpected type %T", x)
	}
	return nil
}

func _SampleOneOf_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*SampleOneOf)
	switch tag {
	case 1: // test_oneof.Field1
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.TestOneof = &SampleOneOf_Field1{math.Float64frombits(x)}
		return true, err
	case 2: // test_oneof.Field2
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.TestOneof = &SampleOneOf_Field2{math.Float32frombits(uint32(x))}
		return true, err
	case 3: // test_oneof.Field3
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.TestOneof = &SampleOneOf_Field3{int32(x)}
		return true, err
	case 4: // test_oneof.Field4
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.TestOneof = &SampleOneOf_Field4{int64(x)}
		return true, err
	case 5: // test_oneof.Field5
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.TestOneof = &SampleOneOf_Field5{uint32(x)}
		return true, err
	case 6: // test_oneof.Field6
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.TestOneof = &SampleOneOf_Field6{x}
		return true, err
	case 7: // test_oneof.Field7
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag32()
		m.TestOneof = &SampleOneOf_Field7{int32(x)}
		return true, err
	case 8: // test_oneof.Field8
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag64()
		m.TestOneof = &SampleOneOf_Field8{int64(x)}
		return true, err
	case 9: // test_oneof.Field9
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.TestOneof = &SampleOneOf_Field9{uint32(x)}
		return true, err
	case 10: // test_oneof.Field10
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.TestOneof = &SampleOneOf_Field10{int32(x)}
		return true, err
	case 11: // test_oneof.Field11
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.TestOneof = &SampleOneOf_Field11{x}
		return true, err
	case 12: // test_oneof.Field12
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.TestOneof = &SampleOneOf_Field12{int64(x)}
		return true, err
	case 13: // test_oneof.Field13
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.TestOneof = &SampleOneOf_Field13{x != 0}
		return true, err
	case 14: // test_oneof.Field14
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.TestOneof = &SampleOneOf_Field14{x}
		return true, err
	case 15: // test_oneof.Field15
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeRawBytes(true)
		m.TestOneof = &SampleOneOf_Field15{x}
		return true, err
	case 16: // test_oneof.sub_message
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(Subby)
		err := b.DecodeMessage(msg)
		m.TestOneof = &SampleOneOf_SubMessage{msg}
		return true, err
	default:
		return false, nil
	}
}

func _SampleOneOf_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*SampleOneOf)
	// test_oneof
	switch x := m.TestOneof.(type) {
	case *SampleOneOf_Field1:
		n += 1 // tag and wire
		n += 8
	case *SampleOneOf_Field2:
		n += 1 // tag and wire
		n += 4
	case *SampleOneOf_Field3:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(x.Field3))
	case *SampleOneOf_Field4:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(x.Field4))
	case *SampleOneOf_Field5:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(x.Field5))
	case *SampleOneOf_Field6:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(x.Field6))
	case *SampleOneOf_Field7:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64((uint32(x.Field7) << 1) ^ uint32((int32(x.Field7) >> 31))))
	case *SampleOneOf_Field8:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(uint64(x.Field8<<1) ^ uint64((int64(x.Field8) >> 63))))
	case *SampleOneOf_Field9:
		n += 1 // tag and wire
		n += 4
	case *SampleOneOf_Field10:
		n += 1 // tag and wire
		n += 4
	case *SampleOneOf_Field11:
		n += 1 // tag and wire
		n += 8
	case *SampleOneOf_Field12:
		n += 1 // tag and wire
		n += 8
	case *SampleOneOf_Field13:
		n += 1 // tag and wire
		n += 1
	case *SampleOneOf_Field14:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(len(x.Field14)))
		n += len(x.Field14)
	case *SampleOneOf_Field15:
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(len(x.Field15)))
		n += len(x.Field15)
	case *SampleOneOf_SubMessage:
		s := proto.Size(x.SubMessage)
		n += 2 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

func init() {
	proto.RegisterType((*Subby)(nil), "one.Subby")
	proto.RegisterType((*SampleOneOf)(nil), "one.SampleOneOf")
}

func init() { proto.RegisterFile("combos/marshaler/one.proto", fileDescriptor_f8ef4705d619eecc) }

var fileDescriptor_f8ef4705d619eecc = []byte{
	// 407 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0xd2, 0xbf, 0x4f, 0x1b, 0x31,
	0x14, 0x07, 0x70, 0x3f, 0x8e, 0x24, 0xe0, 0x84, 0x92, 0xde, 0xf4, 0x9a, 0xe1, 0xc9, 0x62, 0xf2,
	0x42, 0xd2, 0xdc, 0x25, 0xfc, 0x58, 0x51, 0x55, 0x65, 0xa9, 0x90, 0xc2, 0x1f, 0x80, 0x62, 0xea,
	0x04, 0xa4, 0x5c, 0x8c, 0x72, 0x77, 0x43, 0x37, 0xfe, 0x9c, 0x8e, 0x1d, 0xfb, 0x27, 0x30, 0x32,
	0x76, 0xe8, 0xc0, 0xb9, 0x4b, 0x47, 0x46, 0xc6, 0x2a, 0x97, 0xf2, 0xbc, 0xbd, 0xaf, 0x3f, 0xf6,
	0x60, 0xfb, 0x2b, 0x7b, 0x37, 0x2e, 0x33, 0x2e, 0x1f, 0x64, 0xb3, 0x75, 0x7e, 0x3b, 0x5b, 0xda,
	0xf5, 0xc0, 0xad, 0x6c, 0xff, 0x7e, 0xed, 0x0a, 0x17, 0x47, 0x6e, 0x65, 0x7b, 0xc7, 0x8b, 0xbb,
	0xe2, 0xb6, 0x34, 0xfd, 0x1b, 0x97, 0x0d, 0x16, 0x6e, 0xe1, 0x06, 0xb5, 0x99, 0x72, 0x5e, 0xa7,
	0x3a, 0xd4, 0xd3, 0xf6, 0xcc, 0xd1, 0x07, 0xd9, 0xb8, 0x2a, 0x8d, 0xf9, 0x16, 0x77, 0x65, 0x94,
	0x97, 0x06, 0x41, 0x81, 0xde, 0x9f, 0x6e, 0xc6, 0xa3, 0xdf, 0x91, 0x6c, 0x5f, 0xcd, 0xb2, 0xfb,
	0xa5, 0xbd, 0x5c, 0xd9, 0xcb, 0x79, 0x8c, 0xb2, 0xf9, 0xf9, 0xce, 0x2e, 0xbf, 0x0e, 0xeb, 0x4d,
	0x30, 0x11, 0xd3, 0xff, 0x99, 0x25, 0xc1, 0x1d, 0x05, 0x7a, 0x87, 0x25, 0x61, 0x49, 0x31, 0x52,
	0xa0, 0x1b, 0x2c, 0x29, 0xcb, 0x08, 0x77, 0x15, 0xe8, 0x88, 0x65, 0xc4, 0x32, 0xc6, 0x86, 0x02,
	0x7d, 0xc0, 0x32, 0x66, 0x39, 0xc1, 0xa6, 0x02, 0xbd, 0xcb, 0x72, 0xc2, 0x72, 0x8a, 0x2d, 0x05,
	0xfa, 0x3d, 0xcb, 0x29, 0xcb, 0x19, 0xee, 0x29, 0xd0, 0x31, 0xcb, 0x19, 0xcb, 0x39, 0xee, 0x2b,
	0xd0, 0x2d, 0x96, 0xf3, 0xb8, 0x27, 0x5b, 0xdb, 0x9b, 0x7d, 0x44, 0xa9, 0x40, 0x1f, 0x4e, 0xc4,
	0xf4, 0x6d, 0x21, 0xd8, 0x10, 0xdb, 0x0a, 0x74, 0x33, 0xd8, 0x30, 0x58, 0x82, 0x1d, 0x05, 0xba,
	0x1b, 0x2c, 0x09, 0x96, 0xe2, 0x81, 0x02, 0xbd, 0x17, 0x2c, 0x0d, 0x36, 0xc2, 0x77, 0x9b, 0xf7,
	0x0f, 0x36, 0x0a, 0x36, 0xc6, 0x43, 0x05, 0xba, 0x13, 0x6c, 0x1c, 0x1f, 0xcb, 0x76, 0x5e, 0x9a,
	0xeb, 0xcc, 0xe6, 0xf9, 0x6c, 0x61, 0xb1, 0xab, 0x40, 0xb7, 0x13, 0xd9, 0xdf, 0x34, 0xa2, 0xfe,
	0xd4, 0x89, 0x98, 0xca, 0xbc, 0x34, 0x5f, 0xb6, 0x7e, 0xd1, 0x91, 0xb2, 0xb0, 0x79, 0x71, 0xed,
	0x56, 0xd6, 0xcd, 0x2f, 0x3e, 0x3d, 0x56, 0x24, 0x9e, 0x2a, 0x12, 0xbf, 0x2a, 0x12, 0xcf, 0x15,
	0xc1, 0x4b, 0x45, 0xf0, 0x5a, 0x11, 0x3c, 0x78, 0x82, 0xef, 0x9e, 0xe0, 0x87, 0x27, 0xf8, 0xe9,
	0x09, 0x1e, 0x3d, 0xc1, 0x93, 0x27, 0xf1, 0xec, 0x09, 0xfe, 0x7a, 0x12, 0x2f, 0x9e, 0xe0, 0xd5,
	0x93, 0x78, 0xf8, 0x43, 0xc2, 0x34, 0xeb, 0x1a, 0xa5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x34,
	0x55, 0x0b, 0x2b, 0x98, 0x02, 0x00, 0x00,
}

func (this *Subby) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return OneDescription()
}
func (this *SampleOneOf) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	return OneDescription()
}
func OneDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
	d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
	var gzipped = []byte{
		// 4115 bytes of a gzipped FileDescriptorSet
		0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xe7,
		0x75, 0x26, 0xae, 0x04, 0x0e, 0x40, 0x70, 0xb9, 0xa4, 0x25, 0x88, 0x8e, 0x21, 0x89, 0xb6, 0x63,
		0xda, 0x8e, 0x29, 0x9b, 0x22, 0x75, 0x81, 0x9a, 0xb8, 0x20, 0x09, 0x51, 0x74, 0x49, 0x82, 0x59,
		0x90, 0xf1, 0x25, 0xd3, 0xd9, 0x59, 0x2c, 0x7e, 0x80, 0x2b, 0x2d, 0x76, 0x37, 0xbb, 0x0b, 0xc9,
		0xd4, 0xf4, 0x41, 0x1d, 0xf7, 0x32, 0x99, 0xde, 0x2f, 0x33, 0x75, 0x5c, 0xc7, 0x6d, 0xd2, 0x69,
		0x9c, 0xa6, 0xb7, 0xa4, 0x97, 0x34, 0x49, 0x5f, 0xfa, 0x92, 0xd6, 0x4f, 0x9d, 0xe4, 0xad, 0x0f,
		0x79, 0xb0, 0x18, 0xcf, 0x34, 0x6d, 0xdd, 0xd6, 0x6d, 0xf5, 0xe0, 0x19, 0xbf, 0x74, 0xfe, 0xdb,
		0xde, 0x00, 0x6a, 0xc1, 0xcc, 0xd8, 0x79, 0x12, 0xf7, 0x9c, 0xf3, 0x7d, 0x7b, 0xfe, 0xf3, 0x9f,
		0xff, 0xfc, 0xe7, 0xff, 0x17, 0x82, 0xb7, 0xaa, 0x70, 0xa6, 0x6b, 0x9a, 0x5d, 0x1d, 0x9d, 0xb3,
		0x6c, 0xd3, 0x35, 0x5b, 0xfd, 0xce, 0xb9, 0x36, 0x72, 0x54, 0x5b, 0xb3, 0x5c, 0xd3, 0x5e, 0x20,
		0x32, 0x71, 0x92, 0x5a, 0x2c, 0x70, 0x8b, 0xb9, 0x2d, 0x98, 0xba, 0xaa, 0xe9, 0x68, 0xcd, 0x33,
		0x6c, 0x22, 0x57, 0xbc, 0x04, 0xe9, 0x8e, 0xa6, 0xa3, 0x72, 0xe2, 0x4c, 0x6a, 0xbe, 0xb0, 0xf8,
		0xc8, 0x42, 0x04, 0xb4, 0x10, 0x46, 0xec, 0x60, 0xb1, 0x44, 0x10, 0x73, 0xef, 0xa4, 0x61, 0x7a,
		0x88, 0x56, 0x14, 0x21, 0x6d, 0x28, 0x3d, 0xcc, 0x98, 0x98, 0xcf, 0x4b, 0xe4, 0x6f, 0xb1, 0x0c,
		0xe3, 0x96, 0xa2, 0xde, 0x50, 0xba, 0xa8, 0x9c, 0x24, 0x62, 0xfe, 0x28, 0x56, 0x00, 0xda, 0xc8,
		0x42, 0x46, 0x1b, 0x19, 0xea, 0x41, 0x39, 0x75, 0x26, 0x35, 0x9f, 0x97, 0x02, 0x12, 0xf1, 0x49,
		0x98, 0xb2, 0xfa, 0x2d, 0x5d, 0x53, 0xe5, 0x80, 0x19, 0x9c, 0x49, 0xcd, 0x67, 0x24, 0x81, 0x2a,
		0xd6, 0x7c, 0xe3, 0xc7, 0x60, 0xf2, 0x16, 0x52, 0x6e, 0x04, 0x4d, 0x0b, 0xc4, 0xb4, 0x84, 0xc5,
		0x01, 0xc3, 0x55, 0x28, 0xf6, 0x90, 0xe3, 0x28, 0x5d, 0x24, 0xbb, 0x07, 0x16, 0x2a, 0xa7, 0xc9,
		0xe8, 0xcf, 0x0c, 0x8c, 0x3e, 0x3a, 0xf2, 0x02, 0x43, 0xed, 0x1e, 0x58, 0x48, 0xac, 0x41, 0x1e,
		0x19, 0xfd, 0x1e, 0x65, 0xc8, 0x1c, 0x11, 0xbf, 0xba, 0xd1, 0xef, 0x45, 0x59, 0x72, 0x18, 0xc6,
		0x28, 0xc6, 0x1d, 0x64, 0xdf, 0xd4, 0x54, 0x54, 0xce, 0x12, 0x82, 0xc7, 0x06, 0x08, 0x9a, 0x54,
		0x1f, 0xe5, 0xe0, 0x38, 0x71, 0x15, 0xf2, 0xe8, 0x65, 0x17, 0x19, 0x8e, 0x66, 0x1a, 0xe5, 0x71,
		0x42, 0xf2, 0xe8, 0x90, 0x59, 0x44, 0x7a, 0x3b, 0x4a, 0xe1, 0xe3, 0xc4, 0x0b, 0x30, 0x6e, 0x5a,
		0xae, 0x66, 0x1a, 0x4e, 0x39, 0x77, 0x26, 0x31, 0x5f, 0x58, 0xfc, 0xd8, 0xd0, 0x44, 0x68, 0x50,
		0x1b, 0x89, 0x1b, 0x8b, 0x1b, 0x20, 0x38, 0x66, 0xdf, 0x56, 0x91, 0xac, 0x9a, 0x6d, 0x24, 0x6b,
		0x46, 0xc7, 0x2c, 0xe7, 0x09, 0xc1, 0xe9, 0xc1, 0x81, 0x10, 0xc3, 0x55, 0xb3, 0x8d, 0x36, 0x8c,
		0x8e, 0x29, 0x95, 0x9c, 0xd0, 0xb3, 0x78, 0x02, 0xb2, 0xce, 0x81, 0xe1, 0x2a, 0x2f, 0x97, 0x8b,
		0x24, 0x43, 0xd8, 0xd3, 0xdc, 0xb7, 0xb3, 0x30, 0x39, 0x4a, 0x8a, 0x5d, 0x81, 0x4c, 0x07, 0x8f,
		0xb2, 0x9c, 0x3c, 0x4e, 0x0c, 0x28, 0x26, 0x1c, 0xc4, 0xec, 0x8f, 0x19, 0xc4, 0x1a, 0x14, 0x0c,
		0xe4, 0xb8, 0xa8, 0x4d, 0x33, 0x22, 0x35, 0x62, 0x4e, 0x01, 0x05, 0x0d, 0xa6, 0x54, 0xfa, 0xc7,
		0x4a, 0xa9, 0x17, 0x60, 0xd2, 0x73, 0x49, 0xb6, 0x15, 0xa3, 0xcb, 0x73, 0xf3, 0x5c, 0x9c, 0x27,
		0x0b, 0x75, 0x8e, 0x93, 0x30, 0x4c, 0x2a, 0xa1, 0xd0, 0xb3, 0xb8, 0x06, 0x60, 0x1a, 0xc8, 0xec,
		0xc8, 0x6d, 0xa4, 0xea, 0xe5, 0xdc, 0x11, 0x51, 0x6a, 0x60, 0x93, 0x81, 0x28, 0x99, 0x54, 0xaa,
		0xea, 0xe2, 0x65, 0x3f, 0xd5, 0xc6, 0x8f, 0xc8, 0x94, 0x2d, 0xba, 0xc8, 0x06, 0xb2, 0x6d, 0x0f,
		0x4a, 0x36, 0xc2, 0x79, 0x8f, 0xda, 0x6c, 0x64, 0x79, 0xe2, 0xc4, 0x42, 0xec, 0xc8, 0x24, 0x06,
		0xa3, 0x03, 0x9b, 0xb0, 0x83, 0x8f, 0xe2, 0xc3, 0xe0, 0x09, 0x64, 0x92, 0x56, 0x40, 0xaa, 0x50,
		0x91, 0x0b, 0xb7, 0x95, 0x1e, 0x9a, 0xbd, 0x0d, 0xa5, 0x70, 0x78, 0xc4, 0x19, 0xc8, 0x38, 0xae,
		0x62, 0xbb, 0x24, 0x0b, 0x33, 0x12, 0x7d, 0x10, 0x05, 0x48, 0x21, 0xa3, 0x4d, 0xaa, 0x5c, 0x46,
		0xc2, 0x7f, 0x8a, 0x3f, 0xed, 0x0f, 0x38, 0x45, 0x06, 0xfc, 0xf1, 0xc1, 0x19, 0x0d, 0x31, 0x47,
		0xc7, 0x3d, 0x7b, 0x11, 0x26, 0x42, 0x03, 0x18, 0xf5, 0xd5, 0x73, 0x3f, 0x07, 0x0f, 0x0c, 0xa5,
		0x16, 0x5f, 0x80, 0x99, 0xbe, 0xa1, 0x19, 0x2e, 0xb2, 0x2d, 0x1b, 0xe1, 0x8c, 0xa5, 0xaf, 0x2a,
		0xff, 0xeb, 0xf8, 0x11, 0x39, 0xb7, 0x17, 0xb4, 0xa6, 0x2c, 0xd2, 0x74, 0x7f, 0x50, 0xf8, 0x44,
		0x3e, 0xf7, 0xa3, 0x71, 0xe1, 0xce, 0x9d, 0x3b, 0x77, 0x92, 0x73, 0xaf, 0x66, 0x61, 0x66, 0xd8,
		0x9a, 0x19, 0xba, 0x7c, 0x4f, 0x40, 0xd6, 0xe8, 0xf7, 0x5a, 0xc8, 0x26, 0x41, 0xca, 0x48, 0xec,
		0x49, 0xac, 0x41, 0x46, 0x57, 0x5a, 0x48, 0x2f, 0xa7, 0xcf, 0x24, 0xe6, 0x4b, 0x8b, 0x4f, 0x8e,
		0xb4, 0x2a, 0x17, 0x36, 0x31, 0x44, 0xa2, 0x48, 0xf1, 0x53, 0x90, 0x66, 0x25, 0x1a, 0x33, 0x3c,
		0x31, 0x1a, 0x03, 0x5e, 0x4b, 0x12, 0xc1, 0x89, 0x0f, 0x42, 0x1e, 0xff, 0x4b, 0x73, 0x23, 0x4b,
		0x7c, 0xce, 0x61, 0x01, 0xce, 0x0b, 0x71, 0x16, 0x72, 0x64, 0x99, 0xb4, 0x11, 0xdf, 0xda, 0xbc,
		0x67, 0x9c, 0x58, 0x6d, 0xd4, 0x51, 0xfa, 0xba, 0x2b, 0xdf, 0x54, 0xf4, 0x3e, 0x22, 0x09, 0x9f,
		0x97, 0x8a, 0x4c, 0xf8, 0x19, 0x2c, 0x13, 0x4f, 0x43, 0x81, 0xae, 0x2a, 0xcd, 0x68, 0xa3, 0x97,
		0x49, 0xf5, 0xcc, 0x48, 0x74, 0xa1, 0x6d, 0x60, 0x09, 0x7e, 0xfd, 0x75, 0xc7, 0x34, 0x78, 0x6a,
		0x92, 0x57, 0x60, 0x01, 0x79, 0xfd, 0xc5, 0x68, 0xe1, 0x7e, 0x68, 0xf8, 0xf0, 0xa2, 0x39, 0x35,
		0xf7, 0xcd, 0x24, 0xa4, 0x49, 0xbd, 0x98, 0x84, 0xc2, 0xee, 0x8b, 0x3b, 0x75, 0x79, 0xad, 0xb1,
		0xb7, 0xb2, 0x59, 0x17, 0x12, 0x62, 0x09, 0x80, 0x08, 0xae, 0x6e, 0x36, 0x6a, 0xbb, 0x42, 0xd2,
		0x7b, 0xde, 0xd8, 0xde, 0xbd, 0xb0, 0x24, 0xa4, 0x3c, 0xc0, 0x1e, 0x15, 0xa4, 0x83, 0x06, 0xe7,
		0x17, 0x85, 0x8c, 0x28, 0x40, 0x91, 0x12, 0x6c, 0xbc, 0x50, 0x5f, 0xbb, 0xb0, 0x24, 0x64, 0xc3,
		0x92, 0xf3, 0x8b, 0xc2, 0xb8, 0x38, 0x01, 0x79, 0x22, 0x59, 0x69, 0x34, 0x36, 0x85, 0x9c, 0xc7,
		0xd9, 0xdc, 0x95, 0x36, 0xb6, 0xd7, 0x85, 0xbc, 0xc7, 0xb9, 0x2e, 0x35, 0xf6, 0x76, 0x04, 0xf0,
		0x18, 0xb6, 0xea, 0xcd, 0x66, 0x6d, 0xbd, 0x2e, 0x14, 0x3c, 0x8b, 0x95, 0x17, 0x77, 0xeb, 0x4d,
		0xa1, 0x18, 0x72, 0xeb, 0xfc, 0xa2, 0x30, 0xe1, 0xbd, 0xa2, 0xbe, 0xbd, 0xb7, 0x25, 0x94, 0xc4,
		0x29, 0x98, 0xa0, 0xaf, 0xe0, 0x4e, 0x4c, 0x46, 0x44, 0x17, 0x96, 0x04, 0xc1, 0x77, 0x84, 0xb2,
		0x4c, 0x85, 0x04, 0x17, 0x96, 0x04, 0x71, 0x6e, 0x15, 0x32, 0x24, 0xbb, 0x44, 0x11, 0x4a, 0x9b,
		0xb5, 0x95, 0xfa, 0xa6, 0xdc, 0xd8, 0xd9, 0xdd, 0x68, 0x6c, 0xd7, 0x36, 0x85, 0x84, 0x2f, 0x93,
		0xea, 0x9f, 0xde, 0xdb, 0x90, 0xea, 0x6b, 0x42, 0x32, 0x28, 0xdb, 0xa9, 0xd7, 0x76, 0xeb, 0x6b,
		0x42, 0x6a, 0x4e, 0x85, 0x99, 0x61, 0x75, 0x72, 0xe8, 0xca, 0x08, 0x4c, 0x71, 0xf2, 0x88, 0x29,
		0x26, 0x5c, 0x03, 0x53, 0xfc, 0xc3, 0x24, 0x4c, 0x0f, 0xd9, 0x2b, 0x86, 0xbe, 0xe4, 0x59, 0xc8,
		0xd0, 0x14, 0xa5, 0xbb, 0xe7, 0xe3, 0x43, 0x37, 0x1d, 0x92, 0xb0, 0x03, 0x3b, 0x28, 0xc1, 0x05,
		0x3b, 0x88, 0xd4, 0x11, 0x1d, 0x04, 0xa6, 0x18, 0xa8, 0xe9, 0x3f, 0x3b, 0x50, 0xd3, 0xe9, 0xb6,
		0x77, 0x61, 0x94, 0x6d, 0x8f, 0xc8, 0x8e, 0x57, 0xdb, 0x33, 0x43, 0x6a, 0xfb, 0x15, 0x98, 0x1a,
		0x20, 0x1a, 0xb9, 0xc6, 0xbe, 0x92, 0x80, 0xf2, 0x51, 0xc1, 0x89, 0xa9, 0x74, 0xc9, 0x50, 0xa5,
		0xbb, 0x12, 0x8d, 0xe0, 0xd9, 0xa3, 0x27, 0x61, 0x60, 0xae, 0xdf, 0x4c, 0xc0, 0x89, 0xe1, 0x9d,
		0xe2, 0x50, 0x1f, 0x3e, 0x05, 0xd9, 0x1e, 0x72, 0xf7, 0x4d, 0xde, 0x2d, 0x7d, 0x7c, 0xc8, 0x1e,
		0x8c, 0xd5, 0xd1, 0xc9, 0x66, 0xa8, 0xe0, 0x26, 0x9e, 0x3a, 0xaa, 0xdd, 0xa3, 0xde, 0x0c, 0x78,
		0xfa, 0xf9, 0x24, 0x3c, 0x30, 0x94, 0x7c, 0xa8, 0xa3, 0x0f, 0x01, 0x68, 0x86, 0xd5, 0x77, 0x69,
		0x47, 0x44, 0x0b, 0x6c, 0x9e, 0x48, 0x48, 0xf1, 0xc2, 0xc5, 0xb3, 0xef, 0x7a, 0xfa, 0x14, 0xd1,
		0x03, 0x15, 0x11, 0x83, 0x4b, 0xbe, 0xa3, 0x69, 0xe2, 0x68, 0xe5, 0x88, 0x91, 0x0e, 0x24, 0xe6,
		0xd3, 0x20, 0xa8, 0xba, 0x86, 0x0c, 0x57, 0x76, 0x5c, 0x1b, 0x29, 0x3d, 0xcd, 0xe8, 0x92, 0x1d,
		0x24, 0x57, 0xcd, 0x74, 0x14, 0xdd, 0x41, 0xd2, 0x24, 0x55, 0x37, 0xb9, 0x16, 0x23, 0x48, 0x02,
		0xd9, 0x01, 0x44, 0x36, 0x84, 0xa0, 0x6a, 0x0f, 0x31, 0xf7, 0xab, 0x79, 0x28, 0x04, 0xfa, 0x6a,
		0xf1, 0x2c, 0x14, 0xaf, 0x2b, 0x37, 0x15, 0x99, 0x9f, 0x95, 0x68, 0x24, 0x0a, 0x58, 0xb6, 0xc3,
		0xce, 0x4b, 0x4f, 0xc3, 0x0c, 0x31, 0x31, 0xfb, 0x2e, 0xb2, 0x65, 0x55, 0x57, 0x1c, 0x87, 0x04,
		0x2d, 0x47, 0x4c, 0x45, 0xac, 0x6b, 0x60, 0xd5, 0x2a, 0xd7, 0x88, 0xcb, 0x30, 0x4d, 0x10, 0xbd,
		0xbe, 0xee, 0x6a, 0x96, 0x8e, 0x64, 0x7c, 0x7a, 0x73, 0xc8, 0x4e, 0xe2, 0x79, 0x36, 0x85, 0x2d,
		0xb6, 0x98, 0x01, 0xf6, 0xc8, 0x11, 0xd7, 0xe0, 0x21, 0x02, 0xeb, 0x22, 0x03, 0xd9, 0x8a, 0x8b,
		0x64, 0xf4, 0xb9, 0xbe, 0xa2, 0x3b, 0xb2, 0x62, 0xb4, 0xe5, 0x7d, 0xc5, 0xd9, 0x2f, 0xcf, 0x60,
		0x82, 0x95, 0x64, 0x39, 0x21, 0x9d, 0xc2, 0x86, 0xeb, 0xcc, 0xae, 0x4e, 0xcc, 0x6a, 0x46, 0xfb,
		0x9a, 0xe2, 0xec, 0x8b, 0x55, 0x38, 0x41, 0x58, 0x1c, 0xd7, 0xd6, 0x8c, 0xae, 0xac, 0xee, 0x23,
		0xf5, 0x86, 0xdc, 0x77, 0x3b, 0x97, 0xca, 0x0f, 0x06, 0xdf, 0x4f, 0x3c, 0x6c, 0x12, 0x9b, 0x55,
		0x6c, 0xb2, 0xe7, 0x76, 0x2e, 0x89, 0x4d, 0x28, 0xe2, 0xc9, 0xe8, 0x69, 0xb7, 0x91, 0xdc, 0x31,
		0x6d, 0xb2, 0x35, 0x96, 0x86, 0x94, 0xa6, 0x40, 0x04, 0x17, 0x1a, 0x0c, 0xb0, 0x65, 0xb6, 0x51,
		0x35, 0xd3, 0xdc, 0xa9, 0xd7, 0xd7, 0xa4, 0x02, 0x67, 0xb9, 0x6a, 0xda, 0x38, 0xa1, 0xba, 0xa6,
		0x17, 0xe0, 0x02, 0x4d, 0xa8, 0xae, 0xc9, 0xc3, 0xbb, 0x0c, 0xd3, 0xaa, 0x4a, 0xc7, 0xac, 0xa9,
		0x32, 0x3b, 0x63, 0x39, 0x65, 0x21, 0x14, 0x2c, 0x55, 0x5d, 0xa7, 0x06, 0x2c, 0xc7, 0x1d, 0xf1,
		0x32, 0x3c, 0xe0, 0x07, 0x2b, 0x08, 0x9c, 0x1a, 0x18, 0x65, 0x14, 0xba, 0x0c, 0xd3, 0xd6, 0xc1,
		0x20, 0x50, 0x0c, 0xbd, 0xd1, 0x3a, 0x88, 0xc2, 0x2e, 0xc2, 0x8c, 0xb5, 0x6f, 0x0d, 0xe2, 0x9e,
		0x08, 0xe2, 0x44, 0x6b, 0xdf, 0x8a, 0x02, 0x1f, 0x25, 0x07, 0x6e, 0x1b, 0xa9, 0x8a, 0x8b, 0xda,
		0xe5, 0x93, 0x41, 0xf3, 0x80, 0x42, 0x3c, 0x07, 0x82, 0xaa, 0xca, 0xc8, 0x50, 0x5a, 0x3a, 0x92,
		0x15, 0x1b, 0x19, 0x8a, 0x53, 0x3e, 0x1d, 0x34, 0x2e, 0xa9, 0x6a, 0x9d, 0x68, 0x6b, 0x44, 0x29,
		0x3e, 0x01, 0x53, 0x66, 0xeb, 0xba, 0x4a, 0x53, 0x52, 0xb6, 0x6c, 0xd4, 0xd1, 0x5e, 0x2e, 0x3f,
		0x42, 0xe2, 0x3b, 0x89, 0x15, 0x24, 0x21, 0x77, 0x88, 0x58, 0x7c, 0x1c, 0x04, 0xd5, 0xd9, 0x57,
		0x6c, 0x8b, 0xd4, 0x64, 0xc7, 0x52, 0x54, 0x54, 0x7e, 0x94, 0x9a, 0x52, 0xf9, 0x36, 0x17, 0xe3,
		0x25, 0xe1, 0xdc, 0xd2, 0x3a, 0x2e, 0x67, 0x7c, 0x8c, 0x2e, 0x09, 0x22, 0x63, 0x6c, 0xf3, 0x20,
		0xe0, 0x50, 0x84, 0x5e, 0x3c, 0x4f, 0xcc, 0x4a, 0xd6, 0xbe, 0x15, 0x7c, 0xef, 0xc3, 0x30, 0x81,
		0x2d, 0xfd, 0x97, 0x3e, 0x4e, 0x1b, 0x32, 0x6b, 0x3f, 0xf0, 0xc6, 0x25, 0x38, 0x81, 0x8d, 0x7a,
		0xc8, 0x55, 0xda, 0x8a, 0xab, 0x04, 0xac, 0x3f, 0x41, 0xac, 0x71, 0xdc, 0xb7, 0x98, 0x32, 0xe4,
		0xa7, 0xdd, 0x6f, 0x1d, 0x78, 0x99, 0xf5, 0x14, 0xf5, 0x13, 0xcb, 0x78, 0x6e, 0x7d, 0x68, 0x4d,
		0xf7, 0x5c, 0x15, 0x8a, 0xc1, 0xc4, 0x17, 0xf3, 0x40, 0x53, 0x5f, 0x48, 0xe0, 0x2e, 0x68, 0xb5,
		0xb1, 0x86, 0xfb, 0x97, 0x97, 0xea, 0x42, 0x12, 0xf7, 0x51, 0x9b, 0x1b, 0xbb, 0x75, 0x59, 0xda,
		0xdb, 0xde, 0xdd, 0xd8, 0xaa, 0x0b, 0xa9, 0x60, 0xc3, 0xfe, 0xdd, 0x24, 0x94, 0xc2, 0x67, 0x2f,
		0xf1, 0xa7, 0xe0, 0x24, 0xbf, 0x28, 0x71, 0x90, 0x2b, 0xdf, 0xd2, 0x6c, 0xb2, 0x16, 0x7b, 0x0a,
		0xdd, 0x17, 0xbd, 0x6c, 0x98, 0x61, 0x56, 0x4d, 0xe4, 0x3e, 0xaf, 0xd9, 0x78, 0xa5, 0xf5, 0x14,
		0x57, 0xdc, 0x84, 0xd3, 0x86, 0x29, 0x3b, 0xae, 0x62, 0xb4, 0x15, 0xbb, 0x2d, 0xfb, 0x57, 0x54,
		0xb2, 0xa2, 0xaa, 0xc8, 0x71, 0x4c, 0xba, 0x07, 0x7a, 0x2c, 0x1f, 0x33, 0xcc, 0x26, 0x33, 0xf6,
		0x37, 0x87, 0x1a, 0x33, 0x8d, 0x64, 0x6e, 0xea, 0xa8, 0xcc, 0x7d, 0x10, 0xf2, 0x3d, 0xc5, 0x92,
		0x91, 0xe1, 0xda, 0x07, 0xa4, 0xe3, 0xce, 0x49, 0xb9, 0x9e, 0x62, 0xd5, 0xf1, 0xf3, 0x47, 0x73,
		0xf0, 0xf9, 0x41, 0x0a, 0x8a, 0xc1, 0xae, 0x1b, 0x1f, 0x62, 0x54, 0xb2, 0x41, 0x25, 0x48, 0x09,
		0x7b, 0xf8, 0xbe, 0x3d, 0xfa, 0xc2, 0x2a, 0xde, 0xb9, 0xaa, 0x59, 0xda, 0x0b, 0x4b, 0x14, 0x89,
		0xbb, 0x06, 0x9c, 0x5a, 0x88, 0xf6, 0x1e, 0x39, 0x89, 0x3d, 0x89, 0xeb, 0x90, 0xbd, 0xee, 0x10,
		0xee, 0x2c, 0xe1, 0x7e, 0xe4, 0xfe, 0xdc, 0xcf, 0x35, 0x09, 0x79, 0xfe, 0xb9, 0xa6, 0xbc, 0xdd,
		0x90, 0xb6, 0x6a, 0x9b, 0x12, 0x83, 0x8b, 0xa7, 0x20, 0xad, 0x2b, 0xb7, 0x0f, 0xc2, 0x7b, 0x1c,
		0x11, 0x8d, 0x1a, 0xf8, 0x53, 0x90, 0xbe, 0x85, 0x94, 0x1b, 0xe1, 0x9d, 0x85, 0x88, 0x3e, 0xc4,
		0xd4, 0x3f, 0x07, 0x19, 0x12, 0x2f, 0x11, 0x80, 0x45, 0x4c, 0x18, 0x13, 0x73, 0x90, 0x5e, 0x6d,
		0x48, 0x38, 0xfd, 0x05, 0x28, 0x52, 0xa9, 0xbc, 0xb3, 0x51, 0x5f, 0xad, 0x0b, 0xc9, 0xb9, 0x65,
		0xc8, 0xd2, 0x20, 0xe0, 0xa5, 0xe1, 0x85, 0x41, 0x18, 0x63, 0x8f, 0x8c, 0x23, 0xc1, 0xb5, 0x7b,
		0x5b, 0x2b, 0x75, 0x49, 0x48, 0x06, 0xa7, 0xd7, 0x81, 0x62, 0xb0, 0xe1, 0xfe, 0x68, 0x72, 0xea,
		0x3b, 0x09, 0x28, 0x04, 0x1a, 0x68, 0xdc, 0xf9, 0x28, 0xba, 0x6e, 0xde, 0x92, 0x15, 0x5d, 0x53,
		0x1c, 0x96, 0x14, 0x40, 0x44, 0x35, 0x2c, 0x19, 0x75, 0xd2, 0x3e, 0x12, 0xe7, 0xdf, 0x48, 0x80,
		0x10, 0xed, 0x5d, 0x23, 0x0e, 0x26, 0x7e, 0xa2, 0x0e, 0xbe, 0x9e, 0x80, 0x52, 0xb8, 0x61, 0x8d,
		0xb8, 0x77, 0xf6, 0x27, 0xea, 0xde, 0xdb, 0x49, 0x98, 0x08, 0xb5, 0xa9, 0xa3, 0x7a, 0xf7, 0x39,
		0x98, 0xd2, 0xda, 0xa8, 0x67, 0x99, 0x2e, 0x32, 0xd4, 0x03, 0x59, 0x47, 0x37, 0x91, 0x5e, 0x9e,
		0x23, 0x85, 0xe2, 0xdc, 0xfd, 0x1b, 0xe1, 0x85, 0x0d, 0x1f, 0xb7, 0x89, 0x61, 0xd5, 0xe9, 0x8d,
		0xb5, 0xfa, 0xd6, 0x4e, 0x63, 0xb7, 0xbe, 0xbd, 0xfa, 0xa2, 0xbc, 0xb7, 0xfd, 0x33, 0xdb, 0x8d,
		0xe7, 0xb7, 0x25, 0x41, 0x8b, 0x98, 0x7d, 0x88, 0x4b, 0x7d, 0x07, 0x84, 0xa8, 0x53, 0xe2, 0x49,
		0x18, 0xe6, 0x96, 0x30, 0x26, 0x4e, 0xc3, 0xe4, 0x76, 0x43, 0x6e, 0x6e, 0xac, 0xd5, 0xe5, 0xfa,
		0xd5, 0xab, 0xf5, 0xd5, 0xdd, 0x26, 0xbd, 0xda, 0xf0, 0xac, 0x77, 0xc3, 0x8b, 0xfa, 0xb5, 0x14,
		0x4c, 0x0f, 0xf1, 0x44, 0xac, 0xb1, 0x43, 0x09, 0x3d, 0x27, 0x3d, 0x35, 0x8a, 0xf7, 0x0b, 0xb8,
		0x2b, 0xd8, 0x51, 0x6c, 0x97, 0x9d, 0x61, 0x1e, 0x07, 0x1c, 0x25, 0xc3, 0xd5, 0x3a, 0x1a, 0xb2,
		0xd9, 0x4d, 0x10, 0x3d, 0xa9, 0x4c, 0xfa, 0x72, 0x7a, 0x19, 0xf4, 0x09, 0x10, 0x2d, 0xd3, 0xd1,
		0x5c, 0xed, 0x26, 0x92, 0x35, 0x83, 0x5f, 0x1b, 0xe1, 0x93, 0x4b, 0x5a, 0x12, 0xb8, 0x66, 0xc3,
		0x70, 0x3d, 0x6b, 0x03, 0x75, 0x95, 0x88, 0x35, 0x2e, 0xe0, 0x29, 0x49, 0xe0, 0x1a, 0xcf, 0xfa,
		0x2c, 0x14, 0xdb, 0x66, 0x1f, 0xb7, 0x73, 0xd4, 0x0e, 0xef, 0x17, 0x09, 0xa9, 0x40, 0x65, 0x9e,
		0x09, 0x6b, 0xd4, 0xfd, 0xfb, 0xaa, 0xa2, 0x54, 0xa0, 0x32, 0x6a, 0xf2, 0x18, 0x4c, 0x2a, 0xdd,
		0xae, 0x8d, 0xc9, 0x39, 0x11, 0x3d, 0x7a, 0x94, 0x3c, 0x31, 0x31, 0x9c, 0x7d, 0x0e, 0x72, 0x3c,
		0x0e, 0x78, 0x4b, 0xc6, 0x91, 0x90, 0x2d, 0x7a, 0x9e, 0x4e, 0xce, 0xe7, 0xa5, 0x9c, 0xc1, 0x95,
		0x67, 0xa1, 0xa8, 0x39, 0xb2, 0x7f, 0xfd, 0x9e, 0x3c, 0x93, 0x9c, 0xcf, 0x49, 0x05, 0xcd, 0xf1,
		0xae, 0x2e, 0xe7, 0xde, 0x4c, 0x42, 0x29, 0xfc, 0xf9, 0x40, 0x5c, 0x83, 0x9c, 0x6e, 0xaa, 0x0a,
		0x49, 0x2d, 0xfa, 0xed, 0x6a, 0x3e, 0xe6, 0x8b, 0xc3, 0xc2, 0x26, 0xb3, 0x97, 0x3c, 0xe4, 0xec,
		0x3f, 0x27, 0x20, 0xc7, 0xc5, 0xe2, 0x09, 0x48, 0x5b, 0x8a, 0xbb, 0x4f, 0xe8, 0x32, 0x2b, 0x49,
		0x21, 0x21, 0x91, 0x67, 0x2c, 0x77, 0x2c, 0xc5, 0x20, 0x29, 0xc0, 0xe4, 0xf8, 0x19, 0xcf, 0xab,
		0x8e, 0x94, 0x36, 0x39, 0xd7, 0x98, 0xbd, 0x1e, 0x32, 0x5c, 0x87, 0xcf, 0x2b, 0x93, 0xaf, 0x32,
		0xb1, 0xf8, 0x24, 0x4c, 0xb9, 0xb6, 0xa2, 0xe9, 0x21, 0xdb, 0x34, 0xb1, 0x15, 0xb8, 0xc2, 0x33,
		0xae, 0xc2, 0x29, 0xce, 0xdb, 0x46, 0xae, 0xa2, 0xee, 0xa3, 0xb6, 0x0f, 0xca, 0x92, 0xfb, 0x8b,
		0x93, 0xcc, 0x60, 0x8d, 0xe9, 0x39, 0x76, 0xee, 0xfb, 0x09, 0x98, 0xe2, 0x27, 0xb1, 0xb6, 0x17,
		0xac, 0x2d, 0x00, 0xc5, 0x30, 0x4c, 0x37, 0x18, 0xae, 0xc1, 0x54, 0x1e, 0xc0, 0x2d, 0xd4, 0x3c,
		0x90, 0x14, 0x20, 0x98, 0xed, 0x01, 0xf8, 0x9a, 0x23, 0xc3, 0x76, 0x1a, 0x0a, 0xec, 0xdb, 0x10,
		0xf9, 0xc0, 0x48, 0xcf, 0xee, 0x40, 0x45, 0xf8, 0xc8, 0x26, 0xce, 0x40, 0xa6, 0x85, 0xba, 0x9a,
		0xc1, 0x6e, 0x7c, 0xe9, 0x03, 0xbf, 0x61, 0x49, 0x7b, 0x37, 0x2c, 0x2b, 0x9f, 0x85, 0x69, 0xd5,
		0xec, 0x45, 0xdd, 0x5d, 0x11, 0x22, 0xf7, 0x07, 0xce, 0xb5, 0xc4, 0x4b, 0xe0, 0xb7, 0x98, 0xef,
		0x27, 0x12, 0x5f, 0x4e, 0xa6, 0xd6, 0x77, 0x56, 0xbe, 0x96, 0x9c, 0x5d, 0xa7, 0xd0, 0x1d, 0x3e,
		0x52, 0x09, 0x75, 0x74, 0xa4, 0x62, 0xef, 0xe1, 0x2b, 0x4f, 0xc2, 0x53, 0x5d, 0xcd, 0xdd, 0xef,
		0xb7, 0x16, 0x54, 0xb3, 0x77, 0xae, 0x6b, 0x76, 0x4d, 0xff, 0x9b, 0x2a, 0x7e, 0x22, 0x0f, 0xe4,
		0x2f, 0xf6, 0x5d, 0x35, 0xef, 0x49, 0x67, 0x63, 0x3f, 0xc2, 0x56, 0xb7, 0x61, 0x9a, 0x19, 0xcb,
		0xe4, 0xc3, 0x0e, 0x3d, 0x9e, 0x88, 0xf7, 0xbd, 0x1c, 0x2b, 0x7f, 0xe3, 0x1d, 0xb2, 0x5d, 0x4b,
		0x53, 0x0c, 0x8a, 0x75, 0xf4, 0x04, 0x53, 0x95, 0xe0, 0x81, 0x10, 0x1f, 0x5d, 0x9a, 0xc8, 0x8e,
		0x61, 0xfc, 0x2e, 0x63, 0x9c, 0x0e, 0x30, 0x36, 0x19, 0xb4, 0xba, 0x0a, 0x13, 0xc7, 0xe1, 0xfa,
		0x47, 0xc6, 0x55, 0x44, 0x41, 0x92, 0x75, 0x98, 0x24, 0x24, 0x6a, 0xdf, 0x71, 0xcd, 0x1e, 0xa9,
		0x7b, 0xf7, 0xa7, 0xf9, 0xa7, 0x77, 0xe8, 0x5a, 0x29, 0x61, 0xd8, 0xaa, 0x87, 0xaa, 0x56, 0x81,
		0x7c, 0xcb, 0x6a, 0x23, 0x55, 0x8f, 0x61, 0x78, 0x8b, 0x39, 0xe2, 0xd9, 0x57, 0x3f, 0x03, 0x33,
		0xf8, 0x6f, 0x52, 0x96, 0x82, 0x9e, 0xc4, 0xdf, 0xa4, 0x95, 0xbf, 0xff, 0x0a, 0x5d, 0x8e, 0xd3,
		0x1e, 0x41, 0xc0, 0xa7, 0xc0, 0x2c, 0x76, 0x91, 0xeb, 0x22, 0xdb, 0x91, 0x15, 0x7d, 0x98, 0x7b,
		0x81, 0xab, 0x88, 0xf2, 0x17, 0xde, 0x0d, 0xcf, 0xe2, 0x3a, 0x45, 0xd6, 0x74, 0xbd, 0xba, 0x07,
		0x27, 0x87, 0x64, 0xc5, 0x08, 0x9c, 0xaf, 0x31, 0xce, 0x99, 0x81, 0xcc, 0xc0, 0xb4, 0x3b, 0xc0,
		0xe5, 0xde, 0x5c, 0x8e, 0xc0, 0xf9, 0xfb, 0x8c, 0x53, 0x64, 0x58, 0x3e, 0xa5, 0x98, 0xf1, 0x39,
		0x98, 0xba, 0x89, 0xec, 0x96, 0xe9, 0xb0, 0xeb, 0x9f, 0x11, 0xe8, 0x5e, 0x67, 0x74, 0x93, 0x0c,
		0x48, 0xee, 0x83, 0x30, 0xd7, 0x65, 0xc8, 0x75, 0x14, 0x15, 0x8d, 0x40, 0xf1, 0x45, 0x46, 0x31,
		0x8e, 0xed, 0x31, 0xb4, 0x06, 0xc5, 0xae, 0xc9, 0x76, 0xa6, 0x78, 0xf8, 0x1b, 0x0c, 0x5e, 0xe0,
		0x18, 0x46, 0x61, 0x99, 0x56, 0x5f, 0xc7, 0xdb, 0x56, 0x3c, 0xc5, 0x1f, 0x70, 0x0a, 0x8e, 0x61,
		0x14, 0xc7, 0x08, 0xeb, 0x1f, 0x72, 0x0a, 0x27, 0x10, 0xcf, 0x67, 0xa1, 0x60, 0x1a, 0xfa, 0x81,
		0x69, 0x8c, 0xe2, 0xc4, 0x97, 0x18, 0x03, 0x30, 0x08, 0x26, 0xb8, 0x02, 0xf9, 0x51, 0x27, 0xe2,
		0x8f, 0xdf, 0xe5, 0xcb, 0x83, 0xcf, 0xc0, 0x3a, 0x4c, 0xf2, 0x02, 0xa5, 0x99, 0xc6, 0x08, 0x14,
		0x5f, 0x61, 0x14, 0xa5, 0x00, 0x8c, 0x0d, 0xc3, 0x45, 0x8e, 0xdb, 0x45, 0xa3, 0x90, 0xbc, 0xc9,
		0x87, 0xc1, 0x20, 0x2c, 0x94, 0x2d, 0x64, 0xa8, 0xfb, 0xa3, 0x31, 0x7c, 0x95, 0x87, 0x92, 0x63,
		0x30, 0xc5, 0x2a, 0x4c, 0xf4, 0x14, 0xdb, 0xd9, 0x57, 0xf4, 0x91, 0xa6, 0xe3, 0x4f, 0x18, 0x47,
		0xd1, 0x03, 0xb1, 0x88, 0xf4, 0x8d, 0xe3, 0xd0, 0x7c, 0x8d, 0x47, 0x24, 0x00, 0x63, 0x4b, 0xcf,
		0x71, 0xc9, 0x5d, 0xd9, 0x71, 0xd8, 0xfe, 0x94, 0x2f, 0x3d, 0x8a, 0xdd, 0x0a, 0x32, 0x5e, 0x81,
		0xbc, 0xa3, 0xdd, 0x1e, 0x89, 0xe6, 0xcf, 0xf8, 0x4c, 0x13, 0x00, 0x06, 0xbf, 0x08, 0xa7, 0x86,
		0x6e, 0x13, 0x23, 0x90, 0xfd, 0x39, 0x23, 0x3b, 0x31, 0x64, 0xab, 0x60, 0x25, 0xe1, 0xb8, 0x94,
		0x7f, 0xc1, 0x4b, 0x02, 0x8a, 0x70, 0xed, 0xe0, 0xb3, 0x82, 0xa3, 0x74, 0x8e, 0x17, 0xb5, 0xbf,
		0xe4, 0x51, 0xa3, 0xd8, 0x50, 0xd4, 0x76, 0xe1, 0x04, 0x63, 0x3c, 0xde, 0xbc, 0x7e, 0x9d, 0x17,
		0x56, 0x8a, 0xde, 0x0b, 0xcf, 0xee, 0x67, 0x61, 0xd6, 0x0b, 0x27, 0x6f, 0x4a, 0x1d, 0xb9, 0xa7,
		0x58, 0x23, 0x30, 0x7f, 0x83, 0x31, 0xf3, 0x8a, 0xef, 0x75, 0xb5, 0xce, 0x96, 0x62, 0x61, 0xf2,
		0x17, 0xa0, 0xcc, 0xc9, 0xfb, 0x86, 0x8d, 0x54, 0xb3, 0x6b, 0x68, 0xb7, 0x51, 0x7b, 0x04, 0xea,
		0xbf, 0x8a, 0x4c, 0xd5, 0x5e, 0x00, 0x8e, 0x99, 0x37, 0x40, 0xf0, 0x7a, 0x15, 0x59, 0xeb, 0x59,
		0xa6, 0xed, 0xc6, 0x30, 0xfe, 0x35, 0x9f, 0x29, 0x0f, 0xb7, 0x41, 0x60, 0xd5, 0x3a, 0x94, 0xc8,
		0xe3, 0xa8, 0x29, 0xf9, 0x37, 0x8c, 0x68, 0xc2, 0x47, 0xb1, 0xc2, 0xa1, 0x9a, 0x3d, 0x4b, 0xb1,
		0x47, 0xa9, 0x7f, 0x7f, 0xcb, 0x0b, 0x07, 0x83, 0xb0, 0xc2, 0xe1, 0x1e, 0x58, 0x08, 0xef, 0xf6,
		0x23, 0x30, 0x7c, 0x93, 0x17, 0x0e, 0x8e, 0x61, 0x14, 0xbc, 0x61, 0x18, 0x81, 0xe2, 0xef, 0x38,
		0x05, 0xc7, 0x60, 0x8a, 0x4f, 0xfb, 0x1b, 0xad, 0x8d, 0xba, 0x9a, 0xe3, 0xda, 0xb4, 0x15, 0xbe,
		0x3f, 0xd5, 0xb7, 0xde, 0x0d, 0x37, 0x61, 0x52, 0x00, 0x8a, 0x2b, 0x11, 0xbb, 0x42, 0x25, 0x27,
		0xa5, 0x78, 0xc7, 0xbe, 0xcd, 0x2b, 0x51, 0x00, 0x86, 0x7d, 0x0b, 0x74, 0x88, 0x38, 0xec, 0x2a,
		0x3e, 0x1f, 0x8c, 0x40, 0xf7, 0x9d, 0x88, 0x73, 0x4d, 0x8e, 0xc5, 0x9c, 0x81, 0xfe, 0xa7, 0x6f,
		0xdc, 0x40, 0x07, 0x23, 0x65, 0xe7, 0xdf, 0x47, 0xfa, 0x9f, 0x3d, 0x8a, 0xa4, 0x35, 0x64, 0x32,
		0xd2, 0x4f, 0x89, 0x71, 0xbf, 0x02, 0x2a, 0xff, 0xfc, 0x3d, 0x36, 0xde, 0x70, 0x3b, 0x55, 0xdd,
		0xc4, 0x49, 0x1e, 0x6e, 0x7a, 0xe2, 0xc9, 0x5e, 0xb9, 0xe7, 0xe5, 0x79, 0xa8, 0xe7, 0xa9, 0x5e,
		0x85, 0x89, 0x50, 0xc3, 0x13, 0x4f, 0xf5, 0x0b, 0x8c, 0xaa, 0x18, 0xec, 0x77, 0xaa, 0xcb, 0x90,
		0xc6, 0xcd, 0x4b, 0x3c, 0xfc, 0x17, 0x19, 0x9c, 0x98, 0x57, 0x3f, 0x09, 0x39, 0xde, 0xb4, 0xc4,
		0x43, 0x7f, 0x89, 0x41, 0x3d, 0x08, 0x86, 0xf3, 0x86, 0x25, 0x1e, 0xfe, 0xcb, 0x1c, 0xce, 0x21,
		0x18, 0x3e, 0x7a, 0x08, 0xff, 0xe1, 0x57, 0xd2, 0x6c, 0xd3, 0xe1, 0xb1, 0xbb, 0x02, 0xe3, 0xac,
		0x53, 0x89, 0x47, 0x7f, 0x9e, 0xbd, 0x9c, 0x23, 0xaa, 0x17, 0x21, 0x33, 0x62, 0xc0, 0x7f, 0x8d,
		0x41, 0xa9, 0x7d, 0x75, 0x15, 0x0a, 0x81, 0xee, 0x24, 0x1e, 0xfe, 0xeb, 0x0c, 0x1e, 0x44, 0x61,
		0xd7, 0x59, 0x77, 0x12, 0x4f, 0xf0, 0x1b, 0xdc, 0x75, 0x86, 0xc0, 0x61, 0xe3, 0x8d, 0x49, 0x3c,
		0xfa, 0x37, 0x79, 0xd4, 0x39, 0xa4, 0xfa, 0x2c, 0xe4, 0xbd, 0xcd, 0x26, 0x1e, 0xff, 0x5b, 0x0c,
		0xef, 0x63, 0x70, 0x04, 0x02, 0x9b, 0x5d, 0x3c, 0xc5, 0x6f, 0xf3, 0x08, 0x04, 0x50, 0x78, 0x19,
		0x45, 0x1b, 0x98, 0x78, 0xa6, 0xdf, 0xe1, 0xcb, 0x28, 0xd2, 0xbf, 0xe0, 0xd9, 0x24, 0x35, 0x3f,
		0x9e, 0xe2, 0x77, 0xf9, 0x6c, 0x12, 0x7b, 0xec, 0x46, 0xb4, 0x23, 0x88, 0xe7, 0xf8, 0x3d, 0xee,
		0x46, 0xa4, 0x21, 0xa8, 0xee, 0x80, 0x38, 0xd8, 0x0d, 0xc4, 0xf3, 0xbd, 0xca, 0xf8, 0xa6, 0x06,
		0x9a, 0x81, 0xea, 0xf3, 0x70, 0x62, 0x78, 0x27, 0x10, 0xcf, 0xfa, 0x85, 0x7b, 0x91, 0xb3, 0x5b,
		0xb0, 0x11, 0xa8, 0xee, 0xfa, 0x5b, 0x4a, 0xb0, 0x0b, 0x88, 0xa7, 0x7d, 0xed, 0x5e, 0xb8, 0x70,
		0x07, 0x9b, 0x80, 0x6a, 0x0d, 0xc0, 0xdf, 0x80, 0xe3, 0xb9, 0x5e, 0x67, 0x5c, 0x01, 0x10, 0x5e,
		0x1a, 0x6c, 0xff, 0x8d, 0xc7, 0x7f, 0x91, 0x2f, 0x0d, 0x86, 0xc0, 0x4b, 0x83, 0x6f, 0xbd, 0xf1,
		0xe8, 0x37, 0xf8, 0xd2, 0xe0, 0x10, 0x9c, 0xd9, 0x81, 0xdd, 0x2d, 0x9e, 0xe1, 0x4b, 0x3c, 0xb3,
		0x03, 0xa8, 0xea, 0x36, 0x4c, 0x0d, 0x6c, 0x88, 0xf1, 0x54, 0x5f, 0x66, 0x54, 0x42, 0x74, 0x3f,
		0x0c, 0x6e, 0x5e, 0x6c, 0x33, 0x8c, 0x67, 0xfb, 0xa3, 0xc8, 0xe6, 0xc5, 0xf6, 0xc2, 0xea, 0x15,
		0xc8, 0x19, 0x7d, 0x5d, 0xc7, 0x8b, 0x47, 0xbc, 0xff, 0x2f, 0xf7, 0xca, 0xff, 0xf6, 0x01, 0x8b,
		0x0e, 0x07, 0x54, 0x97, 0x21, 0x83, 0x7a, 0x2d, 0xd4, 0x8e, 0x43, 0xfe, 0xfb, 0x07, 0xbc, 0x60,
		0x62, 0xeb, 0xea, 0xb3, 0x00, 0xf4, 0x6a, 0x84, 0x7c, 0xf6, 0x8b, 0xc1, 0xfe, 0xc7, 0x07, 0xec,
		0x37, 0x35, 0x3e, 0xc4, 0x27, 0xa0, 0xbf, 0xd0, 0xb9, 0x3f, 0xc1, 0xbb, 0x61, 0x02, 0x32, 0x23,
		0x97, 0x61, 0xfc, 0xba, 0x63, 0x1a, 0xae, 0xd2, 0x8d, 0x43, 0xff, 0x27, 0x43, 0x73, 0x7b, 0x1c,
		0xb0, 0x9e, 0x69, 0x23, 0x57, 0xe9, 0x3a, 0x71, 0xd8, 0xff, 0x62, 0x58, 0x0f, 0x80, 0xc1, 0xaa,
		0xe2, 0xb8, 0xa3, 0x8c, 0xfb, 0xbf, 0x39, 0x98, 0x03, 0xb0, 0xd3, 0xf8, 0xef, 0x1b, 0xe8, 0x20,
		0x0e, 0xfb, 0x1e, 0x77, 0x9a, 0xd9, 0x57, 0x3f, 0x09, 0x79, 0xfc, 0x27, 0xfd, 0xa1, 0x5c, 0x0c,
		0xf8, 0x7f, 0x18, 0xd8, 0x47, 0xe0, 0x37, 0x3b, 0x6e, 0xdb, 0xd5, 0xe2, 0x83, 0xfd, 0xbf, 0x6c,
		0xa6, 0xb9, 0x7d, 0xb5, 0x06, 0x05, 0xc7, 0x6d, 0xb7, 0xfb, 0xac, 0x3f, 0x8d, 0x81, 0xff, 0xdf,
		0x07, 0xde, 0x95, 0x85, 0x87, 0xc1, 0xb3, 0x7d, 0xeb, 0x86, 0x6b, 0x99, 0xe4, 0x33, 0x47, 0x1c,
		0xc3, 0x3d, 0xc6, 0x10, 0x80, 0xac, 0xd4, 0x87, 0x5f, 0xdf, 0xc2, 0xba, 0xb9, 0x6e, 0xd2, 0x8b,
		0xdb, 0x97, 0xe6, 0xe2, 0x6f, 0x60, 0xe1, 0xd5, 0x0c, 0xcc, 0xaa, 0x66, 0xaf, 0x65, 0x3a, 0xe7,
		0xbc, 0x72, 0x7c, 0xce, 0x34, 0x18, 0xa3, 0x98, 0x32, 0x0d, 0x34, 0x7b, 0xbc, 0x9b, 0xdc, 0xb9,
		0x53, 0x90, 0x69, 0xf6, 0x5b, 0xad, 0x03, 0x51, 0x80, 0x94, 0xd3, 0x6f, 0xb1, 0x9f, 0x5b, 0xe1,
		0x3f, 0xe7, 0x7e, 0x90, 0x82, 0x42, 0x53, 0xe9, 0x59, 0x3a, 0x6a, 0x18, 0xa8, 0xd1, 0x11, 0xcb,
		0x90, 0x25, 0x03, 0x7d, 0x86, 0x18, 0x25, 0xae, 0x8d, 0x49, 0xec, 0xd9, 0xd3, 0x2c, 0x92, 0x1b,
		0xee, 0xa4, 0xa7, 0x59, 0xf4, 0x34, 0xe7, 0xe9, 0x05, 0xb7, 0xa7, 0x39, 0xef, 0x69, 0x96, 0xc8,
		0x35, 0x77, 0xca, 0xd3, 0x2c, 0x79, 0x9a, 0x65, 0xf2, 0x19, 0x67, 0xc2, 0xd3, 0x2c, 0x7b, 0x9a,
		0x0b, 0xe4, 0xc3, 0x4d, 0xda, 0xd3, 0x5c, 0xf0, 0x34, 0x17, 0xc9, 0xf7, 0x9a, 0x29, 0x4f, 0x73,
		0xd1, 0xd3, 0x5c, 0x22, 0xdf, 0x68, 0x44, 0x4f, 0x73, 0xc9, 0xd3, 0x5c, 0x26, 0xbf, 0xaa, 0x1a,
		0xf7, 0x34, 0x97, 0xc5, 0x59, 0x18, 0xa7, 0x23, 0x7b, 0x9a, 0x7c, 0xc8, 0x9f, 0xbc, 0x36, 0x26,
		0x71, 0x81, 0xaf, 0x7b, 0x86, 0xfc, 0x72, 0x2a, 0xeb, 0xeb, 0x9e, 0xf1, 0x75, 0x8b, 0xe4, 0x3f,
		0x70, 0x08, 0xbe, 0x6e, 0xd1, 0xd7, 0x9d, 0x2f, 0x4f, 0xe0, 0xfc, 0xf0, 0x75, 0xe7, 0x7d, 0xdd,
		0x52, 0xb9, 0x84, 0xe3, 0xef, 0xeb, 0x96, 0x7c, 0xdd, 0x72, 0x79, 0xf2, 0x4c, 0x62, 0xbe, 0xe8,
		0xeb, 0x96, 0xc5, 0xa7, 0xa0, 0xe0, 0xf4, 0x5b, 0x32, 0xab, 0xf4, 0xe4, 0x17, 0x5a, 0x85, 0x45,
		0x58, 0xc0, 0x19, 0x41, 0x26, 0xf5, 0xda, 0x98, 0x04, 0x4e, 0xbf, 0xc5, 0x0a, 0xf1, 0x4a, 0x11,
		0xc8, 0xfd, 0x93, 0x4c, 0x7e, 0x58, 0xbd, 0xb2, 0xf6, 0xd6, 0xdd, 0xca, 0xd8, 0xf7, 0xee, 0x56,
		0xc6, 0xfe, 0xe5, 0x6e, 0x65, 0xec, 0xed, 0xbb, 0x95, 0xc4, 0x7b, 0x77, 0x2b, 0x89, 0xf7, 0xef,
		0x56, 0x12, 0x77, 0x0e, 0x2b, 0x89, 0xaf, 0x1e, 0x56, 0x12, 0x5f, 0x3f, 0xac, 0x24, 0xbe, 0x75,
		0x58, 0x49, 0xbc, 0x75, 0x58, 0x49, 0x7c, 0xef, 0xb0, 0x32, 0xf6, 0xf6, 0x61, 0x25, 0xf1, 0xa3,
		0xc3, 0xca, 0xd8, 0x7b, 0x87, 0x95, 0xc4, 0xfb, 0x87, 0x95, 0xb1, 0x3b, 0x3f, 0xac, 0x8c, 0xb5,
		0xb2, 0x24, 0x8d, 0xce, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xed, 0xb5, 0xb7, 0x77, 0x8f,
		0x35, 0x00, 0x00,
	}
	r := bytes.NewReader(gzipped)
	gzipr, err := compress_gzip.NewReader(r)
	if err != nil {
		panic(err)
	}
	ungzipped, err := io_ioutil.ReadAll(gzipr)
	if err != nil {
		panic(err)
	}
	if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
		panic(err)
	}
	return d
}
func (this *Subby) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*Subby)
	if !ok {
		that2, ok := that.(Subby)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *Subby")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *Subby but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *Subby but is not nil && this == nil")
	}
	if this.Sub != that1.Sub {
		return fmt.Errorf("Sub this(%v) Not Equal that(%v)", this.Sub, that1.Sub)
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *Subby) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*Subby)
	if !ok {
		that2, ok := that.(Subby)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Sub != that1.Sub {
		return false
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *SampleOneOf) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf)
	if !ok {
		that2, ok := that.(SampleOneOf)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf but is not nil && this == nil")
	}
	if that1.TestOneof == nil {
		if this.TestOneof != nil {
			return fmt.Errorf("this.TestOneof != nil && that1.TestOneof == nil")
		}
	} else if this.TestOneof == nil {
		return fmt.Errorf("this.TestOneof == nil && that1.TestOneof != nil")
	} else if err := this.TestOneof.VerboseEqual(that1.TestOneof); err != nil {
		return err
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
	}
	return nil
}
func (this *SampleOneOf_Field1) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field1)
	if !ok {
		that2, ok := that.(SampleOneOf_Field1)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field1")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field1 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field1 but is not nil && this == nil")
	}
	if this.Field1 != that1.Field1 {
		return fmt.Errorf("Field1 this(%v) Not Equal that(%v)", this.Field1, that1.Field1)
	}
	return nil
}
func (this *SampleOneOf_Field2) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field2)
	if !ok {
		that2, ok := that.(SampleOneOf_Field2)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field2")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field2 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field2 but is not nil && this == nil")
	}
	if this.Field2 != that1.Field2 {
		return fmt.Errorf("Field2 this(%v) Not Equal that(%v)", this.Field2, that1.Field2)
	}
	return nil
}
func (this *SampleOneOf_Field3) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field3)
	if !ok {
		that2, ok := that.(SampleOneOf_Field3)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field3")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field3 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field3 but is not nil && this == nil")
	}
	if this.Field3 != that1.Field3 {
		return fmt.Errorf("Field3 this(%v) Not Equal that(%v)", this.Field3, that1.Field3)
	}
	return nil
}
func (this *SampleOneOf_Field4) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field4)
	if !ok {
		that2, ok := that.(SampleOneOf_Field4)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field4")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field4 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field4 but is not nil && this == nil")
	}
	if this.Field4 != that1.Field4 {
		return fmt.Errorf("Field4 this(%v) Not Equal that(%v)", this.Field4, that1.Field4)
	}
	return nil
}
func (this *SampleOneOf_Field5) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field5)
	if !ok {
		that2, ok := that.(SampleOneOf_Field5)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field5")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field5 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field5 but is not nil && this == nil")
	}
	if this.Field5 != that1.Field5 {
		return fmt.Errorf("Field5 this(%v) Not Equal that(%v)", this.Field5, that1.Field5)
	}
	return nil
}
func (this *SampleOneOf_Field6) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field6)
	if !ok {
		that2, ok := that.(SampleOneOf_Field6)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field6")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field6 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field6 but is not nil && this == nil")
	}
	if this.Field6 != that1.Field6 {
		return fmt.Errorf("Field6 this(%v) Not Equal that(%v)", this.Field6, that1.Field6)
	}
	return nil
}
func (this *SampleOneOf_Field7) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field7)
	if !ok {
		that2, ok := that.(SampleOneOf_Field7)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field7")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field7 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field7 but is not nil && this == nil")
	}
	if this.Field7 != that1.Field7 {
		return fmt.Errorf("Field7 this(%v) Not Equal that(%v)", this.Field7, that1.Field7)
	}
	return nil
}
func (this *SampleOneOf_Field8) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field8)
	if !ok {
		that2, ok := that.(SampleOneOf_Field8)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field8")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field8 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field8 but is not nil && this == nil")
	}
	if this.Field8 != that1.Field8 {
		return fmt.Errorf("Field8 this(%v) Not Equal that(%v)", this.Field8, that1.Field8)
	}
	return nil
}
func (this *SampleOneOf_Field9) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field9)
	if !ok {
		that2, ok := that.(SampleOneOf_Field9)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field9")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field9 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field9 but is not nil && this == nil")
	}
	if this.Field9 != that1.Field9 {
		return fmt.Errorf("Field9 this(%v) Not Equal that(%v)", this.Field9, that1.Field9)
	}
	return nil
}
func (this *SampleOneOf_Field10) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field10)
	if !ok {
		that2, ok := that.(SampleOneOf_Field10)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field10")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field10 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field10 but is not nil && this == nil")
	}
	if this.Field10 != that1.Field10 {
		return fmt.Errorf("Field10 this(%v) Not Equal that(%v)", this.Field10, that1.Field10)
	}
	return nil
}
func (this *SampleOneOf_Field11) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field11)
	if !ok {
		that2, ok := that.(SampleOneOf_Field11)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field11")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field11 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field11 but is not nil && this == nil")
	}
	if this.Field11 != that1.Field11 {
		return fmt.Errorf("Field11 this(%v) Not Equal that(%v)", this.Field11, that1.Field11)
	}
	return nil
}
func (this *SampleOneOf_Field12) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field12)
	if !ok {
		that2, ok := that.(SampleOneOf_Field12)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field12")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field12 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field12 but is not nil && this == nil")
	}
	if this.Field12 != that1.Field12 {
		return fmt.Errorf("Field12 this(%v) Not Equal that(%v)", this.Field12, that1.Field12)
	}
	return nil
}
func (this *SampleOneOf_Field13) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field13)
	if !ok {
		that2, ok := that.(SampleOneOf_Field13)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field13")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field13 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field13 but is not nil && this == nil")
	}
	if this.Field13 != that1.Field13 {
		return fmt.Errorf("Field13 this(%v) Not Equal that(%v)", this.Field13, that1.Field13)
	}
	return nil
}
func (this *SampleOneOf_Field14) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field14)
	if !ok {
		that2, ok := that.(SampleOneOf_Field14)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field14")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field14 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field14 but is not nil && this == nil")
	}
	if this.Field14 != that1.Field14 {
		return fmt.Errorf("Field14 this(%v) Not Equal that(%v)", this.Field14, that1.Field14)
	}
	return nil
}
func (this *SampleOneOf_Field15) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_Field15)
	if !ok {
		that2, ok := that.(SampleOneOf_Field15)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_Field15")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_Field15 but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_Field15 but is not nil && this == nil")
	}
	if !bytes.Equal(this.Field15, that1.Field15) {
		return fmt.Errorf("Field15 this(%v) Not Equal that(%v)", this.Field15, that1.Field15)
	}
	return nil
}
func (this *SampleOneOf_SubMessage) VerboseEqual(that interface{}) error {
	if that == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that == nil && this != nil")
	}

	that1, ok := that.(*SampleOneOf_SubMessage)
	if !ok {
		that2, ok := that.(SampleOneOf_SubMessage)
		if ok {
			that1 = &that2
		} else {
			return fmt.Errorf("that is not of type *SampleOneOf_SubMessage")
		}
	}
	if that1 == nil {
		if this == nil {
			return nil
		}
		return fmt.Errorf("that is type *SampleOneOf_SubMessage but is nil && this != nil")
	} else if this == nil {
		return fmt.Errorf("that is type *SampleOneOf_SubMessage but is not nil && this == nil")
	}
	if !this.SubMessage.Equal(that1.SubMessage) {
		return fmt.Errorf("SubMessage this(%v) Not Equal that(%v)", this.SubMessage, that1.SubMessage)
	}
	return nil
}
func (this *SampleOneOf) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf)
	if !ok {
		that2, ok := that.(SampleOneOf)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if that1.TestOneof == nil {
		if this.TestOneof != nil {
			return false
		}
	} else if this.TestOneof == nil {
		return false
	} else if !this.TestOneof.Equal(that1.TestOneof) {
		return false
	}
	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
		return false
	}
	return true
}
func (this *SampleOneOf_Field1) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field1)
	if !ok {
		that2, ok := that.(SampleOneOf_Field1)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field1 != that1.Field1 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field2) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field2)
	if !ok {
		that2, ok := that.(SampleOneOf_Field2)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field2 != that1.Field2 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field3) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field3)
	if !ok {
		that2, ok := that.(SampleOneOf_Field3)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field3 != that1.Field3 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field4) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field4)
	if !ok {
		that2, ok := that.(SampleOneOf_Field4)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field4 != that1.Field4 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field5) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field5)
	if !ok {
		that2, ok := that.(SampleOneOf_Field5)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field5 != that1.Field5 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field6) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field6)
	if !ok {
		that2, ok := that.(SampleOneOf_Field6)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field6 != that1.Field6 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field7) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field7)
	if !ok {
		that2, ok := that.(SampleOneOf_Field7)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field7 != that1.Field7 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field8) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field8)
	if !ok {
		that2, ok := that.(SampleOneOf_Field8)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field8 != that1.Field8 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field9) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field9)
	if !ok {
		that2, ok := that.(SampleOneOf_Field9)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field9 != that1.Field9 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field10) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field10)
	if !ok {
		that2, ok := that.(SampleOneOf_Field10)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field10 != that1.Field10 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field11) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field11)
	if !ok {
		that2, ok := that.(SampleOneOf_Field11)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field11 != that1.Field11 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field12) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field12)
	if !ok {
		that2, ok := that.(SampleOneOf_Field12)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field12 != that1.Field12 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field13) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field13)
	if !ok {
		that2, ok := that.(SampleOneOf_Field13)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field13 != that1.Field13 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field14) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field14)
	if !ok {
		that2, ok := that.(SampleOneOf_Field14)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if this.Field14 != that1.Field14 {
		return false
	}
	return true
}
func (this *SampleOneOf_Field15) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_Field15)
	if !ok {
		that2, ok := that.(SampleOneOf_Field15)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if !bytes.Equal(this.Field15, that1.Field15) {
		return false
	}
	return true
}
func (this *SampleOneOf_SubMessage) Equal(that interface{}) bool {
	if that == nil {
		return this == nil
	}

	that1, ok := that.(*SampleOneOf_SubMessage)
	if !ok {
		that2, ok := that.(SampleOneOf_SubMessage)
		if ok {
			that1 = &that2
		} else {
			return false
		}
	}
	if that1 == nil {
		return this == nil
	} else if this == nil {
		return false
	}
	if !this.SubMessage.Equal(that1.SubMessage) {
		return false
	}
	return true
}
func (this *Subby) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 5)
	s = append(s, "&one.Subby{")
	s = append(s, "Sub: "+fmt.Sprintf("%#v", this.Sub)+",\n")
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *SampleOneOf) GoString() string {
	if this == nil {
		return "nil"
	}
	s := make([]string, 0, 20)
	s = append(s, "&one.SampleOneOf{")
	if this.TestOneof != nil {
		s = append(s, "TestOneof: "+fmt.Sprintf("%#v", this.TestOneof)+",\n")
	}
	if this.XXX_unrecognized != nil {
		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
	}
	s = append(s, "}")
	return strings.Join(s, "")
}
func (this *SampleOneOf_Field1) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field1{` +
		`Field1:` + fmt.Sprintf("%#v", this.Field1) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field2) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field2{` +
		`Field2:` + fmt.Sprintf("%#v", this.Field2) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field3) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field3{` +
		`Field3:` + fmt.Sprintf("%#v", this.Field3) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field4) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field4{` +
		`Field4:` + fmt.Sprintf("%#v", this.Field4) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field5) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field5{` +
		`Field5:` + fmt.Sprintf("%#v", this.Field5) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field6) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field6{` +
		`Field6:` + fmt.Sprintf("%#v", this.Field6) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field7) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field7{` +
		`Field7:` + fmt.Sprintf("%#v", this.Field7) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field8) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field8{` +
		`Field8:` + fmt.Sprintf("%#v", this.Field8) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field9) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field9{` +
		`Field9:` + fmt.Sprintf("%#v", this.Field9) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field10) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field10{` +
		`Field10:` + fmt.Sprintf("%#v", this.Field10) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field11) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field11{` +
		`Field11:` + fmt.Sprintf("%#v", this.Field11) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field12) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field12{` +
		`Field12:` + fmt.Sprintf("%#v", this.Field12) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field13) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field13{` +
		`Field13:` + fmt.Sprintf("%#v", this.Field13) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field14) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field14{` +
		`Field14:` + fmt.Sprintf("%#v", this.Field14) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_Field15) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_Field15{` +
		`Field15:` + fmt.Sprintf("%#v", this.Field15) + `}`}, ", ")
	return s
}
func (this *SampleOneOf_SubMessage) GoString() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&one.SampleOneOf_SubMessage{` +
		`SubMessage:` + fmt.Sprintf("%#v", this.SubMessage) + `}`}, ", ")
	return s
}
func valueToGoStringOne(v interface{}, typ string) string {
	rv := reflect.ValueOf(v)
	if rv.IsNil() {
		return "nil"
	}
	pv := reflect.Indirect(rv).Interface()
	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func (m *Subby) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Subby) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Sub) > 0 {
		dAtA[i] = 0xa
		i++
		i = encodeVarintOne(dAtA, i, uint64(len(m.Sub)))
		i += copy(dAtA[i:], m.Sub)
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

func (m *SampleOneOf) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *SampleOneOf) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.TestOneof != nil {
		nn1, err := m.TestOneof.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += nn1
	}
	if m.XXX_unrecognized != nil {
		i += copy(dAtA[i:], m.XXX_unrecognized)
	}
	return i, nil
}

func (m *SampleOneOf_Field1) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x9
	i++
	encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Field1))))
	i += 8
	return i, nil
}
func (m *SampleOneOf_Field2) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x15
	i++
	encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Field2))))
	i += 4
	return i, nil
}
func (m *SampleOneOf_Field3) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x18
	i++
	i = encodeVarintOne(dAtA, i, uint64(m.Field3))
	return i, nil
}
func (m *SampleOneOf_Field4) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x20
	i++
	i = encodeVarintOne(dAtA, i, uint64(m.Field4))
	return i, nil
}
func (m *SampleOneOf_Field5) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x28
	i++
	i = encodeVarintOne(dAtA, i, uint64(m.Field5))
	return i, nil
}
func (m *SampleOneOf_Field6) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x30
	i++
	i = encodeVarintOne(dAtA, i, uint64(m.Field6))
	return i, nil
}
func (m *SampleOneOf_Field7) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x38
	i++
	i = encodeVarintOne(dAtA, i, uint64((uint32(m.Field7)<<1)^uint32((m.Field7>>31))))
	return i, nil
}
func (m *SampleOneOf_Field8) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x40
	i++
	i = encodeVarintOne(dAtA, i, uint64((uint64(m.Field8)<<1)^uint64((m.Field8>>63))))
	return i, nil
}
func (m *SampleOneOf_Field9) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x4d
	i++
	encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Field9))
	i += 4
	return i, nil
}
func (m *SampleOneOf_Field10) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x55
	i++
	encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Field10))
	i += 4
	return i, nil
}
func (m *SampleOneOf_Field11) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x59
	i++
	encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Field11))
	i += 8
	return i, nil
}
func (m *SampleOneOf_Field12) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x61
	i++
	encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.Field12))
	i += 8
	return i, nil
}
func (m *SampleOneOf_Field13) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x68
	i++
	if m.Field13 {
		dAtA[i] = 1
	} else {
		dAtA[i] = 0
	}
	i++
	return i, nil
}
func (m *SampleOneOf_Field14) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	dAtA[i] = 0x72
	i++
	i = encodeVarintOne(dAtA, i, uint64(len(m.Field14)))
	i += copy(dAtA[i:], m.Field14)
	return i, nil
}
func (m *SampleOneOf_Field15) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	if m.Field15 != nil {
		dAtA[i] = 0x7a
		i++
		i = encodeVarintOne(dAtA, i, uint64(len(m.Field15)))
		i += copy(dAtA[i:], m.Field15)
	}
	return i, nil
}
func (m *SampleOneOf_SubMessage) MarshalTo(dAtA []byte) (int, error) {
	i := 0
	if m.SubMessage != nil {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintOne(dAtA, i, uint64(m.SubMessage.Size()))
		n2, err := m.SubMessage.MarshalTo(dAtA[i:])
		if err != nil {
			return 0, err
		}
		i += n2
	}
	return i, nil
}
func encodeVarintOne(dAtA []byte, offset int, v uint64) int {
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return offset + 1
}
func NewPopulatedSubby(r randyOne, easy bool) *Subby {
	this := &Subby{}
	this.Sub = string(randStringOne(r))
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedOne(r, 2)
	}
	return this
}

func NewPopulatedSampleOneOf(r randyOne, easy bool) *SampleOneOf {
	this := &SampleOneOf{}
	oneofNumber_TestOneof := []int32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}[r.Intn(16)]
	switch oneofNumber_TestOneof {
	case 1:
		this.TestOneof = NewPopulatedSampleOneOf_Field1(r, easy)
	case 2:
		this.TestOneof = NewPopulatedSampleOneOf_Field2(r, easy)
	case 3:
		this.TestOneof = NewPopulatedSampleOneOf_Field3(r, easy)
	case 4:
		this.TestOneof = NewPopulatedSampleOneOf_Field4(r, easy)
	case 5:
		this.TestOneof = NewPopulatedSampleOneOf_Field5(r, easy)
	case 6:
		this.TestOneof = NewPopulatedSampleOneOf_Field6(r, easy)
	case 7:
		this.TestOneof = NewPopulatedSampleOneOf_Field7(r, easy)
	case 8:
		this.TestOneof = NewPopulatedSampleOneOf_Field8(r, easy)
	case 9:
		this.TestOneof = NewPopulatedSampleOneOf_Field9(r, easy)
	case 10:
		this.TestOneof = NewPopulatedSampleOneOf_Field10(r, easy)
	case 11:
		this.TestOneof = NewPopulatedSampleOneOf_Field11(r, easy)
	case 12:
		this.TestOneof = NewPopulatedSampleOneOf_Field12(r, easy)
	case 13:
		this.TestOneof = NewPopulatedSampleOneOf_Field13(r, easy)
	case 14:
		this.TestOneof = NewPopulatedSampleOneOf_Field14(r, easy)
	case 15:
		this.TestOneof = NewPopulatedSampleOneOf_Field15(r, easy)
	case 16:
		this.TestOneof = NewPopulatedSampleOneOf_SubMessage(r, easy)
	}
	if !easy && r.Intn(10) != 0 {
		this.XXX_unrecognized = randUnrecognizedOne(r, 17)
	}
	return this
}

func NewPopulatedSampleOneOf_Field1(r randyOne, easy bool) *SampleOneOf_Field1 {
	this := &SampleOneOf_Field1{}
	this.Field1 = float64(r.Float64())
	if r.Intn(2) == 0 {
		this.Field1 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field2(r randyOne, easy bool) *SampleOneOf_Field2 {
	this := &SampleOneOf_Field2{}
	this.Field2 = float32(r.Float32())
	if r.Intn(2) == 0 {
		this.Field2 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field3(r randyOne, easy bool) *SampleOneOf_Field3 {
	this := &SampleOneOf_Field3{}
	this.Field3 = int32(r.Int31())
	if r.Intn(2) == 0 {
		this.Field3 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field4(r randyOne, easy bool) *SampleOneOf_Field4 {
	this := &SampleOneOf_Field4{}
	this.Field4 = int64(r.Int63())
	if r.Intn(2) == 0 {
		this.Field4 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field5(r randyOne, easy bool) *SampleOneOf_Field5 {
	this := &SampleOneOf_Field5{}
	this.Field5 = uint32(r.Uint32())
	return this
}
func NewPopulatedSampleOneOf_Field6(r randyOne, easy bool) *SampleOneOf_Field6 {
	this := &SampleOneOf_Field6{}
	this.Field6 = uint64(uint64(r.Uint32()))
	return this
}
func NewPopulatedSampleOneOf_Field7(r randyOne, easy bool) *SampleOneOf_Field7 {
	this := &SampleOneOf_Field7{}
	this.Field7 = int32(r.Int31())
	if r.Intn(2) == 0 {
		this.Field7 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field8(r randyOne, easy bool) *SampleOneOf_Field8 {
	this := &SampleOneOf_Field8{}
	this.Field8 = int64(r.Int63())
	if r.Intn(2) == 0 {
		this.Field8 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field9(r randyOne, easy bool) *SampleOneOf_Field9 {
	this := &SampleOneOf_Field9{}
	this.Field9 = uint32(r.Uint32())
	return this
}
func NewPopulatedSampleOneOf_Field10(r randyOne, easy bool) *SampleOneOf_Field10 {
	this := &SampleOneOf_Field10{}
	this.Field10 = int32(r.Int31())
	if r.Intn(2) == 0 {
		this.Field10 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field11(r randyOne, easy bool) *SampleOneOf_Field11 {
	this := &SampleOneOf_Field11{}
	this.Field11 = uint64(uint64(r.Uint32()))
	return this
}
func NewPopulatedSampleOneOf_Field12(r randyOne, easy bool) *SampleOneOf_Field12 {
	this := &SampleOneOf_Field12{}
	this.Field12 = int64(r.Int63())
	if r.Intn(2) == 0 {
		this.Field12 *= -1
	}
	return this
}
func NewPopulatedSampleOneOf_Field13(r randyOne, easy bool) *SampleOneOf_Field13 {
	this := &SampleOneOf_Field13{}
	this.Field13 = bool(bool(r.Intn(2) == 0))
	return this
}
func NewPopulatedSampleOneOf_Field14(r randyOne, easy bool) *SampleOneOf_Field14 {
	this := &SampleOneOf_Field14{}
	this.Field14 = string(randStringOne(r))
	return this
}
func NewPopulatedSampleOneOf_Field15(r randyOne, easy bool) *SampleOneOf_Field15 {
	this := &SampleOneOf_Field15{}
	v1 := r.Intn(100)
	this.Field15 = make([]byte, v1)
	for i := 0; i < v1; i++ {
		this.Field15[i] = byte(r.Intn(256))
	}
	return this
}
func NewPopulatedSampleOneOf_SubMessage(r randyOne, easy bool) *SampleOneOf_SubMessage {
	this := &SampleOneOf_SubMessage{}
	this.SubMessage = NewPopulatedSubby(r, easy)
	return this
}

type randyOne interface {
	Float32() float32
	Float64() float64
	Int63() int64
	Int31() int32
	Uint32() uint32
	Intn(n int) int
}

func randUTF8RuneOne(r randyOne) rune {
	ru := r.Intn(62)
	if ru < 10 {
		return rune(ru + 48)
	} else if ru < 36 {
		return rune(ru + 55)
	}
	return rune(ru + 61)
}
func randStringOne(r randyOne) string {
	v2 := r.Intn(100)
	tmps := make([]rune, v2)
	for i := 0; i < v2; i++ {
		tmps[i] = randUTF8RuneOne(r)
	}
	return string(tmps)
}
func randUnrecognizedOne(r randyOne, maxFieldNumber int) (dAtA []byte) {
	l := r.Intn(5)
	for i := 0; i < l; i++ {
		wire := r.Intn(4)
		if wire == 3 {
			wire = 5
		}
		fieldNumber := maxFieldNumber + r.Intn(100)
		dAtA = randFieldOne(dAtA, r, fieldNumber, wire)
	}
	return dAtA
}
func randFieldOne(dAtA []byte, r randyOne, fieldNumber int, wire int) []byte {
	key := uint32(fieldNumber)<<3 | uint32(wire)
	switch wire {
	case 0:
		dAtA = encodeVarintPopulateOne(dAtA, uint64(key))
		v3 := r.Int63()
		if r.Intn(2) == 0 {
			v3 *= -1
		}
		dAtA = encodeVarintPopulateOne(dAtA, uint64(v3))
	case 1:
		dAtA = encodeVarintPopulateOne(dAtA, uint64(key))
		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
	case 2:
		dAtA = encodeVarintPopulateOne(dAtA, uint64(key))
		ll := r.Intn(100)
		dAtA = encodeVarintPopulateOne(dAtA, uint64(ll))
		for j := 0; j < ll; j++ {
			dAtA = append(dAtA, byte(r.Intn(256)))
		}
	default:
		dAtA = encodeVarintPopulateOne(dAtA, uint64(key))
		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
	}
	return dAtA
}
func encodeVarintPopulateOne(dAtA []byte, v uint64) []byte {
	for v >= 1<<7 {
		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
		v >>= 7
	}
	dAtA = append(dAtA, uint8(v))
	return dAtA
}
func (m *Subby) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Sub)
	if l > 0 {
		n += 1 + l + sovOne(uint64(l))
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *SampleOneOf) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.TestOneof != nil {
		n += m.TestOneof.Size()
	}
	if m.XXX_unrecognized != nil {
		n += len(m.XXX_unrecognized)
	}
	return n
}

func (m *SampleOneOf_Field1) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 9
	return n
}
func (m *SampleOneOf_Field2) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 5
	return n
}
func (m *SampleOneOf_Field3) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 1 + sovOne(uint64(m.Field3))
	return n
}
func (m *SampleOneOf_Field4) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 1 + sovOne(uint64(m.Field4))
	return n
}
func (m *SampleOneOf_Field5) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 1 + sovOne(uint64(m.Field5))
	return n
}
func (m *SampleOneOf_Field6) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 1 + sovOne(uint64(m.Field6))
	return n
}
func (m *SampleOneOf_Field7) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 1 + sozOne(uint64(m.Field7))
	return n
}
func (m *SampleOneOf_Field8) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 1 + sozOne(uint64(m.Field8))
	return n
}
func (m *SampleOneOf_Field9) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 5
	return n
}
func (m *SampleOneOf_Field10) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 5
	return n
}
func (m *SampleOneOf_Field11) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 9
	return n
}
func (m *SampleOneOf_Field12) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 9
	return n
}
func (m *SampleOneOf_Field13) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	n += 2
	return n
}
func (m *SampleOneOf_Field14) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Field14)
	n += 1 + l + sovOne(uint64(l))
	return n
}
func (m *SampleOneOf_Field15) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.Field15 != nil {
		l = len(m.Field15)
		n += 1 + l + sovOne(uint64(l))
	}
	return n
}
func (m *SampleOneOf_SubMessage) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.SubMessage != nil {
		l = m.SubMessage.Size()
		n += 2 + l + sovOne(uint64(l))
	}
	return n
}

func sovOne(x uint64) (n int) {
	for {
		n++
		x >>= 7
		if x == 0 {
			break
		}
	}
	return n
}
func sozOne(x uint64) (n int) {
	return sovOne(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Subby) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&Subby{`,
		`Sub:` + fmt.Sprintf("%v", this.Sub) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf{`,
		`TestOneof:` + fmt.Sprintf("%v", this.TestOneof) + `,`,
		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field1) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field1{`,
		`Field1:` + fmt.Sprintf("%v", this.Field1) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field2) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field2{`,
		`Field2:` + fmt.Sprintf("%v", this.Field2) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field3) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field3{`,
		`Field3:` + fmt.Sprintf("%v", this.Field3) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field4) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field4{`,
		`Field4:` + fmt.Sprintf("%v", this.Field4) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field5) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field5{`,
		`Field5:` + fmt.Sprintf("%v", this.Field5) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field6) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field6{`,
		`Field6:` + fmt.Sprintf("%v", this.Field6) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field7) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field7{`,
		`Field7:` + fmt.Sprintf("%v", this.Field7) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field8) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field8{`,
		`Field8:` + fmt.Sprintf("%v", this.Field8) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field9) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field9{`,
		`Field9:` + fmt.Sprintf("%v", this.Field9) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field10) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field10{`,
		`Field10:` + fmt.Sprintf("%v", this.Field10) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field11) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field11{`,
		`Field11:` + fmt.Sprintf("%v", this.Field11) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field12) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field12{`,
		`Field12:` + fmt.Sprintf("%v", this.Field12) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field13) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field13{`,
		`Field13:` + fmt.Sprintf("%v", this.Field13) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field14) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field14{`,
		`Field14:` + fmt.Sprintf("%v", this.Field14) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_Field15) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_Field15{`,
		`Field15:` + fmt.Sprintf("%v", this.Field15) + `,`,
		`}`,
	}, "")
	return s
}
func (this *SampleOneOf_SubMessage) String() string {
	if this == nil {
		return "nil"
	}
	s := strings.Join([]string{`&SampleOneOf_SubMessage{`,
		`SubMessage:` + strings.Replace(fmt.Sprintf("%v", this.SubMessage), "Subby", "Subby", 1) + `,`,
		`}`,
	}, "")
	return s
}
func valueToStringOne(v interface{}) string {
	rv := reflect.ValueOf(v)
	if rv.IsNil() {
		return "nil"
	}
	pv := reflect.Indirect(rv).Interface()
	return fmt.Sprintf("*%v", pv)
}
