github.com/gogo/protobuf@v1.3.2/test/casttype/combos/unmarshaler/casttype.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: combos/unmarshaler/casttype.proto
     3  
     4  package casttype
     5  
     6  import (
     7  	bytes "bytes"
     8  	compress_gzip "compress/gzip"
     9  	encoding_binary "encoding/binary"
    10  	fmt "fmt"
    11  	_ "github.com/gogo/protobuf/gogoproto"
    12  	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
    13  	proto "github.com/gogo/protobuf/proto"
    14  	github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
    15  	github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    16  	github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype"
    17  	io "io"
    18  	io_ioutil "io/ioutil"
    19  	math "math"
    20  	math_bits "math/bits"
    21  	reflect "reflect"
    22  	strings "strings"
    23  )
    24  
    25  // Reference imports to suppress errors if they are not otherwise used.
    26  var _ = proto.Marshal
    27  var _ = fmt.Errorf
    28  var _ = math.Inf
    29  
    30  // This is a compile-time assertion to ensure that this generated file
    31  // is compatible with the proto package it is being compiled against.
    32  // A compilation error at this line likely means your copy of the
    33  // proto package needs to be updated.
    34  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    35  
    36  type Castaway struct {
    37  	Int32Ptr             *int32                                                                                                      `protobuf:"varint,1,opt,name=Int32Ptr,casttype=int32" json:"Int32Ptr,omitempty"`
    38  	Int32                int32                                                                                                       `protobuf:"varint,2,opt,name=Int32,casttype=int32" json:"Int32"`
    39  	MyUint64Ptr          *github_com_gogo_protobuf_test_casttype.MyUint64Type                                                        `protobuf:"varint,3,opt,name=MyUint64Ptr,casttype=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyUint64Ptr,omitempty"`
    40  	MyUint64             github_com_gogo_protobuf_test_casttype.MyUint64Type                                                         `protobuf:"varint,4,opt,name=MyUint64,casttype=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyUint64"`
    41  	MyFloat32Ptr         *github_com_gogo_protobuf_test_casttype.MyFloat32Type                                                       `protobuf:"fixed32,5,opt,name=MyFloat32Ptr,casttype=github.com/gogo/protobuf/test/casttype.MyFloat32Type" json:"MyFloat32Ptr,omitempty"`
    42  	MyFloat32            github_com_gogo_protobuf_test_casttype.MyFloat32Type                                                        `protobuf:"fixed32,6,opt,name=MyFloat32,casttype=github.com/gogo/protobuf/test/casttype.MyFloat32Type" json:"MyFloat32"`
    43  	MyFloat64Ptr         *github_com_gogo_protobuf_test_casttype.MyFloat64Type                                                       `protobuf:"fixed64,7,opt,name=MyFloat64Ptr,casttype=github.com/gogo/protobuf/test/casttype.MyFloat64Type" json:"MyFloat64Ptr,omitempty"`
    44  	MyFloat64            github_com_gogo_protobuf_test_casttype.MyFloat64Type                                                        `protobuf:"fixed64,8,opt,name=MyFloat64,casttype=github.com/gogo/protobuf/test/casttype.MyFloat64Type" json:"MyFloat64"`
    45  	MyBytes              github_com_gogo_protobuf_test_casttype.Bytes                                                                `protobuf:"bytes,9,opt,name=MyBytes,casttype=github.com/gogo/protobuf/test/casttype.Bytes" json:"MyBytes,omitempty"`
    46  	NormalBytes          []byte                                                                                                      `protobuf:"bytes,10,opt,name=NormalBytes" json:"NormalBytes,omitempty"`
    47  	MyUint64S            []github_com_gogo_protobuf_test_casttype.MyUint64Type                                                       `protobuf:"varint,11,rep,name=MyUint64s,casttype=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyUint64s,omitempty"`
    48  	MyMap                github_com_gogo_protobuf_test_casttype.MyMapType                                                            `protobuf:"bytes,12,rep,name=MyMap,casttype=github.com/gogo/protobuf/test/casttype.MyMapType" json:"MyMap,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
    49  	MyCustomMap          map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type `protobuf:"bytes,13,rep,name=MyCustomMap,castkey=github.com/gogo/protobuf/test/casttype.MyStringType,castvalue=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyCustomMap,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
    50  	MyNullableMap        map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson                                              `protobuf:"bytes,14,rep,name=MyNullableMap,castkey=github.com/gogo/protobuf/test/casttype.MyInt32Type" json:"MyNullableMap,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    51  	MyEmbeddedMap        map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson                                               `protobuf:"bytes,15,rep,name=MyEmbeddedMap,castkey=github.com/gogo/protobuf/test/casttype.MyInt32Type" json:"MyEmbeddedMap" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    52  	String_              *github_com_gogo_protobuf_test_casttype.MyStringType                                                        `protobuf:"bytes,16,opt,name=String,casttype=github.com/gogo/protobuf/test/casttype.MyStringType" json:"String,omitempty"`
    53  	XXX_NoUnkeyedLiteral struct{}                                                                                                    `json:"-"`
    54  	XXX_unrecognized     []byte                                                                                                      `json:"-"`
    55  	XXX_sizecache        int32                                                                                                       `json:"-"`
    56  }
    57  
    58  func (m *Castaway) Reset()      { *m = Castaway{} }
    59  func (*Castaway) ProtoMessage() {}
    60  func (*Castaway) Descriptor() ([]byte, []int) {
    61  	return fileDescriptor_46f4856cfc83fd14, []int{0}
    62  }
    63  func (m *Castaway) XXX_Unmarshal(b []byte) error {
    64  	return m.Unmarshal(b)
    65  }
    66  func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    67  	return xxx_messageInfo_Castaway.Marshal(b, m, deterministic)
    68  }
    69  func (m *Castaway) XXX_Merge(src proto.Message) {
    70  	xxx_messageInfo_Castaway.Merge(m, src)
    71  }
    72  func (m *Castaway) XXX_Size() int {
    73  	return xxx_messageInfo_Castaway.Size(m)
    74  }
    75  func (m *Castaway) XXX_DiscardUnknown() {
    76  	xxx_messageInfo_Castaway.DiscardUnknown(m)
    77  }
    78  
    79  var xxx_messageInfo_Castaway proto.InternalMessageInfo
    80  
    81  type Wilson struct {
    82  	Int64                *int64   `protobuf:"varint,1,opt,name=Int64" json:"Int64,omitempty"`
    83  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    84  	XXX_unrecognized     []byte   `json:"-"`
    85  	XXX_sizecache        int32    `json:"-"`
    86  }
    87  
    88  func (m *Wilson) Reset()      { *m = Wilson{} }
    89  func (*Wilson) ProtoMessage() {}
    90  func (*Wilson) Descriptor() ([]byte, []int) {
    91  	return fileDescriptor_46f4856cfc83fd14, []int{1}
    92  }
    93  func (m *Wilson) XXX_Unmarshal(b []byte) error {
    94  	return m.Unmarshal(b)
    95  }
    96  func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    97  	return xxx_messageInfo_Wilson.Marshal(b, m, deterministic)
    98  }
    99  func (m *Wilson) XXX_Merge(src proto.Message) {
   100  	xxx_messageInfo_Wilson.Merge(m, src)
   101  }
   102  func (m *Wilson) XXX_Size() int {
   103  	return xxx_messageInfo_Wilson.Size(m)
   104  }
   105  func (m *Wilson) XXX_DiscardUnknown() {
   106  	xxx_messageInfo_Wilson.DiscardUnknown(m)
   107  }
   108  
   109  var xxx_messageInfo_Wilson proto.InternalMessageInfo
   110  
   111  func init() {
   112  	proto.RegisterType((*Castaway)(nil), "casttype.Castaway")
   113  	proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type)(nil), "casttype.Castaway.MyCustomMapEntry")
   114  	proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson)(nil), "casttype.Castaway.MyEmbeddedMapEntry")
   115  	proto.RegisterMapType((github_com_gogo_protobuf_test_casttype.MyMapType)(nil), "casttype.Castaway.MyMapEntry")
   116  	proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)(nil), "casttype.Castaway.MyNullableMapEntry")
   117  	proto.RegisterType((*Wilson)(nil), "casttype.Wilson")
   118  }
   119  
   120  func init() { proto.RegisterFile("combos/unmarshaler/casttype.proto", fileDescriptor_46f4856cfc83fd14) }
   121  
   122  var fileDescriptor_46f4856cfc83fd14 = []byte{
   123  	// 698 bytes of a gzipped FileDescriptorProto
   124  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x40,
   125  	0x14, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0x06, 0xa2, 0x13, 0x83, 0x55, 0x89, 0xb3, 0x69, 0x55,
   126  	0xe4, 0x01, 0x92, 0x2a, 0x8d, 0x4a, 0x55, 0x10, 0x83, 0xab, 0x22, 0x15, 0xe1, 0x82, 0x0c, 0x55,
   127  	0x05, 0x62, 0xb9, 0xb4, 0x26, 0x8d, 0x70, 0xec, 0xc8, 0xbe, 0x80, 0xbc, 0x55, 0x65, 0x40, 0xe2,
   128  	0x2f, 0x61, 0x64, 0x41, 0x62, 0x64, 0xec, 0xd8, 0x91, 0x29, 0xad, 0xcd, 0x52, 0xb6, 0x8e, 0x55,
   129  	0x26, 0x74, 0x77, 0x4e, 0xec, 0xfe, 0x00, 0xa5, 0xe9, 0x76, 0xef, 0xee, 0xbd, 0xcf, 0xfb, 0xde,
   130  	0xbb, 0x77, 0x77, 0xf0, 0xce, 0x96, 0xdb, 0xaa, 0xbb, 0x7e, 0xa5, 0xe3, 0xb4, 0x88, 0xe7, 0xef,
   131  	0x10, 0xdb, 0xf2, 0x2a, 0x5b, 0xc4, 0xa7, 0x34, 0x68, 0x5b, 0xe5, 0xb6, 0xe7, 0x52, 0x17, 0xe5,
   132  	0xfa, 0xf6, 0xf4, 0xfd, 0x46, 0x93, 0xee, 0x74, 0xea, 0xe5, 0x2d, 0xb7, 0x55, 0x69, 0xb8, 0x0d,
   133  	0xb7, 0xc2, 0x1d, 0xea, 0x9d, 0x77, 0xdc, 0xe2, 0x06, 0x1f, 0x89, 0xc0, 0x99, 0x3f, 0x45, 0x98,
   134  	0x5b, 0x21, 0x3e, 0x25, 0x1f, 0x49, 0x80, 0xe6, 0x60, 0x6e, 0xcd, 0xa1, 0x0b, 0xd5, 0x17, 0xd4,
   135  	0x93, 0x81, 0x0a, 0xb4, 0x8c, 0x9e, 0xef, 0x75, 0x95, 0x6c, 0x93, 0xcd, 0x99, 0x83, 0x25, 0x34,
   136  	0x0b, 0xb3, 0x7c, 0x2c, 0x8f, 0x71, 0x9f, 0xe2, 0x7e, 0x57, 0x91, 0x12, 0x3f, 0xb1, 0x86, 0x5e,
   137  	0xc3, 0x82, 0x11, 0x6c, 0x34, 0x1d, 0xba, 0x58, 0x63, 0xb8, 0x8c, 0x0a, 0xb4, 0x71, 0xfd, 0x41,
   138  	0xaf, 0xab, 0x2c, 0xfc, 0x53, 0x20, 0xb5, 0x7c, 0x9a, 0x6c, 0xac, 0x1f, 0xfd, 0x2a, 0x68, 0x5b,
   139  	0x66, 0x9a, 0x85, 0x36, 0x61, 0xae, 0x6f, 0xca, 0xe3, 0x9c, 0xfb, 0x30, 0x96, 0x30, 0x12, 0x7b,
   140  	0x00, 0x43, 0x6f, 0xe1, 0x94, 0x11, 0x3c, 0xb1, 0x5d, 0x12, 0xd7, 0x20, 0xab, 0x02, 0x6d, 0x4c,
   141  	0x5f, 0xea, 0x75, 0x95, 0xda, 0xd0, 0xe0, 0x38, 0x9c, 0x93, 0xcf, 0xd0, 0xd0, 0x1b, 0x98, 0x1f,
   142  	0xd8, 0xf2, 0x04, 0x47, 0x3f, 0x8a, 0x75, 0x8f, 0x86, 0x4f, 0x70, 0x29, 0xe5, 0xa2, 0xdc, 0x93,
   143  	0x2a, 0xd0, 0xc0, 0x28, 0xca, 0xe3, 0x9a, 0x9c, 0xa1, 0xa5, 0x94, 0x2f, 0xd6, 0xe4, 0x1c, 0x47,
   144  	0x8f, 0xa8, 0x3c, 0xc6, 0x27, 0x38, 0xf4, 0x14, 0x4e, 0x1a, 0x81, 0x1e, 0x50, 0xcb, 0x97, 0xf3,
   145  	0x2a, 0xd0, 0xa6, 0xf4, 0xf9, 0x5e, 0x57, 0xb9, 0x37, 0x24, 0x95, 0xc7, 0x99, 0x7d, 0x00, 0x52,
   146  	0x61, 0x61, 0xdd, 0xf5, 0x5a, 0xc4, 0x16, 0x3c, 0xc8, 0x78, 0x66, 0x7a, 0x0a, 0x6d, 0xb0, 0x9d,
   147  	0x88, 0xd3, 0xf6, 0xe5, 0x82, 0x9a, 0xb9, 0x4e, 0x4f, 0x26, 0x24, 0xd4, 0x84, 0x59, 0x23, 0x30,
   148  	0x48, 0x5b, 0x9e, 0x52, 0x33, 0x5a, 0xa1, 0x7a, 0xbb, 0x3c, 0x88, 0xe8, 0xdf, 0xad, 0x32, 0x5f,
   149  	0x5f, 0x75, 0xa8, 0x17, 0xe8, 0xb5, 0x5e, 0x57, 0x99, 0x1f, 0x3a, 0xa3, 0x41, 0xda, 0x3c, 0x9d,
   150  	0xc8, 0x80, 0xbe, 0x03, 0x76, 0xb1, 0x56, 0x3a, 0x3e, 0x75, 0x5b, 0x2c, 0x63, 0x91, 0x67, 0x9c,
   151  	0xbd, 0x34, 0xe3, 0xc0, 0x4b, 0xe4, 0x75, 0xf6, 0x0e, 0xaf, 0xb0, 0xd3, 0x97, 0xd4, 0x6b, 0x3a,
   152  	0x0d, 0x96, 0xfa, 0xcb, 0xe1, 0xc8, 0x97, 0x76, 0xa0, 0x00, 0x7d, 0x02, 0xb0, 0x68, 0x04, 0xeb,
   153  	0x1d, 0xdb, 0x26, 0x75, 0xdb, 0x62, 0xca, 0x6f, 0x70, 0xe5, 0x73, 0x97, 0x2a, 0x4f, 0xf9, 0x09,
   154  	0xed, 0x8b, 0x7b, 0x87, 0x4a, 0x75, 0x68, 0x11, 0xfc, 0x09, 0xe2, 0x1a, 0xce, 0xe6, 0x44, 0x9f,
   155  	0xb9, 0x8a, 0xd5, 0x56, 0xdd, 0xda, 0xde, 0xb6, 0xb6, 0x99, 0x8a, 0x9b, 0xff, 0x51, 0x91, 0xf2,
   156  	0x13, 0x2a, 0x96, 0x59, 0xd7, 0x8f, 0xae, 0x24, 0xc5, 0x43, 0xcf, 0xe1, 0x84, 0xa8, 0xb0, 0x5c,
   157  	0x52, 0x81, 0x96, 0xbf, 0x62, 0x1b, 0x26, 0x87, 0x63, 0xc6, 0x98, 0xe9, 0x25, 0x08, 0x93, 0x1e,
   158  	0x43, 0x25, 0x98, 0x79, 0x6f, 0x05, 0xfc, 0x15, 0xcf, 0x9b, 0x6c, 0x88, 0x6e, 0xc1, 0xec, 0x07,
   159  	0x62, 0x77, 0x2c, 0xfe, 0x6a, 0x8f, 0x9b, 0xc2, 0x58, 0x1e, 0x5b, 0x02, 0xd3, 0x8f, 0x61, 0xe9,
   160  	0x7c, 0xaf, 0x5c, 0x29, 0xde, 0x84, 0xe8, 0xe2, 0x89, 0xa5, 0x09, 0x59, 0x41, 0xb8, 0x9b, 0x26,
   161  	0x14, 0xaa, 0xa5, 0xa4, 0xe6, 0x9b, 0x4d, 0xdb, 0x77, 0x9d, 0x0b, 0xcc, 0xf3, 0xf5, 0xbf, 0x1e,
   162  	0x73, 0x06, 0xc3, 0x09, 0x31, 0xc9, 0xf6, 0xb2, 0xc6, 0xbf, 0x0f, 0xfe, 0xcb, 0x99, 0xc2, 0xd0,
   163  	0x9f, 0xed, 0x87, 0x58, 0x3a, 0x08, 0xb1, 0xf4, 0x2b, 0xc4, 0xd2, 0x51, 0x88, 0xc1, 0x71, 0x88,
   164  	0xc1, 0x49, 0x88, 0xc1, 0x69, 0x88, 0xc1, 0x6e, 0x84, 0xc1, 0xd7, 0x08, 0x83, 0x6f, 0x11, 0x06,
   165  	0x3f, 0x22, 0x0c, 0x7e, 0x46, 0x18, 0xec, 0x47, 0x58, 0x3a, 0x88, 0x30, 0x38, 0x8a, 0x30, 0x38,
   166  	0x8e, 0xb0, 0x74, 0x12, 0x61, 0x70, 0x1a, 0x61, 0x69, 0xf7, 0x37, 0x96, 0xfe, 0x06, 0x00, 0x00,
   167  	0xff, 0xff, 0xa8, 0xc0, 0xa5, 0xf1, 0xb6, 0x07, 0x00, 0x00,
   168  }
   169  
   170  func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
   171  	return CasttypeDescription()
   172  }
   173  func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
   174  	return CasttypeDescription()
   175  }
   176  func CasttypeDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
   177  	d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
   178  	var gzipped = []byte{
   179  		// 4377 bytes of a gzipped FileDescriptorSet
   180  		0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5b, 0x5b, 0x70, 0x1b, 0xd7,
   181  		0x79, 0xe6, 0xe2, 0x42, 0x02, 0x3f, 0x40, 0x70, 0x79, 0x48, 0xcb, 0x30, 0x13, 0x83, 0x14, 0xe5,
   182  		0x0b, 0x7d, 0xa3, 0x3c, 0xba, 0x1b, 0x4a, 0xec, 0x12, 0x24, 0xc4, 0x40, 0x25, 0x48, 0x66, 0x49,
   183  		0x46, 0x96, 0xd3, 0xce, 0xce, 0x72, 0x71, 0x08, 0xae, 0xb4, 0xd8, 0xdd, 0xec, 0x2e, 0x24, 0x43,
   184  		0xd3, 0x07, 0x35, 0x6e, 0x9b, 0x49, 0xef, 0xb7, 0x99, 0x26, 0xae, 0xe3, 0x36, 0xe9, 0x34, 0x4e,
   185  		0xd3, 0x5b, 0xd2, 0x36, 0x6e, 0x92, 0xbe, 0xe4, 0x25, 0xad, 0x9e, 0x3a, 0xc9, 0x5b, 0x1f, 0x3a,
   186  		0xb2, 0xc5, 0x78, 0xa6, 0x4e, 0xeb, 0xb6, 0x6e, 0xab, 0x07, 0x8f, 0xfc, 0xd2, 0x39, 0xb7, 0xc5,
   187  		0xe2, 0x42, 0x2d, 0xa8, 0x8c, 0x9d, 0x27, 0x62, 0xff, 0xf3, 0x7f, 0xdf, 0xf9, 0xcf, 0x7f, 0xfe,
   188  		0x73, 0xfe, 0xff, 0x9c, 0x5d, 0xc2, 0x8d, 0x22, 0xcc, 0xd4, 0x6d, 0xbb, 0x6e, 0xe2, 0xa3, 0x8e,
   189  		0x6b, 0xfb, 0xf6, 0x76, 0x73, 0xe7, 0x68, 0x0d, 0x7b, 0xba, 0x6b, 0x38, 0xbe, 0xed, 0xce, 0x53,
   190  		0x19, 0x1a, 0x63, 0x1a, 0xf3, 0x42, 0x63, 0xb6, 0x0a, 0xe3, 0xe7, 0x0c, 0x13, 0x2f, 0x05, 0x8a,
   191  		0x1b, 0xd8, 0x47, 0x67, 0x20, 0xb1, 0x63, 0x98, 0x38, 0x2f, 0xcd, 0xc4, 0xe7, 0x32, 0xc7, 0x1e,
   192  		0x9a, 0xef, 0x02, 0xcd, 0x77, 0x22, 0xd6, 0x89, 0x58, 0xa1, 0x88, 0xd9, 0xb7, 0x12, 0x30, 0xd1,
   193  		0xa7, 0x15, 0x21, 0x48, 0x58, 0x5a, 0x83, 0x30, 0x4a, 0x73, 0x69, 0x85, 0xfe, 0x46, 0x79, 0x18,
   194  		0x71, 0x34, 0xfd, 0xb2, 0x56, 0xc7, 0xf9, 0x18, 0x15, 0x8b, 0x47, 0x54, 0x00, 0xa8, 0x61, 0x07,
   195  		0x5b, 0x35, 0x6c, 0xe9, 0xad, 0x7c, 0x7c, 0x26, 0x3e, 0x97, 0x56, 0x42, 0x12, 0xf4, 0x04, 0x8c,
   196  		0x3b, 0xcd, 0x6d, 0xd3, 0xd0, 0xd5, 0x90, 0x1a, 0xcc, 0xc4, 0xe7, 0x92, 0x8a, 0xcc, 0x1a, 0x96,
   197  		0xda, 0xca, 0x8f, 0xc2, 0xd8, 0x55, 0xac, 0x5d, 0x0e, 0xab, 0x66, 0xa8, 0x6a, 0x8e, 0x88, 0x43,
   198  		0x8a, 0x8b, 0x90, 0x6d, 0x60, 0xcf, 0xd3, 0xea, 0x58, 0xf5, 0x5b, 0x0e, 0xce, 0x27, 0xe8, 0xe8,
   199  		0x67, 0x7a, 0x46, 0xdf, 0x3d, 0xf2, 0x0c, 0x47, 0x6d, 0xb6, 0x1c, 0x8c, 0x16, 0x20, 0x8d, 0xad,
   200  		0x66, 0x83, 0x31, 0x24, 0xf7, 0xf1, 0x5f, 0xd9, 0x6a, 0x36, 0xba, 0x59, 0x52, 0x04, 0xc6, 0x29,
   201  		0x46, 0x3c, 0xec, 0x5e, 0x31, 0x74, 0x9c, 0x1f, 0xa6, 0x04, 0x8f, 0xf6, 0x10, 0x6c, 0xb0, 0xf6,
   202  		0x6e, 0x0e, 0x81, 0x43, 0x8b, 0x90, 0xc6, 0x2f, 0xfa, 0xd8, 0xf2, 0x0c, 0xdb, 0xca, 0x8f, 0x50,
   203  		0x92, 0x87, 0xfb, 0xcc, 0x22, 0x36, 0x6b, 0xdd, 0x14, 0x6d, 0x1c, 0x3a, 0x05, 0x23, 0xb6, 0xe3,
   204  		0x1b, 0xb6, 0xe5, 0xe5, 0x53, 0x33, 0xd2, 0x5c, 0xe6, 0xd8, 0x47, 0xfb, 0x06, 0xc2, 0x1a, 0xd3,
   205  		0x51, 0x84, 0x32, 0xaa, 0x80, 0xec, 0xd9, 0x4d, 0x57, 0xc7, 0xaa, 0x6e, 0xd7, 0xb0, 0x6a, 0x58,
   206  		0x3b, 0x76, 0x3e, 0x4d, 0x09, 0xa6, 0x7b, 0x07, 0x42, 0x15, 0x17, 0xed, 0x1a, 0xae, 0x58, 0x3b,
   207  		0xb6, 0x92, 0xf3, 0x3a, 0x9e, 0xd1, 0x21, 0x18, 0xf6, 0x5a, 0x96, 0xaf, 0xbd, 0x98, 0xcf, 0xd2,
   208  		0x08, 0xe1, 0x4f, 0xb3, 0xdf, 0x19, 0x86, 0xb1, 0x41, 0x42, 0xec, 0x2c, 0x24, 0x77, 0xc8, 0x28,
   209  		0xf3, 0xb1, 0x83, 0xf8, 0x80, 0x61, 0x3a, 0x9d, 0x38, 0x7c, 0x8f, 0x4e, 0x5c, 0x80, 0x8c, 0x85,
   210  		0x3d, 0x1f, 0xd7, 0x58, 0x44, 0xc4, 0x07, 0x8c, 0x29, 0x60, 0xa0, 0xde, 0x90, 0x4a, 0xdc, 0x53,
   211  		0x48, 0x3d, 0x0f, 0x63, 0x81, 0x49, 0xaa, 0xab, 0x59, 0x75, 0x11, 0x9b, 0x47, 0xa3, 0x2c, 0x99,
   212  		0x2f, 0x0b, 0x9c, 0x42, 0x60, 0x4a, 0x0e, 0x77, 0x3c, 0xa3, 0x25, 0x00, 0xdb, 0xc2, 0xf6, 0x8e,
   213  		0x5a, 0xc3, 0xba, 0x99, 0x4f, 0xed, 0xe3, 0xa5, 0x35, 0xa2, 0xd2, 0xe3, 0x25, 0x9b, 0x49, 0x75,
   214  		0x13, 0x3d, 0xd3, 0x0e, 0xb5, 0x91, 0x7d, 0x22, 0xa5, 0xca, 0x16, 0x59, 0x4f, 0xb4, 0x6d, 0x41,
   215  		0xce, 0xc5, 0x24, 0xee, 0x71, 0x8d, 0x8f, 0x2c, 0x4d, 0x8d, 0x98, 0x8f, 0x1c, 0x99, 0xc2, 0x61,
   216  		0x6c, 0x60, 0xa3, 0x6e, 0xf8, 0x11, 0x1d, 0x81, 0x40, 0xa0, 0xd2, 0xb0, 0x02, 0xba, 0x0b, 0x65,
   217  		0x85, 0x70, 0x55, 0x6b, 0xe0, 0xa9, 0x6b, 0x90, 0xeb, 0x74, 0x0f, 0x9a, 0x84, 0xa4, 0xe7, 0x6b,
   218  		0xae, 0x4f, 0xa3, 0x30, 0xa9, 0xb0, 0x07, 0x24, 0x43, 0x1c, 0x5b, 0x35, 0xba, 0xcb, 0x25, 0x15,
   219  		0xf2, 0x13, 0xfd, 0x4c, 0x7b, 0xc0, 0x71, 0x3a, 0xe0, 0x47, 0x7a, 0x67, 0xb4, 0x83, 0xb9, 0x7b,
   220  		0xdc, 0x53, 0xa7, 0x61, 0xb4, 0x63, 0x00, 0x83, 0x76, 0x3d, 0xfb, 0x0b, 0x70, 0x5f, 0x5f, 0x6a,
   221  		0xf4, 0x3c, 0x4c, 0x36, 0x2d, 0xc3, 0xf2, 0xb1, 0xeb, 0xb8, 0x98, 0x44, 0x2c, 0xeb, 0x2a, 0xff,
   222  		0x6f, 0x23, 0xfb, 0xc4, 0xdc, 0x56, 0x58, 0x9b, 0xb1, 0x28, 0x13, 0xcd, 0x5e, 0xe1, 0xe3, 0xe9,
   223  		0xd4, 0xdb, 0x23, 0xf2, 0xf5, 0xeb, 0xd7, 0xaf, 0xc7, 0x66, 0xbf, 0x30, 0x0c, 0x93, 0xfd, 0xd6,
   224  		0x4c, 0xdf, 0xe5, 0x7b, 0x08, 0x86, 0xad, 0x66, 0x63, 0x1b, 0xbb, 0xd4, 0x49, 0x49, 0x85, 0x3f,
   225  		0xa1, 0x05, 0x48, 0x9a, 0xda, 0x36, 0x36, 0xf3, 0x89, 0x19, 0x69, 0x2e, 0x77, 0xec, 0x89, 0x81,
   226  		0x56, 0xe5, 0xfc, 0x0a, 0x81, 0x28, 0x0c, 0x89, 0x9e, 0x85, 0x04, 0xdf, 0xa2, 0x09, 0xc3, 0xe3,
   227  		0x83, 0x31, 0x90, 0xb5, 0xa4, 0x50, 0x1c, 0xfa, 0x08, 0xa4, 0xc9, 0x5f, 0x16, 0x1b, 0xc3, 0xd4,
   228  		0xe6, 0x14, 0x11, 0x90, 0xb8, 0x40, 0x53, 0x90, 0xa2, 0xcb, 0xa4, 0x86, 0x45, 0x6a, 0x0b, 0x9e,
   229  		0x49, 0x60, 0xd5, 0xf0, 0x8e, 0xd6, 0x34, 0x7d, 0xf5, 0x8a, 0x66, 0x36, 0x31, 0x0d, 0xf8, 0xb4,
   230  		0x92, 0xe5, 0xc2, 0x4f, 0x11, 0x19, 0x9a, 0x86, 0x0c, 0x5b, 0x55, 0x86, 0x55, 0xc3, 0x2f, 0xd2,
   231  		0xdd, 0x33, 0xa9, 0xb0, 0x85, 0x56, 0x21, 0x12, 0xd2, 0xfd, 0x25, 0xcf, 0xb6, 0x44, 0x68, 0xd2,
   232  		0x2e, 0x88, 0x80, 0x76, 0x7f, 0xba, 0x7b, 0xe3, 0x7e, 0xb0, 0xff, 0xf0, 0xba, 0x63, 0x6a, 0xf6,
   233  		0xf5, 0x18, 0x24, 0xe8, 0x7e, 0x31, 0x06, 0x99, 0xcd, 0x8b, 0xeb, 0x65, 0x75, 0x69, 0x6d, 0xab,
   234  		0xb4, 0x52, 0x96, 0x25, 0x94, 0x03, 0xa0, 0x82, 0x73, 0x2b, 0x6b, 0x0b, 0x9b, 0x72, 0x2c, 0x78,
   235  		0xae, 0xac, 0x6e, 0x9e, 0x3a, 0x21, 0xc7, 0x03, 0xc0, 0x16, 0x13, 0x24, 0xc2, 0x0a, 0xc7, 0x8f,
   236  		0xc9, 0x49, 0x24, 0x43, 0x96, 0x11, 0x54, 0x9e, 0x2f, 0x2f, 0x9d, 0x3a, 0x21, 0x0f, 0x77, 0x4a,
   237  		0x8e, 0x1f, 0x93, 0x47, 0xd0, 0x28, 0xa4, 0xa9, 0xa4, 0xb4, 0xb6, 0xb6, 0x22, 0xa7, 0x02, 0xce,
   238  		0x8d, 0x4d, 0xa5, 0xb2, 0xba, 0x2c, 0xa7, 0x03, 0xce, 0x65, 0x65, 0x6d, 0x6b, 0x5d, 0x86, 0x80,
   239  		0xa1, 0x5a, 0xde, 0xd8, 0x58, 0x58, 0x2e, 0xcb, 0x99, 0x40, 0xa3, 0x74, 0x71, 0xb3, 0xbc, 0x21,
   240  		0x67, 0x3b, 0xcc, 0x3a, 0x7e, 0x4c, 0x1e, 0x0d, 0xba, 0x28, 0xaf, 0x6e, 0x55, 0xe5, 0x1c, 0x1a,
   241  		0x87, 0x51, 0xd6, 0x85, 0x30, 0x62, 0xac, 0x4b, 0x74, 0xea, 0x84, 0x2c, 0xb7, 0x0d, 0x61, 0x2c,
   242  		0xe3, 0x1d, 0x82, 0x53, 0x27, 0x64, 0x34, 0xbb, 0x08, 0x49, 0x1a, 0x5d, 0x08, 0x41, 0x6e, 0x65,
   243  		0xa1, 0x54, 0x5e, 0x51, 0xd7, 0xd6, 0x37, 0x2b, 0x6b, 0xab, 0x0b, 0x2b, 0xb2, 0xd4, 0x96, 0x29,
   244  		0xe5, 0x4f, 0x6e, 0x55, 0x94, 0xf2, 0x92, 0x1c, 0x0b, 0xcb, 0xd6, 0xcb, 0x0b, 0x9b, 0xe5, 0x25,
   245  		0x39, 0x3e, 0xab, 0xc3, 0x64, 0xbf, 0x7d, 0xb2, 0xef, 0xca, 0x08, 0x4d, 0x71, 0x6c, 0x9f, 0x29,
   246  		0xa6, 0x5c, 0x3d, 0x53, 0xfc, 0xa3, 0x18, 0x4c, 0xf4, 0xc9, 0x15, 0x7d, 0x3b, 0x79, 0x0e, 0x92,
   247  		0x2c, 0x44, 0x59, 0xf6, 0x7c, 0xac, 0x6f, 0xd2, 0xa1, 0x01, 0xdb, 0x93, 0x41, 0x29, 0x2e, 0x5c,
   248  		0x41, 0xc4, 0xf7, 0xa9, 0x20, 0x08, 0x45, 0xcf, 0x9e, 0xfe, 0xf3, 0x3d, 0x7b, 0x3a, 0x4b, 0x7b,
   249  		0xa7, 0x06, 0x49, 0x7b, 0x54, 0x76, 0xb0, 0xbd, 0x3d, 0xd9, 0x67, 0x6f, 0x3f, 0x0b, 0xe3, 0x3d,
   250  		0x44, 0x03, 0xef, 0xb1, 0x2f, 0x49, 0x90, 0xdf, 0xcf, 0x39, 0x11, 0x3b, 0x5d, 0xac, 0x63, 0xa7,
   251  		0x3b, 0xdb, 0xed, 0xc1, 0xc3, 0xfb, 0x4f, 0x42, 0xcf, 0x5c, 0xbf, 0x26, 0xc1, 0xa1, 0xfe, 0x95,
   252  		0x62, 0x5f, 0x1b, 0x9e, 0x85, 0xe1, 0x06, 0xf6, 0x77, 0x6d, 0x51, 0x2d, 0x3d, 0xd2, 0x27, 0x07,
   253  		0x93, 0xe6, 0xee, 0xc9, 0xe6, 0xa8, 0x70, 0x12, 0x8f, 0xef, 0x57, 0xee, 0x31, 0x6b, 0x7a, 0x2c,
   254  		0xfd, 0x7c, 0x0c, 0xee, 0xeb, 0x4b, 0xde, 0xd7, 0xd0, 0x07, 0x01, 0x0c, 0xcb, 0x69, 0xfa, 0xac,
   255  		0x22, 0x62, 0x1b, 0x6c, 0x9a, 0x4a, 0xe8, 0xe6, 0x45, 0x36, 0xcf, 0xa6, 0x1f, 0xb4, 0xc7, 0x69,
   256  		0x3b, 0x30, 0x11, 0x55, 0x38, 0xd3, 0x36, 0x34, 0x41, 0x0d, 0x2d, 0xec, 0x33, 0xd2, 0x9e, 0xc0,
   257  		0x7c, 0x1a, 0x64, 0xdd, 0x34, 0xb0, 0xe5, 0xab, 0x9e, 0xef, 0x62, 0xad, 0x61, 0x58, 0x75, 0x9a,
   258  		0x41, 0x52, 0xc5, 0xe4, 0x8e, 0x66, 0x7a, 0x58, 0x19, 0x63, 0xcd, 0x1b, 0xa2, 0x95, 0x20, 0x68,
   259  		0x00, 0xb9, 0x21, 0xc4, 0x70, 0x07, 0x82, 0x35, 0x07, 0x88, 0xd9, 0x5f, 0x4f, 0x43, 0x26, 0x54,
   260  		0x57, 0xa3, 0xc3, 0x90, 0xbd, 0xa4, 0x5d, 0xd1, 0x54, 0x71, 0x56, 0x62, 0x9e, 0xc8, 0x10, 0xd9,
   261  		0x3a, 0x3f, 0x2f, 0x3d, 0x0d, 0x93, 0x54, 0xc5, 0x6e, 0xfa, 0xd8, 0x55, 0x75, 0x53, 0xf3, 0x3c,
   262  		0xea, 0xb4, 0x14, 0x55, 0x45, 0xa4, 0x6d, 0x8d, 0x34, 0x2d, 0x8a, 0x16, 0x74, 0x12, 0x26, 0x28,
   263  		0xa2, 0xd1, 0x34, 0x7d, 0xc3, 0x31, 0xb1, 0x4a, 0x4e, 0x6f, 0x1e, 0xcd, 0x24, 0x81, 0x65, 0xe3,
   264  		0x44, 0xa3, 0xca, 0x15, 0x88, 0x45, 0x1e, 0x5a, 0x82, 0x07, 0x29, 0xac, 0x8e, 0x2d, 0xec, 0x6a,
   265  		0x3e, 0x56, 0xf1, 0x67, 0x9a, 0x9a, 0xe9, 0xa9, 0x9a, 0x55, 0x53, 0x77, 0x35, 0x6f, 0x37, 0x3f,
   266  		0x49, 0x08, 0x4a, 0xb1, 0xbc, 0xa4, 0x3c, 0x40, 0x14, 0x97, 0xb9, 0x5e, 0x99, 0xaa, 0x2d, 0x58,
   267  		0xb5, 0x4f, 0x68, 0xde, 0x2e, 0x2a, 0xc2, 0x21, 0xca, 0xe2, 0xf9, 0xae, 0x61, 0xd5, 0x55, 0x7d,
   268  		0x17, 0xeb, 0x97, 0xd5, 0xa6, 0xbf, 0x73, 0x26, 0xff, 0x91, 0x70, 0xff, 0xd4, 0xc2, 0x0d, 0xaa,
   269  		0xb3, 0x48, 0x54, 0xb6, 0xfc, 0x9d, 0x33, 0x68, 0x03, 0xb2, 0x64, 0x32, 0x1a, 0xc6, 0x35, 0xac,
   270  		0xee, 0xd8, 0x2e, 0x4d, 0x8d, 0xb9, 0x3e, 0x5b, 0x53, 0xc8, 0x83, 0xf3, 0x6b, 0x1c, 0x50, 0xb5,
   271  		0x6b, 0xb8, 0x98, 0xdc, 0x58, 0x2f, 0x97, 0x97, 0x94, 0x8c, 0x60, 0x39, 0x67, 0xbb, 0x24, 0xa0,
   272  		0xea, 0x76, 0xe0, 0xe0, 0x0c, 0x0b, 0xa8, 0xba, 0x2d, 0xdc, 0x7b, 0x12, 0x26, 0x74, 0x9d, 0x8d,
   273  		0xd9, 0xd0, 0x55, 0x7e, 0xc6, 0xf2, 0xf2, 0x72, 0x87, 0xb3, 0x74, 0x7d, 0x99, 0x29, 0xf0, 0x18,
   274  		0xf7, 0xd0, 0x33, 0x70, 0x5f, 0xdb, 0x59, 0x61, 0xe0, 0x78, 0xcf, 0x28, 0xbb, 0xa1, 0x27, 0x61,
   275  		0xc2, 0x69, 0xf5, 0x02, 0x51, 0x47, 0x8f, 0x4e, 0xab, 0x1b, 0x76, 0x1a, 0x26, 0x9d, 0x5d, 0xa7,
   276  		0x17, 0xf7, 0x78, 0x18, 0x87, 0x9c, 0x5d, 0xa7, 0x1b, 0xf8, 0x30, 0x3d, 0x70, 0xbb, 0x58, 0xd7,
   277  		0x7c, 0x5c, 0xcb, 0xdf, 0x1f, 0x56, 0x0f, 0x35, 0xa0, 0xa3, 0x20, 0xeb, 0xba, 0x8a, 0x2d, 0x6d,
   278  		0xdb, 0xc4, 0xaa, 0xe6, 0x62, 0x4b, 0xf3, 0xf2, 0xd3, 0x61, 0xe5, 0x9c, 0xae, 0x97, 0x69, 0xeb,
   279  		0x02, 0x6d, 0x44, 0x8f, 0xc3, 0xb8, 0xbd, 0x7d, 0x49, 0x67, 0x21, 0xa9, 0x3a, 0x2e, 0xde, 0x31,
   280  		0x5e, 0xcc, 0x3f, 0x44, 0xfd, 0x3b, 0x46, 0x1a, 0x68, 0x40, 0xae, 0x53, 0x31, 0x7a, 0x0c, 0x64,
   281  		0xdd, 0xdb, 0xd5, 0x5c, 0x87, 0xee, 0xc9, 0x9e, 0xa3, 0xe9, 0x38, 0xff, 0x30, 0x53, 0x65, 0xf2,
   282  		0x55, 0x21, 0x26, 0x4b, 0xc2, 0xbb, 0x6a, 0xec, 0xf8, 0x82, 0xf1, 0x51, 0xb6, 0x24, 0xa8, 0x8c,
   283  		0xb3, 0xcd, 0x81, 0x4c, 0x5c, 0xd1, 0xd1, 0xf1, 0x1c, 0x55, 0xcb, 0x39, 0xbb, 0x4e, 0xb8, 0xdf,
   284  		0x23, 0x30, 0x4a, 0x34, 0xdb, 0x9d, 0x3e, 0xc6, 0x0a, 0x32, 0x67, 0x37, 0xd4, 0xe3, 0x09, 0x38,
   285  		0x44, 0x94, 0x1a, 0xd8, 0xd7, 0x6a, 0x9a, 0xaf, 0x85, 0xb4, 0x9f, 0xa4, 0xda, 0xc4, 0xef, 0x55,
   286  		0xde, 0xd8, 0x61, 0xa7, 0xdb, 0xdc, 0x6e, 0x05, 0x91, 0xf5, 0x14, 0xb3, 0x93, 0xc8, 0x44, 0x6c,
   287  		0x7d, 0x60, 0x45, 0xf7, 0x6c, 0x11, 0xb2, 0xe1, 0xc0, 0x47, 0x69, 0x60, 0xa1, 0x2f, 0x4b, 0xa4,
   288  		0x0a, 0x5a, 0x5c, 0x5b, 0x22, 0xf5, 0xcb, 0x0b, 0x65, 0x39, 0x46, 0xea, 0xa8, 0x95, 0xca, 0x66,
   289  		0x59, 0x55, 0xb6, 0x56, 0x37, 0x2b, 0xd5, 0xb2, 0x1c, 0x0f, 0x17, 0xec, 0xdf, 0x8f, 0x41, 0xae,
   290  		0xf3, 0xec, 0x85, 0x3e, 0x06, 0xf7, 0x8b, 0x8b, 0x12, 0x0f, 0xfb, 0xea, 0x55, 0xc3, 0xa5, 0x6b,
   291  		0xb1, 0xa1, 0xb1, 0xbc, 0x18, 0x44, 0xc3, 0x24, 0xd7, 0xda, 0xc0, 0xfe, 0x05, 0xc3, 0x25, 0x2b,
   292  		0xad, 0xa1, 0xf9, 0x68, 0x05, 0xa6, 0x2d, 0x5b, 0xf5, 0x7c, 0xcd, 0xaa, 0x69, 0x6e, 0x4d, 0x6d,
   293  		0x5f, 0x51, 0xa9, 0x9a, 0xae, 0x63, 0xcf, 0xb3, 0x59, 0x0e, 0x0c, 0x58, 0x3e, 0x6a, 0xd9, 0x1b,
   294  		0x5c, 0xb9, 0x9d, 0x1c, 0x16, 0xb8, 0x6a, 0x57, 0xe4, 0xc6, 0xf7, 0x8b, 0xdc, 0x8f, 0x40, 0xba,
   295  		0xa1, 0x39, 0x2a, 0xb6, 0x7c, 0xb7, 0x45, 0x2b, 0xee, 0x94, 0x92, 0x6a, 0x68, 0x4e, 0x99, 0x3c,
   296  		0x7f, 0x38, 0x07, 0x9f, 0x7f, 0x8d, 0x43, 0x36, 0x5c, 0x75, 0x93, 0x43, 0x8c, 0x4e, 0x13, 0x94,
   297  		0x44, 0xb7, 0xb0, 0x23, 0x77, 0xad, 0xd1, 0xe7, 0x17, 0x49, 0xe6, 0x2a, 0x0e, 0xb3, 0x5a, 0x58,
   298  		0x61, 0x48, 0x52, 0x35, 0x90, 0xd0, 0xc2, 0xac, 0xf6, 0x48, 0x29, 0xfc, 0x09, 0x2d, 0xc3, 0xf0,
   299  		0x25, 0x8f, 0x72, 0x0f, 0x53, 0xee, 0x87, 0xee, 0xce, 0x7d, 0x7e, 0x83, 0x92, 0xa7, 0xcf, 0x6f,
   300  		0xa8, 0xab, 0x6b, 0x4a, 0x75, 0x61, 0x45, 0xe1, 0x70, 0xf4, 0x00, 0x24, 0x4c, 0xed, 0x5a, 0xab,
   301  		0x33, 0xc7, 0x51, 0xd1, 0xa0, 0x8e, 0x7f, 0x00, 0x12, 0x57, 0xb1, 0x76, 0xb9, 0x33, 0xb3, 0x50,
   302  		0xd1, 0x07, 0x18, 0xfa, 0x47, 0x21, 0x49, 0xfd, 0x85, 0x00, 0xb8, 0xc7, 0xe4, 0x21, 0x94, 0x82,
   303  		0xc4, 0xe2, 0x9a, 0x42, 0xc2, 0x5f, 0x86, 0x2c, 0x93, 0xaa, 0xeb, 0x95, 0xf2, 0x62, 0x59, 0x8e,
   304  		0xcd, 0x9e, 0x84, 0x61, 0xe6, 0x04, 0xb2, 0x34, 0x02, 0x37, 0xc8, 0x43, 0xfc, 0x91, 0x73, 0x48,
   305  		0xa2, 0x75, 0xab, 0x5a, 0x2a, 0x2b, 0x72, 0x2c, 0x3c, 0xbd, 0x1e, 0x64, 0xc3, 0x05, 0xf7, 0x87,
   306  		0x13, 0x53, 0xdf, 0x95, 0x20, 0x13, 0x2a, 0xa0, 0x49, 0xe5, 0xa3, 0x99, 0xa6, 0x7d, 0x55, 0xd5,
   307  		0x4c, 0x43, 0xf3, 0x78, 0x50, 0x00, 0x15, 0x2d, 0x10, 0xc9, 0xa0, 0x93, 0xf6, 0xa1, 0x18, 0xff,
   308  		0xaa, 0x04, 0x72, 0x77, 0xed, 0xda, 0x65, 0xa0, 0xf4, 0x53, 0x35, 0xf0, 0x15, 0x09, 0x72, 0x9d,
   309  		0x05, 0x6b, 0x97, 0x79, 0x87, 0x7f, 0xaa, 0xe6, 0xbd, 0x19, 0x83, 0xd1, 0x8e, 0x32, 0x75, 0x50,
   310  		0xeb, 0x3e, 0x03, 0xe3, 0x46, 0x0d, 0x37, 0x1c, 0xdb, 0xc7, 0x96, 0xde, 0x52, 0x4d, 0x7c, 0x05,
   311  		0x9b, 0xf9, 0x59, 0xba, 0x51, 0x1c, 0xbd, 0x7b, 0x21, 0x3c, 0x5f, 0x69, 0xe3, 0x56, 0x08, 0xac,
   312  		0x38, 0x51, 0x59, 0x2a, 0x57, 0xd7, 0xd7, 0x36, 0xcb, 0xab, 0x8b, 0x17, 0xd5, 0xad, 0xd5, 0x9f,
   313  		0x5d, 0x5d, 0xbb, 0xb0, 0xaa, 0xc8, 0x46, 0x97, 0xda, 0x07, 0xb8, 0xd4, 0xd7, 0x41, 0xee, 0x36,
   314  		0x0a, 0xdd, 0x0f, 0xfd, 0xcc, 0x92, 0x87, 0xd0, 0x04, 0x8c, 0xad, 0xae, 0xa9, 0x1b, 0x95, 0xa5,
   315  		0xb2, 0x5a, 0x3e, 0x77, 0xae, 0xbc, 0xb8, 0xb9, 0xc1, 0xae, 0x36, 0x02, 0xed, 0xcd, 0xce, 0x45,
   316  		0xfd, 0x72, 0x1c, 0x26, 0xfa, 0x58, 0x82, 0x16, 0xf8, 0xa1, 0x84, 0x9d, 0x93, 0x9e, 0x1a, 0xc4,
   317  		0xfa, 0x79, 0x52, 0x15, 0xac, 0x6b, 0xae, 0xcf, 0xcf, 0x30, 0x8f, 0x01, 0xf1, 0x92, 0xe5, 0x1b,
   318  		0x3b, 0x06, 0x76, 0xf9, 0x4d, 0x10, 0x3b, 0xa9, 0x8c, 0xb5, 0xe5, 0xec, 0x32, 0xe8, 0x49, 0x40,
   319  		0x8e, 0xed, 0x19, 0xbe, 0x71, 0x05, 0xab, 0x86, 0x25, 0xae, 0x8d, 0xc8, 0xc9, 0x25, 0xa1, 0xc8,
   320  		0xa2, 0xa5, 0x62, 0xf9, 0x81, 0xb6, 0x85, 0xeb, 0x5a, 0x97, 0x36, 0xd9, 0xc0, 0xe3, 0x8a, 0x2c,
   321  		0x5a, 0x02, 0xed, 0xc3, 0x90, 0xad, 0xd9, 0x4d, 0x52, 0xce, 0x31, 0x3d, 0x92, 0x2f, 0x24, 0x25,
   322  		0xc3, 0x64, 0x81, 0x0a, 0x2f, 0xd4, 0xdb, 0xf7, 0x55, 0x59, 0x25, 0xc3, 0x64, 0x4c, 0xe5, 0x51,
   323  		0x18, 0xd3, 0xea, 0x75, 0x97, 0x90, 0x0b, 0x22, 0x76, 0xf4, 0xc8, 0x05, 0x62, 0xaa, 0x38, 0x75,
   324  		0x1e, 0x52, 0xc2, 0x0f, 0x24, 0x25, 0x13, 0x4f, 0xa8, 0x0e, 0x3b, 0x4f, 0xc7, 0xe6, 0xd2, 0x4a,
   325  		0xca, 0x12, 0x8d, 0x87, 0x21, 0x6b, 0x78, 0x6a, 0xfb, 0xfa, 0x3d, 0x36, 0x13, 0x9b, 0x4b, 0x29,
   326  		0x19, 0xc3, 0x0b, 0xae, 0x2e, 0x67, 0x5f, 0x8b, 0x41, 0xae, 0xf3, 0xf5, 0x01, 0x5a, 0x82, 0x94,
   327  		0x69, 0xeb, 0x1a, 0x0d, 0x2d, 0xf6, 0xee, 0x6a, 0x2e, 0xe2, 0x8d, 0xc3, 0xfc, 0x0a, 0xd7, 0x57,
   328  		0x02, 0xe4, 0xd4, 0x3f, 0x4b, 0x90, 0x12, 0x62, 0x74, 0x08, 0x12, 0x8e, 0xe6, 0xef, 0x52, 0xba,
   329  		0x64, 0x29, 0x26, 0x4b, 0x0a, 0x7d, 0x26, 0x72, 0xcf, 0xd1, 0x2c, 0x1a, 0x02, 0x5c, 0x4e, 0x9e,
   330  		0xc9, 0xbc, 0x9a, 0x58, 0xab, 0xd1, 0x73, 0x8d, 0xdd, 0x68, 0x60, 0xcb, 0xf7, 0xc4, 0xbc, 0x72,
   331  		0xf9, 0x22, 0x17, 0xa3, 0x27, 0x60, 0xdc, 0x77, 0x35, 0xc3, 0xec, 0xd0, 0x4d, 0x50, 0x5d, 0x59,
   332  		0x34, 0x04, 0xca, 0x45, 0x78, 0x40, 0xf0, 0xd6, 0xb0, 0xaf, 0xe9, 0xbb, 0xb8, 0xd6, 0x06, 0x0d,
   333  		0xd3, 0xfb, 0x8b, 0xfb, 0xb9, 0xc2, 0x12, 0x6f, 0x17, 0xd8, 0xd9, 0x1f, 0x4a, 0x30, 0x2e, 0x4e,
   334  		0x62, 0xb5, 0xc0, 0x59, 0x55, 0x00, 0xcd, 0xb2, 0x6c, 0x3f, 0xec, 0xae, 0xde, 0x50, 0xee, 0xc1,
   335  		0xcd, 0x2f, 0x04, 0x20, 0x25, 0x44, 0x30, 0xd5, 0x00, 0x68, 0xb7, 0xec, 0xeb, 0xb6, 0x69, 0xc8,
   336  		0xf0, 0x77, 0x43, 0xf4, 0x05, 0x23, 0x3b, 0xbb, 0x03, 0x13, 0x91, 0x23, 0x1b, 0x9a, 0x84, 0xe4,
   337  		0x36, 0xae, 0x1b, 0x16, 0xbf, 0xf1, 0x65, 0x0f, 0xe2, 0x86, 0x25, 0x11, 0xdc, 0xb0, 0x94, 0x3e,
   338  		0x0d, 0x13, 0xba, 0xdd, 0xe8, 0x36, 0xb7, 0x24, 0x77, 0xdd, 0x1f, 0x78, 0x9f, 0x90, 0x5e, 0x80,
   339  		0x76, 0x89, 0xf9, 0x9e, 0x24, 0x7d, 0x25, 0x16, 0x5f, 0x5e, 0x2f, 0x7d, 0x3d, 0x36, 0xb5, 0xcc,
   340  		0xa0, 0xeb, 0x62, 0xa4, 0x0a, 0xde, 0x31, 0xb1, 0x4e, 0xac, 0x87, 0xaf, 0x3e, 0x01, 0x4f, 0xd5,
   341  		0x0d, 0x7f, 0xb7, 0xb9, 0x3d, 0xaf, 0xdb, 0x8d, 0xa3, 0x75, 0xbb, 0x6e, 0xb7, 0xdf, 0xa9, 0x92,
   342  		0x27, 0xfa, 0x40, 0x7f, 0xf1, 0xf7, 0xaa, 0xe9, 0x40, 0x3a, 0x15, 0xf9, 0x12, 0xb6, 0xb8, 0x0a,
   343  		0x13, 0x5c, 0x59, 0xa5, 0x2f, 0x76, 0xd8, 0xf1, 0x04, 0xdd, 0xf5, 0x72, 0x2c, 0xff, 0xcd, 0xb7,
   344  		0x68, 0xba, 0x56, 0xc6, 0x39, 0x94, 0xb4, 0xb1, 0x13, 0x4c, 0x51, 0x81, 0xfb, 0x3a, 0xf8, 0xd8,
   345  		0xd2, 0xc4, 0x6e, 0x04, 0xe3, 0xf7, 0x39, 0xe3, 0x44, 0x88, 0x71, 0x83, 0x43, 0x8b, 0x8b, 0x30,
   346  		0x7a, 0x10, 0xae, 0x7f, 0xe4, 0x5c, 0x59, 0x1c, 0x26, 0x59, 0x86, 0x31, 0x4a, 0xa2, 0x37, 0x3d,
   347  		0xdf, 0x6e, 0xd0, 0x7d, 0xef, 0xee, 0x34, 0xff, 0xf4, 0x16, 0x5b, 0x2b, 0x39, 0x02, 0x5b, 0x0c,
   348  		0x50, 0xc5, 0x22, 0xd0, 0x77, 0x59, 0x35, 0xac, 0x9b, 0x11, 0x0c, 0x37, 0xb8, 0x21, 0x81, 0x7e,
   349  		0xf1, 0x53, 0x30, 0x49, 0x7e, 0xd3, 0x6d, 0x29, 0x6c, 0x49, 0xf4, 0x4d, 0x5a, 0xfe, 0x87, 0x2f,
   350  		0xb1, 0xe5, 0x38, 0x11, 0x10, 0x84, 0x6c, 0x0a, 0xcd, 0x62, 0x1d, 0xfb, 0x3e, 0x76, 0x3d, 0x55,
   351  		0x33, 0xfb, 0x99, 0x17, 0xba, 0x8a, 0xc8, 0x7f, 0xf1, 0x9d, 0xce, 0x59, 0x5c, 0x66, 0xc8, 0x05,
   352  		0xd3, 0x2c, 0x6e, 0xc1, 0xfd, 0x7d, 0xa2, 0x62, 0x00, 0xce, 0x97, 0x39, 0xe7, 0x64, 0x4f, 0x64,
   353  		0x10, 0xda, 0x75, 0x10, 0xf2, 0x60, 0x2e, 0x07, 0xe0, 0xfc, 0x43, 0xce, 0x89, 0x38, 0x56, 0x4c,
   354  		0x29, 0x61, 0x3c, 0x0f, 0xe3, 0x57, 0xb0, 0xbb, 0x6d, 0x7b, 0xfc, 0xfa, 0x67, 0x00, 0xba, 0x57,
   355  		0x38, 0xdd, 0x18, 0x07, 0xd2, 0xfb, 0x20, 0xc2, 0xf5, 0x0c, 0xa4, 0x76, 0x34, 0x1d, 0x0f, 0x40,
   356  		0xf1, 0x25, 0x4e, 0x31, 0x42, 0xf4, 0x09, 0x74, 0x01, 0xb2, 0x75, 0x9b, 0x67, 0xa6, 0x68, 0xf8,
   357  		0xab, 0x1c, 0x9e, 0x11, 0x18, 0x4e, 0xe1, 0xd8, 0x4e, 0xd3, 0x24, 0x69, 0x2b, 0x9a, 0xe2, 0x8f,
   358  		0x04, 0x85, 0xc0, 0x70, 0x8a, 0x03, 0xb8, 0xf5, 0x8f, 0x05, 0x85, 0x17, 0xf2, 0xe7, 0x73, 0x90,
   359  		0xb1, 0x2d, 0xb3, 0x65, 0x5b, 0x83, 0x18, 0xf1, 0x65, 0xce, 0x00, 0x1c, 0x42, 0x08, 0xce, 0x42,
   360  		0x7a, 0xd0, 0x89, 0xf8, 0xd3, 0x77, 0xc4, 0xf2, 0x10, 0x33, 0xb0, 0x0c, 0x63, 0x62, 0x83, 0x32,
   361  		0x6c, 0x6b, 0x00, 0x8a, 0xaf, 0x72, 0x8a, 0x5c, 0x08, 0xc6, 0x87, 0xe1, 0x63, 0xcf, 0xaf, 0xe3,
   362  		0x41, 0x48, 0x5e, 0x13, 0xc3, 0xe0, 0x10, 0xee, 0xca, 0x6d, 0x6c, 0xe9, 0xbb, 0x83, 0x31, 0x7c,
   363  		0x4d, 0xb8, 0x52, 0x60, 0x08, 0xc5, 0x22, 0x8c, 0x36, 0x34, 0xd7, 0xdb, 0xd5, 0xcc, 0x81, 0xa6,
   364  		0xe3, 0xcf, 0x38, 0x47, 0x36, 0x00, 0x71, 0x8f, 0x34, 0xad, 0x83, 0xd0, 0x7c, 0x5d, 0x78, 0x24,
   365  		0x04, 0xe3, 0x4b, 0xcf, 0xf3, 0xe9, 0x5d, 0xd9, 0x41, 0xd8, 0xfe, 0x5c, 0x2c, 0x3d, 0x86, 0xad,
   366  		0x86, 0x19, 0xcf, 0x42, 0xda, 0x33, 0xae, 0x0d, 0x44, 0xf3, 0x17, 0x62, 0xa6, 0x29, 0x80, 0x80,
   367  		0x2f, 0xc2, 0x03, 0x7d, 0xd3, 0xc4, 0x00, 0x64, 0x7f, 0xc9, 0xc9, 0x0e, 0xf5, 0x49, 0x15, 0x7c,
   368  		0x4b, 0x38, 0x28, 0xe5, 0x5f, 0x89, 0x2d, 0x01, 0x77, 0x71, 0xad, 0x93, 0xb3, 0x82, 0xa7, 0xed,
   369  		0x1c, 0xcc, 0x6b, 0x7f, 0x2d, 0xbc, 0xc6, 0xb0, 0x1d, 0x5e, 0xdb, 0x84, 0x43, 0x9c, 0xf1, 0x60,
   370  		0xf3, 0xfa, 0x0d, 0xb1, 0xb1, 0x32, 0xf4, 0x56, 0xe7, 0xec, 0x7e, 0x1a, 0xa6, 0x02, 0x77, 0x8a,
   371  		0xa2, 0xd4, 0x53, 0x1b, 0x9a, 0x33, 0x00, 0xf3, 0x37, 0x39, 0xb3, 0xd8, 0xf1, 0x83, 0xaa, 0xd6,
   372  		0xab, 0x6a, 0x0e, 0x21, 0x7f, 0x1e, 0xf2, 0x82, 0xbc, 0x69, 0xb9, 0x58, 0xb7, 0xeb, 0x96, 0x71,
   373  		0x0d, 0xd7, 0x06, 0xa0, 0xfe, 0x9b, 0xae, 0xa9, 0xda, 0x0a, 0xc1, 0x09, 0x73, 0x05, 0xe4, 0xa0,
   374  		0x56, 0x51, 0x8d, 0x86, 0x63, 0xbb, 0x7e, 0x04, 0xe3, 0xdf, 0x8a, 0x99, 0x0a, 0x70, 0x15, 0x0a,
   375  		0x2b, 0x96, 0x21, 0x47, 0x1f, 0x07, 0x0d, 0xc9, 0xbf, 0xe3, 0x44, 0xa3, 0x6d, 0x14, 0xdf, 0x38,
   376  		0x74, 0xbb, 0xe1, 0x68, 0xee, 0x20, 0xfb, 0xdf, 0xb7, 0xc4, 0xc6, 0xc1, 0x21, 0x7c, 0xe3, 0xf0,
   377  		0x5b, 0x0e, 0x26, 0xd9, 0x7e, 0x00, 0x86, 0xd7, 0xc5, 0xc6, 0x21, 0x30, 0x9c, 0x42, 0x14, 0x0c,
   378  		0x03, 0x50, 0xfc, 0xbd, 0xa0, 0x10, 0x18, 0x42, 0xf1, 0xc9, 0x76, 0xa2, 0x75, 0x71, 0xdd, 0xf0,
   379  		0x7c, 0x97, 0x95, 0xc2, 0x77, 0xa7, 0xfa, 0xf6, 0x3b, 0x9d, 0x45, 0x98, 0x12, 0x82, 0x92, 0x9d,
   380  		0x88, 0x5f, 0xa1, 0xd2, 0x93, 0x52, 0xb4, 0x61, 0xdf, 0x11, 0x3b, 0x51, 0x08, 0x46, 0x6c, 0x0b,
   381  		0x55, 0x88, 0xc4, 0xed, 0x3a, 0x39, 0x1f, 0x0c, 0x40, 0xf7, 0xdd, 0x2e, 0xe3, 0x36, 0x04, 0x96,
   382  		0x70, 0x86, 0xea, 0x9f, 0xa6, 0x75, 0x19, 0xb7, 0x06, 0x8a, 0xce, 0x7f, 0xe8, 0xaa, 0x7f, 0xb6,
   383  		0x18, 0x92, 0xed, 0x21, 0x63, 0x5d, 0xf5, 0x14, 0x8a, 0xfa, 0x0a, 0x28, 0xff, 0x8b, 0xb7, 0xf9,
   384  		0x78, 0x3b, 0xcb, 0xa9, 0xe2, 0x0a, 0x09, 0xf2, 0xce, 0xa2, 0x27, 0x9a, 0xec, 0xa5, 0xdb, 0x41,
   385  		0x9c, 0x77, 0xd4, 0x3c, 0xc5, 0x73, 0x30, 0xda, 0x51, 0xf0, 0x44, 0x53, 0xfd, 0x12, 0xa7, 0xca,
   386  		0x86, 0xeb, 0x9d, 0xe2, 0x49, 0x48, 0x90, 0xe2, 0x25, 0x1a, 0xfe, 0xcb, 0x1c, 0x4e, 0xd5, 0x8b,
   387  		0x1f, 0x87, 0x94, 0x28, 0x5a, 0xa2, 0xa1, 0xbf, 0xc2, 0xa1, 0x01, 0x84, 0xc0, 0x45, 0xc1, 0x12,
   388  		0x0d, 0xff, 0x9c, 0x80, 0x0b, 0x08, 0x81, 0x0f, 0xee, 0xc2, 0xef, 0xfd, 0x5a, 0x82, 0x27, 0x1d,
   389  		0xe1, 0xbb, 0xb3, 0x30, 0xc2, 0x2b, 0x95, 0x68, 0xf4, 0xe7, 0x79, 0xe7, 0x02, 0x51, 0x3c, 0x0d,
   390  		0xc9, 0x01, 0x1d, 0xfe, 0x1b, 0x1c, 0xca, 0xf4, 0x8b, 0x8b, 0x90, 0x09, 0x55, 0x27, 0xd1, 0xf0,
   391  		0xdf, 0xe4, 0xf0, 0x30, 0x8a, 0x98, 0xce, 0xab, 0x93, 0x68, 0x82, 0xdf, 0x12, 0xa6, 0x73, 0x04,
   392  		0x71, 0x9b, 0x28, 0x4c, 0xa2, 0xd1, 0xbf, 0x2d, 0xbc, 0x2e, 0x20, 0xc5, 0xe7, 0x20, 0x1d, 0x24,
   393  		0x9b, 0x68, 0xfc, 0xef, 0x70, 0x7c, 0x1b, 0x43, 0x3c, 0x10, 0x4a, 0x76, 0xd1, 0x14, 0xbf, 0x2b,
   394  		0x3c, 0x10, 0x42, 0x91, 0x65, 0xd4, 0x5d, 0xc0, 0x44, 0x33, 0xfd, 0x9e, 0x58, 0x46, 0x5d, 0xf5,
   395  		0x0b, 0x99, 0x4d, 0xba, 0xe7, 0x47, 0x53, 0xfc, 0xbe, 0x98, 0x4d, 0xaa, 0x4f, 0xcc, 0xe8, 0xae,
   396  		0x08, 0xa2, 0x39, 0xfe, 0x40, 0x98, 0xd1, 0x55, 0x10, 0x14, 0xd7, 0x01, 0xf5, 0x56, 0x03, 0xd1,
   397  		0x7c, 0x5f, 0xe0, 0x7c, 0xe3, 0x3d, 0xc5, 0x40, 0xf1, 0x02, 0x1c, 0xea, 0x5f, 0x09, 0x44, 0xb3,
   398  		0x7e, 0xf1, 0x76, 0xd7, 0xd9, 0x2d, 0x5c, 0x08, 0x14, 0x37, 0xdb, 0x29, 0x25, 0x5c, 0x05, 0x44,
   399  		0xd3, 0xbe, 0x7c, 0xbb, 0x73, 0xe3, 0x0e, 0x17, 0x01, 0xc5, 0x05, 0x80, 0x76, 0x02, 0x8e, 0xe6,
   400  		0x7a, 0x85, 0x73, 0x85, 0x40, 0x64, 0x69, 0xf0, 0xfc, 0x1b, 0x8d, 0xff, 0x92, 0x58, 0x1a, 0x1c,
   401  		0x41, 0x96, 0x86, 0x48, 0xbd, 0xd1, 0xe8, 0x57, 0xc5, 0xd2, 0x10, 0x10, 0x12, 0xd9, 0xa1, 0xec,
   402  		0x16, 0xcd, 0xf0, 0x65, 0x11, 0xd9, 0x21, 0x54, 0x71, 0x15, 0xc6, 0x7b, 0x12, 0x62, 0x34, 0xd5,
   403  		0x57, 0x38, 0x95, 0xdc, 0x9d, 0x0f, 0xc3, 0xc9, 0x8b, 0x27, 0xc3, 0x68, 0xb6, 0x3f, 0xe9, 0x4a,
   404  		0x5e, 0x3c, 0x17, 0x16, 0xcf, 0x42, 0xca, 0x6a, 0x9a, 0x26, 0x59, 0x3c, 0xe8, 0xee, 0x5f, 0xee,
   405  		0xe5, 0x7f, 0xfc, 0x3e, 0xf7, 0x8e, 0x00, 0x14, 0x4f, 0x42, 0x12, 0x37, 0xb6, 0x71, 0x2d, 0x0a,
   406  		0xf9, 0xef, 0xef, 0x8b, 0x0d, 0x93, 0x68, 0x17, 0x9f, 0x03, 0x60, 0x57, 0x23, 0xf4, 0xb5, 0x5f,
   407  		0x04, 0xf6, 0x3f, 0xde, 0xe7, 0xdf, 0xd4, 0xb4, 0x21, 0x6d, 0x02, 0xf6, 0x85, 0xce, 0xdd, 0x09,
   408  		0xde, 0xe9, 0x24, 0xa0, 0x33, 0xf2, 0x0c, 0x8c, 0x5c, 0xf2, 0x6c, 0xcb, 0xd7, 0xea, 0x51, 0xe8,
   409  		0xff, 0xe4, 0x68, 0xa1, 0x4f, 0x1c, 0xd6, 0xb0, 0x5d, 0xec, 0x6b, 0x75, 0x2f, 0x0a, 0xfb, 0x5f,
   410  		0x1c, 0x1b, 0x00, 0x08, 0x58, 0xd7, 0x3c, 0x7f, 0x90, 0x71, 0xff, 0xb7, 0x00, 0x0b, 0x00, 0x31,
   411  		0x9a, 0xfc, 0xbe, 0x8c, 0x5b, 0x51, 0xd8, 0x77, 0x85, 0xd1, 0x5c, 0xbf, 0xf8, 0x71, 0x48, 0x93,
   412  		0x9f, 0xec, 0x43, 0xb9, 0x08, 0xf0, 0xff, 0x70, 0x70, 0x1b, 0x41, 0x7a, 0xf6, 0xfc, 0x9a, 0x6f,
   413  		0x44, 0x3b, 0xfb, 0x7f, 0xf9, 0x4c, 0x0b, 0xfd, 0xe2, 0x02, 0x64, 0x3c, 0xbf, 0x56, 0x6b, 0xf2,
   414  		0xfa, 0x34, 0x02, 0xfe, 0x7f, 0xef, 0x07, 0x57, 0x16, 0x01, 0x86, 0xcc, 0xf6, 0xd5, 0xcb, 0xbe,
   415  		0x63, 0xd3, 0xd7, 0x1c, 0x51, 0x0c, 0xb7, 0x39, 0x43, 0x08, 0x52, 0x2a, 0xf7, 0xbf, 0xbe, 0x85,
   416  		0x65, 0x7b, 0xd9, 0x66, 0x17, 0xb7, 0x2f, 0xcc, 0x46, 0xdf, 0xc0, 0xc2, 0xeb, 0x63, 0x70, 0x58,
   417  		0xb7, 0x1b, 0xdb, 0xb6, 0x77, 0x34, 0xb4, 0x99, 0x1f, 0x15, 0xf3, 0xc3, 0x2f, 0x67, 0x83, 0xf9,
   418  		0x9a, 0x3a, 0xd8, 0xad, 0xee, 0xec, 0x8f, 0x47, 0x21, 0xb5, 0xa8, 0x79, 0xbe, 0x76, 0x55, 0x6b,
   419  		0xa1, 0x87, 0x21, 0x55, 0xb1, 0xfc, 0xe3, 0xc7, 0xd6, 0x7d, 0x97, 0xbe, 0x98, 0x8c, 0x97, 0xd2,
   420  		0x77, 0x6e, 0x4e, 0x27, 0x0d, 0x22, 0x53, 0x82, 0x26, 0x74, 0x04, 0x92, 0xf4, 0x37, 0xbd, 0xdb,
   421  		0x8e, 0x97, 0x46, 0x6f, 0xdc, 0x9c, 0x1e, 0x6a, 0xeb, 0xb1, 0x36, 0x74, 0x11, 0x32, 0xd5, 0xd6,
   422  		0x96, 0x61, 0xf9, 0xa7, 0x4e, 0x10, 0x3a, 0xe2, 0x9f, 0x44, 0xe9, 0xf4, 0x9d, 0x9b, 0xd3, 0xc7,
   423  		0xf7, 0x35, 0x90, 0x14, 0x16, 0xed, 0x81, 0x09, 0x34, 0xfd, 0x22, 0x39, 0xcc, 0x85, 0x2e, 0x40,
   424  		0x4a, 0x3c, 0xb2, 0x77, 0x44, 0xa5, 0xb3, 0xdc, 0x84, 0x7b, 0xe2, 0x0e, 0xc8, 0xd0, 0xcf, 0x41,
   425  		0xb6, 0xda, 0x3a, 0x67, 0xda, 0x1a, 0xf7, 0x41, 0x72, 0x46, 0x9a, 0x8b, 0x95, 0xce, 0xdc, 0xb9,
   426  		0x39, 0x7d, 0x62, 0x60, 0x62, 0x0e, 0xa7, 0xcc, 0x1d, 0x6c, 0xe8, 0x05, 0x48, 0x07, 0xcf, 0xf4,
   427  		0x2d, 0x54, 0xac, 0xf4, 0x31, 0x6e, 0xf7, 0xbd, 0xd1, 0xb7, 0xe9, 0x42, 0x96, 0x33, 0x77, 0x8f,
   428  		0xcc, 0x48, 0x73, 0xd2, 0xbd, 0x58, 0xce, 0x7d, 0xd2, 0xc1, 0x16, 0xb2, 0xfc, 0xd4, 0x09, 0xfa,
   429  		0xda, 0x4b, 0xba, 0x57, 0xcb, 0x39, 0x7d, 0x9b, 0x0e, 0x9d, 0x87, 0x91, 0x6a, 0xab, 0xd4, 0xf2,
   430  		0xb1, 0x47, 0x3f, 0x74, 0xcb, 0x96, 0x9e, 0xbe, 0x73, 0x73, 0xfa, 0xc9, 0x01, 0x59, 0x29, 0x4e,
   431  		0x11, 0x04, 0x68, 0x06, 0x32, 0xab, 0xb6, 0xdb, 0xd0, 0x4c, 0xc6, 0x07, 0xec, 0x35, 0x5e, 0x48,
   432  		0x84, 0xb6, 0xc8, 0x48, 0xd8, 0x6c, 0x7b, 0xf4, 0x7f, 0xa4, 0x7e, 0x82, 0x98, 0x6c, 0x33, 0x21,
   433  		0x03, 0x92, 0xd5, 0x56, 0x55, 0x73, 0xf2, 0x59, 0xfa, 0x8e, 0xe9, 0xc1, 0xf9, 0x00, 0x21, 0xd6,
   434  		0xd6, 0x3c, 0x6d, 0xa7, 0x1f, 0xe3, 0x94, 0x4e, 0xdc, 0xb9, 0x39, 0xfd, 0xf4, 0xc0, 0x3d, 0x56,
   435  		0x35, 0x87, 0x76, 0xc7, 0x7a, 0x40, 0xdf, 0x92, 0xc8, 0xc2, 0x62, 0x97, 0xf4, 0xa4, 0xc7, 0x51,
   436  		0xda, 0xe3, 0x91, 0xbe, 0x3d, 0x06, 0x5a, 0xac, 0x5f, 0xeb, 0xb3, 0x6f, 0x1c, 0x60, 0xa4, 0xec,
   437  		0x6c, 0x48, 0xba, 0xfe, 0xd5, 0x37, 0xee, 0x79, 0xd1, 0x06, 0x16, 0xa0, 0x97, 0x24, 0x18, 0xad,
   438  		0xb6, 0x56, 0x79, 0x12, 0x27, 0x96, 0xe7, 0xf8, 0x7f, 0xd2, 0xf4, 0xb3, 0x3c, 0xa4, 0xc7, 0x6c,
   439  		0x3f, 0xf5, 0xd9, 0x37, 0xa6, 0x8f, 0x0d, 0x6c, 0x04, 0xdd, 0x82, 0xa8, 0x0d, 0x9d, 0x7d, 0xa2,
   440  		0xcf, 0x51, 0x2b, 0xca, 0xa4, 0x20, 0xa8, 0xe1, 0x1a, 0xb1, 0x62, 0xec, 0x2e, 0x56, 0x84, 0xf4,
   441  		0x98, 0x15, 0x45, 0x12, 0xf5, 0xf7, 0x6e, 0x49, 0x88, 0x0f, 0xad, 0xc1, 0x30, 0xf3, 0x30, 0xfd,
   442  		0xc8, 0x32, 0x7d, 0xc0, 0x30, 0x6c, 0x4f, 0x8e, 0xc2, 0x69, 0xa6, 0xce, 0x00, 0xb4, 0x63, 0x0c,
   443  		0xc9, 0x10, 0xbf, 0x8c, 0x5b, 0xfc, 0x4b, 0x5a, 0xf2, 0x13, 0x4d, 0xb6, 0x3f, 0x75, 0x97, 0xe6,
   444  		0x12, 0xfc, 0xfb, 0xf5, 0x62, 0xec, 0x8c, 0x34, 0xf5, 0x2c, 0xc8, 0xdd, 0xb1, 0x72, 0x20, 0xbc,
   445  		0x02, 0xa8, 0x77, 0xc6, 0xc2, 0x0c, 0x49, 0xc6, 0xf0, 0x48, 0x98, 0x21, 0x73, 0x4c, 0x6e, 0xfb,
   446  		0xfc, 0x82, 0x61, 0x7a, 0xb6, 0xd5, 0xc3, 0xd9, 0xed, 0xff, 0x9f, 0x8c, 0x73, 0xb6, 0x00, 0xc3,
   447  		0x4c, 0x48, 0xc6, 0x52, 0xa1, 0xe9, 0x83, 0x66, 0x39, 0x85, 0x3d, 0x94, 0x56, 0x6e, 0xdc, 0x2a,
   448  		0x0c, 0xfd, 0xe0, 0x56, 0x61, 0xe8, 0x5f, 0x6e, 0x15, 0x86, 0xde, 0xbc, 0x55, 0x90, 0xde, 0xbe,
   449  		0x55, 0x90, 0xde, 0xbd, 0x55, 0x90, 0xde, 0xbb, 0x55, 0x90, 0xae, 0xef, 0x15, 0xa4, 0xaf, 0xed,
   450  		0x15, 0xa4, 0x6f, 0xec, 0x15, 0xa4, 0x6f, 0xef, 0x15, 0xa4, 0xef, 0xed, 0x15, 0xa4, 0x1b, 0x7b,
   451  		0x85, 0xa1, 0x1f, 0xec, 0x15, 0xa4, 0x37, 0xf7, 0x0a, 0xd2, 0xdb, 0x7b, 0x85, 0xa1, 0x77, 0xf7,
   452  		0x0a, 0xd2, 0x7b, 0x7b, 0x85, 0xa1, 0xeb, 0x3f, 0x2a, 0x0c, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xff,
   453  		0xff, 0xdd, 0xf4, 0x4d, 0xca, 0xad, 0x3a, 0x00, 0x00,
   454  	}
   455  	r := bytes.NewReader(gzipped)
   456  	gzipr, err := compress_gzip.NewReader(r)
   457  	if err != nil {
   458  		panic(err)
   459  	}
   460  	ungzipped, err := io_ioutil.ReadAll(gzipr)
   461  	if err != nil {
   462  		panic(err)
   463  	}
   464  	if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
   465  		panic(err)
   466  	}
   467  	return d
   468  }
   469  func (this *Castaway) VerboseEqual(that interface{}) error {
   470  	if that == nil {
   471  		if this == nil {
   472  			return nil
   473  		}
   474  		return fmt.Errorf("that == nil && this != nil")
   475  	}
   476  
   477  	that1, ok := that.(*Castaway)
   478  	if !ok {
   479  		that2, ok := that.(Castaway)
   480  		if ok {
   481  			that1 = &that2
   482  		} else {
   483  			return fmt.Errorf("that is not of type *Castaway")
   484  		}
   485  	}
   486  	if that1 == nil {
   487  		if this == nil {
   488  			return nil
   489  		}
   490  		return fmt.Errorf("that is type *Castaway but is nil && this != nil")
   491  	} else if this == nil {
   492  		return fmt.Errorf("that is type *Castaway but is not nil && this == nil")
   493  	}
   494  	if this.Int32Ptr != nil && that1.Int32Ptr != nil {
   495  		if *this.Int32Ptr != *that1.Int32Ptr {
   496  			return fmt.Errorf("Int32Ptr this(%v) Not Equal that(%v)", *this.Int32Ptr, *that1.Int32Ptr)
   497  		}
   498  	} else if this.Int32Ptr != nil {
   499  		return fmt.Errorf("this.Int32Ptr == nil && that.Int32Ptr != nil")
   500  	} else if that1.Int32Ptr != nil {
   501  		return fmt.Errorf("Int32Ptr this(%v) Not Equal that(%v)", this.Int32Ptr, that1.Int32Ptr)
   502  	}
   503  	if this.Int32 != that1.Int32 {
   504  		return fmt.Errorf("Int32 this(%v) Not Equal that(%v)", this.Int32, that1.Int32)
   505  	}
   506  	if this.MyUint64Ptr != nil && that1.MyUint64Ptr != nil {
   507  		if *this.MyUint64Ptr != *that1.MyUint64Ptr {
   508  			return fmt.Errorf("MyUint64Ptr this(%v) Not Equal that(%v)", *this.MyUint64Ptr, *that1.MyUint64Ptr)
   509  		}
   510  	} else if this.MyUint64Ptr != nil {
   511  		return fmt.Errorf("this.MyUint64Ptr == nil && that.MyUint64Ptr != nil")
   512  	} else if that1.MyUint64Ptr != nil {
   513  		return fmt.Errorf("MyUint64Ptr this(%v) Not Equal that(%v)", this.MyUint64Ptr, that1.MyUint64Ptr)
   514  	}
   515  	if this.MyUint64 != that1.MyUint64 {
   516  		return fmt.Errorf("MyUint64 this(%v) Not Equal that(%v)", this.MyUint64, that1.MyUint64)
   517  	}
   518  	if this.MyFloat32Ptr != nil && that1.MyFloat32Ptr != nil {
   519  		if *this.MyFloat32Ptr != *that1.MyFloat32Ptr {
   520  			return fmt.Errorf("MyFloat32Ptr this(%v) Not Equal that(%v)", *this.MyFloat32Ptr, *that1.MyFloat32Ptr)
   521  		}
   522  	} else if this.MyFloat32Ptr != nil {
   523  		return fmt.Errorf("this.MyFloat32Ptr == nil && that.MyFloat32Ptr != nil")
   524  	} else if that1.MyFloat32Ptr != nil {
   525  		return fmt.Errorf("MyFloat32Ptr this(%v) Not Equal that(%v)", this.MyFloat32Ptr, that1.MyFloat32Ptr)
   526  	}
   527  	if this.MyFloat32 != that1.MyFloat32 {
   528  		return fmt.Errorf("MyFloat32 this(%v) Not Equal that(%v)", this.MyFloat32, that1.MyFloat32)
   529  	}
   530  	if this.MyFloat64Ptr != nil && that1.MyFloat64Ptr != nil {
   531  		if *this.MyFloat64Ptr != *that1.MyFloat64Ptr {
   532  			return fmt.Errorf("MyFloat64Ptr this(%v) Not Equal that(%v)", *this.MyFloat64Ptr, *that1.MyFloat64Ptr)
   533  		}
   534  	} else if this.MyFloat64Ptr != nil {
   535  		return fmt.Errorf("this.MyFloat64Ptr == nil && that.MyFloat64Ptr != nil")
   536  	} else if that1.MyFloat64Ptr != nil {
   537  		return fmt.Errorf("MyFloat64Ptr this(%v) Not Equal that(%v)", this.MyFloat64Ptr, that1.MyFloat64Ptr)
   538  	}
   539  	if this.MyFloat64 != that1.MyFloat64 {
   540  		return fmt.Errorf("MyFloat64 this(%v) Not Equal that(%v)", this.MyFloat64, that1.MyFloat64)
   541  	}
   542  	if !bytes.Equal(this.MyBytes, that1.MyBytes) {
   543  		return fmt.Errorf("MyBytes this(%v) Not Equal that(%v)", this.MyBytes, that1.MyBytes)
   544  	}
   545  	if !bytes.Equal(this.NormalBytes, that1.NormalBytes) {
   546  		return fmt.Errorf("NormalBytes this(%v) Not Equal that(%v)", this.NormalBytes, that1.NormalBytes)
   547  	}
   548  	if len(this.MyUint64S) != len(that1.MyUint64S) {
   549  		return fmt.Errorf("MyUint64S this(%v) Not Equal that(%v)", len(this.MyUint64S), len(that1.MyUint64S))
   550  	}
   551  	for i := range this.MyUint64S {
   552  		if this.MyUint64S[i] != that1.MyUint64S[i] {
   553  			return fmt.Errorf("MyUint64S this[%v](%v) Not Equal that[%v](%v)", i, this.MyUint64S[i], i, that1.MyUint64S[i])
   554  		}
   555  	}
   556  	if len(this.MyMap) != len(that1.MyMap) {
   557  		return fmt.Errorf("MyMap this(%v) Not Equal that(%v)", len(this.MyMap), len(that1.MyMap))
   558  	}
   559  	for i := range this.MyMap {
   560  		if this.MyMap[i] != that1.MyMap[i] {
   561  			return fmt.Errorf("MyMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyMap[i], i, that1.MyMap[i])
   562  		}
   563  	}
   564  	if len(this.MyCustomMap) != len(that1.MyCustomMap) {
   565  		return fmt.Errorf("MyCustomMap this(%v) Not Equal that(%v)", len(this.MyCustomMap), len(that1.MyCustomMap))
   566  	}
   567  	for i := range this.MyCustomMap {
   568  		if this.MyCustomMap[i] != that1.MyCustomMap[i] {
   569  			return fmt.Errorf("MyCustomMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyCustomMap[i], i, that1.MyCustomMap[i])
   570  		}
   571  	}
   572  	if len(this.MyNullableMap) != len(that1.MyNullableMap) {
   573  		return fmt.Errorf("MyNullableMap this(%v) Not Equal that(%v)", len(this.MyNullableMap), len(that1.MyNullableMap))
   574  	}
   575  	for i := range this.MyNullableMap {
   576  		if !this.MyNullableMap[i].Equal(that1.MyNullableMap[i]) {
   577  			return fmt.Errorf("MyNullableMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyNullableMap[i], i, that1.MyNullableMap[i])
   578  		}
   579  	}
   580  	if len(this.MyEmbeddedMap) != len(that1.MyEmbeddedMap) {
   581  		return fmt.Errorf("MyEmbeddedMap this(%v) Not Equal that(%v)", len(this.MyEmbeddedMap), len(that1.MyEmbeddedMap))
   582  	}
   583  	for i := range this.MyEmbeddedMap {
   584  		a := this.MyEmbeddedMap[i]
   585  		b := that1.MyEmbeddedMap[i]
   586  		if !(&a).Equal(&b) {
   587  			return fmt.Errorf("MyEmbeddedMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyEmbeddedMap[i], i, that1.MyEmbeddedMap[i])
   588  		}
   589  	}
   590  	if this.String_ != nil && that1.String_ != nil {
   591  		if *this.String_ != *that1.String_ {
   592  			return fmt.Errorf("String_ this(%v) Not Equal that(%v)", *this.String_, *that1.String_)
   593  		}
   594  	} else if this.String_ != nil {
   595  		return fmt.Errorf("this.String_ == nil && that.String_ != nil")
   596  	} else if that1.String_ != nil {
   597  		return fmt.Errorf("String_ this(%v) Not Equal that(%v)", this.String_, that1.String_)
   598  	}
   599  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   600  		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
   601  	}
   602  	return nil
   603  }
   604  func (this *Castaway) Equal(that interface{}) bool {
   605  	if that == nil {
   606  		return this == nil
   607  	}
   608  
   609  	that1, ok := that.(*Castaway)
   610  	if !ok {
   611  		that2, ok := that.(Castaway)
   612  		if ok {
   613  			that1 = &that2
   614  		} else {
   615  			return false
   616  		}
   617  	}
   618  	if that1 == nil {
   619  		return this == nil
   620  	} else if this == nil {
   621  		return false
   622  	}
   623  	if this.Int32Ptr != nil && that1.Int32Ptr != nil {
   624  		if *this.Int32Ptr != *that1.Int32Ptr {
   625  			return false
   626  		}
   627  	} else if this.Int32Ptr != nil {
   628  		return false
   629  	} else if that1.Int32Ptr != nil {
   630  		return false
   631  	}
   632  	if this.Int32 != that1.Int32 {
   633  		return false
   634  	}
   635  	if this.MyUint64Ptr != nil && that1.MyUint64Ptr != nil {
   636  		if *this.MyUint64Ptr != *that1.MyUint64Ptr {
   637  			return false
   638  		}
   639  	} else if this.MyUint64Ptr != nil {
   640  		return false
   641  	} else if that1.MyUint64Ptr != nil {
   642  		return false
   643  	}
   644  	if this.MyUint64 != that1.MyUint64 {
   645  		return false
   646  	}
   647  	if this.MyFloat32Ptr != nil && that1.MyFloat32Ptr != nil {
   648  		if *this.MyFloat32Ptr != *that1.MyFloat32Ptr {
   649  			return false
   650  		}
   651  	} else if this.MyFloat32Ptr != nil {
   652  		return false
   653  	} else if that1.MyFloat32Ptr != nil {
   654  		return false
   655  	}
   656  	if this.MyFloat32 != that1.MyFloat32 {
   657  		return false
   658  	}
   659  	if this.MyFloat64Ptr != nil && that1.MyFloat64Ptr != nil {
   660  		if *this.MyFloat64Ptr != *that1.MyFloat64Ptr {
   661  			return false
   662  		}
   663  	} else if this.MyFloat64Ptr != nil {
   664  		return false
   665  	} else if that1.MyFloat64Ptr != nil {
   666  		return false
   667  	}
   668  	if this.MyFloat64 != that1.MyFloat64 {
   669  		return false
   670  	}
   671  	if !bytes.Equal(this.MyBytes, that1.MyBytes) {
   672  		return false
   673  	}
   674  	if !bytes.Equal(this.NormalBytes, that1.NormalBytes) {
   675  		return false
   676  	}
   677  	if len(this.MyUint64S) != len(that1.MyUint64S) {
   678  		return false
   679  	}
   680  	for i := range this.MyUint64S {
   681  		if this.MyUint64S[i] != that1.MyUint64S[i] {
   682  			return false
   683  		}
   684  	}
   685  	if len(this.MyMap) != len(that1.MyMap) {
   686  		return false
   687  	}
   688  	for i := range this.MyMap {
   689  		if this.MyMap[i] != that1.MyMap[i] {
   690  			return false
   691  		}
   692  	}
   693  	if len(this.MyCustomMap) != len(that1.MyCustomMap) {
   694  		return false
   695  	}
   696  	for i := range this.MyCustomMap {
   697  		if this.MyCustomMap[i] != that1.MyCustomMap[i] {
   698  			return false
   699  		}
   700  	}
   701  	if len(this.MyNullableMap) != len(that1.MyNullableMap) {
   702  		return false
   703  	}
   704  	for i := range this.MyNullableMap {
   705  		if !this.MyNullableMap[i].Equal(that1.MyNullableMap[i]) {
   706  			return false
   707  		}
   708  	}
   709  	if len(this.MyEmbeddedMap) != len(that1.MyEmbeddedMap) {
   710  		return false
   711  	}
   712  	for i := range this.MyEmbeddedMap {
   713  		a := this.MyEmbeddedMap[i]
   714  		b := that1.MyEmbeddedMap[i]
   715  		if !(&a).Equal(&b) {
   716  			return false
   717  		}
   718  	}
   719  	if this.String_ != nil && that1.String_ != nil {
   720  		if *this.String_ != *that1.String_ {
   721  			return false
   722  		}
   723  	} else if this.String_ != nil {
   724  		return false
   725  	} else if that1.String_ != nil {
   726  		return false
   727  	}
   728  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   729  		return false
   730  	}
   731  	return true
   732  }
   733  func (this *Wilson) VerboseEqual(that interface{}) error {
   734  	if that == nil {
   735  		if this == nil {
   736  			return nil
   737  		}
   738  		return fmt.Errorf("that == nil && this != nil")
   739  	}
   740  
   741  	that1, ok := that.(*Wilson)
   742  	if !ok {
   743  		that2, ok := that.(Wilson)
   744  		if ok {
   745  			that1 = &that2
   746  		} else {
   747  			return fmt.Errorf("that is not of type *Wilson")
   748  		}
   749  	}
   750  	if that1 == nil {
   751  		if this == nil {
   752  			return nil
   753  		}
   754  		return fmt.Errorf("that is type *Wilson but is nil && this != nil")
   755  	} else if this == nil {
   756  		return fmt.Errorf("that is type *Wilson but is not nil && this == nil")
   757  	}
   758  	if this.Int64 != nil && that1.Int64 != nil {
   759  		if *this.Int64 != *that1.Int64 {
   760  			return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", *this.Int64, *that1.Int64)
   761  		}
   762  	} else if this.Int64 != nil {
   763  		return fmt.Errorf("this.Int64 == nil && that.Int64 != nil")
   764  	} else if that1.Int64 != nil {
   765  		return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", this.Int64, that1.Int64)
   766  	}
   767  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   768  		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
   769  	}
   770  	return nil
   771  }
   772  func (this *Wilson) Equal(that interface{}) bool {
   773  	if that == nil {
   774  		return this == nil
   775  	}
   776  
   777  	that1, ok := that.(*Wilson)
   778  	if !ok {
   779  		that2, ok := that.(Wilson)
   780  		if ok {
   781  			that1 = &that2
   782  		} else {
   783  			return false
   784  		}
   785  	}
   786  	if that1 == nil {
   787  		return this == nil
   788  	} else if this == nil {
   789  		return false
   790  	}
   791  	if this.Int64 != nil && that1.Int64 != nil {
   792  		if *this.Int64 != *that1.Int64 {
   793  			return false
   794  		}
   795  	} else if this.Int64 != nil {
   796  		return false
   797  	} else if that1.Int64 != nil {
   798  		return false
   799  	}
   800  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   801  		return false
   802  	}
   803  	return true
   804  }
   805  
   806  type CastawayFace interface {
   807  	Proto() github_com_gogo_protobuf_proto.Message
   808  	GetInt32Ptr() *int32
   809  	GetInt32() int32
   810  	GetMyUint64Ptr() *github_com_gogo_protobuf_test_casttype.MyUint64Type
   811  	GetMyUint64() github_com_gogo_protobuf_test_casttype.MyUint64Type
   812  	GetMyFloat32Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat32Type
   813  	GetMyFloat32() github_com_gogo_protobuf_test_casttype.MyFloat32Type
   814  	GetMyFloat64Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat64Type
   815  	GetMyFloat64() github_com_gogo_protobuf_test_casttype.MyFloat64Type
   816  	GetMyBytes() github_com_gogo_protobuf_test_casttype.Bytes
   817  	GetNormalBytes() []byte
   818  	GetMyUint64S() []github_com_gogo_protobuf_test_casttype.MyUint64Type
   819  	GetMyMap() github_com_gogo_protobuf_test_casttype.MyMapType
   820  	GetMyCustomMap() map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type
   821  	GetMyNullableMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson
   822  	GetMyEmbeddedMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson
   823  	GetString_() *github_com_gogo_protobuf_test_casttype.MyStringType
   824  }
   825  
   826  func (this *Castaway) Proto() github_com_gogo_protobuf_proto.Message {
   827  	return this
   828  }
   829  
   830  func (this *Castaway) TestProto() github_com_gogo_protobuf_proto.Message {
   831  	return NewCastawayFromFace(this)
   832  }
   833  
   834  func (this *Castaway) GetInt32Ptr() *int32 {
   835  	return this.Int32Ptr
   836  }
   837  
   838  func (this *Castaway) GetInt32() int32 {
   839  	return this.Int32
   840  }
   841  
   842  func (this *Castaway) GetMyUint64Ptr() *github_com_gogo_protobuf_test_casttype.MyUint64Type {
   843  	return this.MyUint64Ptr
   844  }
   845  
   846  func (this *Castaway) GetMyUint64() github_com_gogo_protobuf_test_casttype.MyUint64Type {
   847  	return this.MyUint64
   848  }
   849  
   850  func (this *Castaway) GetMyFloat32Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat32Type {
   851  	return this.MyFloat32Ptr
   852  }
   853  
   854  func (this *Castaway) GetMyFloat32() github_com_gogo_protobuf_test_casttype.MyFloat32Type {
   855  	return this.MyFloat32
   856  }
   857  
   858  func (this *Castaway) GetMyFloat64Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat64Type {
   859  	return this.MyFloat64Ptr
   860  }
   861  
   862  func (this *Castaway) GetMyFloat64() github_com_gogo_protobuf_test_casttype.MyFloat64Type {
   863  	return this.MyFloat64
   864  }
   865  
   866  func (this *Castaway) GetMyBytes() github_com_gogo_protobuf_test_casttype.Bytes {
   867  	return this.MyBytes
   868  }
   869  
   870  func (this *Castaway) GetNormalBytes() []byte {
   871  	return this.NormalBytes
   872  }
   873  
   874  func (this *Castaway) GetMyUint64S() []github_com_gogo_protobuf_test_casttype.MyUint64Type {
   875  	return this.MyUint64S
   876  }
   877  
   878  func (this *Castaway) GetMyMap() github_com_gogo_protobuf_test_casttype.MyMapType {
   879  	return this.MyMap
   880  }
   881  
   882  func (this *Castaway) GetMyCustomMap() map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type {
   883  	return this.MyCustomMap
   884  }
   885  
   886  func (this *Castaway) GetMyNullableMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson {
   887  	return this.MyNullableMap
   888  }
   889  
   890  func (this *Castaway) GetMyEmbeddedMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson {
   891  	return this.MyEmbeddedMap
   892  }
   893  
   894  func (this *Castaway) GetString_() *github_com_gogo_protobuf_test_casttype.MyStringType {
   895  	return this.String_
   896  }
   897  
   898  func NewCastawayFromFace(that CastawayFace) *Castaway {
   899  	this := &Castaway{}
   900  	this.Int32Ptr = that.GetInt32Ptr()
   901  	this.Int32 = that.GetInt32()
   902  	this.MyUint64Ptr = that.GetMyUint64Ptr()
   903  	this.MyUint64 = that.GetMyUint64()
   904  	this.MyFloat32Ptr = that.GetMyFloat32Ptr()
   905  	this.MyFloat32 = that.GetMyFloat32()
   906  	this.MyFloat64Ptr = that.GetMyFloat64Ptr()
   907  	this.MyFloat64 = that.GetMyFloat64()
   908  	this.MyBytes = that.GetMyBytes()
   909  	this.NormalBytes = that.GetNormalBytes()
   910  	this.MyUint64S = that.GetMyUint64S()
   911  	this.MyMap = that.GetMyMap()
   912  	this.MyCustomMap = that.GetMyCustomMap()
   913  	this.MyNullableMap = that.GetMyNullableMap()
   914  	this.MyEmbeddedMap = that.GetMyEmbeddedMap()
   915  	this.String_ = that.GetString_()
   916  	return this
   917  }
   918  
   919  type WilsonFace interface {
   920  	Proto() github_com_gogo_protobuf_proto.Message
   921  	GetInt64() *int64
   922  }
   923  
   924  func (this *Wilson) Proto() github_com_gogo_protobuf_proto.Message {
   925  	return this
   926  }
   927  
   928  func (this *Wilson) TestProto() github_com_gogo_protobuf_proto.Message {
   929  	return NewWilsonFromFace(this)
   930  }
   931  
   932  func (this *Wilson) GetInt64() *int64 {
   933  	return this.Int64
   934  }
   935  
   936  func NewWilsonFromFace(that WilsonFace) *Wilson {
   937  	this := &Wilson{}
   938  	this.Int64 = that.GetInt64()
   939  	return this
   940  }
   941  
   942  func (this *Castaway) GoString() string {
   943  	if this == nil {
   944  		return "nil"
   945  	}
   946  	s := make([]string, 0, 20)
   947  	s = append(s, "&casttype.Castaway{")
   948  	if this.Int32Ptr != nil {
   949  		s = append(s, "Int32Ptr: "+valueToGoStringCasttype(this.Int32Ptr, "int32")+",\n")
   950  	}
   951  	s = append(s, "Int32: "+fmt.Sprintf("%#v", this.Int32)+",\n")
   952  	if this.MyUint64Ptr != nil {
   953  		s = append(s, "MyUint64Ptr: "+valueToGoStringCasttype(this.MyUint64Ptr, "github_com_gogo_protobuf_test_casttype.MyUint64Type")+",\n")
   954  	}
   955  	s = append(s, "MyUint64: "+fmt.Sprintf("%#v", this.MyUint64)+",\n")
   956  	if this.MyFloat32Ptr != nil {
   957  		s = append(s, "MyFloat32Ptr: "+valueToGoStringCasttype(this.MyFloat32Ptr, "github_com_gogo_protobuf_test_casttype.MyFloat32Type")+",\n")
   958  	}
   959  	s = append(s, "MyFloat32: "+fmt.Sprintf("%#v", this.MyFloat32)+",\n")
   960  	if this.MyFloat64Ptr != nil {
   961  		s = append(s, "MyFloat64Ptr: "+valueToGoStringCasttype(this.MyFloat64Ptr, "github_com_gogo_protobuf_test_casttype.MyFloat64Type")+",\n")
   962  	}
   963  	s = append(s, "MyFloat64: "+fmt.Sprintf("%#v", this.MyFloat64)+",\n")
   964  	if this.MyBytes != nil {
   965  		s = append(s, "MyBytes: "+valueToGoStringCasttype(this.MyBytes, "github_com_gogo_protobuf_test_casttype.Bytes")+",\n")
   966  	}
   967  	if this.NormalBytes != nil {
   968  		s = append(s, "NormalBytes: "+valueToGoStringCasttype(this.NormalBytes, "byte")+",\n")
   969  	}
   970  	if this.MyUint64S != nil {
   971  		s = append(s, "MyUint64S: "+fmt.Sprintf("%#v", this.MyUint64S)+",\n")
   972  	}
   973  	keysForMyMap := make([]string, 0, len(this.MyMap))
   974  	for k := range this.MyMap {
   975  		keysForMyMap = append(keysForMyMap, k)
   976  	}
   977  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyMap)
   978  	mapStringForMyMap := "github_com_gogo_protobuf_test_casttype.MyMapType{"
   979  	for _, k := range keysForMyMap {
   980  		mapStringForMyMap += fmt.Sprintf("%#v: %#v,", k, this.MyMap[k])
   981  	}
   982  	mapStringForMyMap += "}"
   983  	if this.MyMap != nil {
   984  		s = append(s, "MyMap: "+mapStringForMyMap+",\n")
   985  	}
   986  	keysForMyCustomMap := make([]string, 0, len(this.MyCustomMap))
   987  	for k := range this.MyCustomMap {
   988  		keysForMyCustomMap = append(keysForMyCustomMap, string(k))
   989  	}
   990  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyCustomMap)
   991  	mapStringForMyCustomMap := "map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type{"
   992  	for _, k := range keysForMyCustomMap {
   993  		mapStringForMyCustomMap += fmt.Sprintf("%#v: %#v,", k, this.MyCustomMap[github_com_gogo_protobuf_test_casttype.MyStringType(k)])
   994  	}
   995  	mapStringForMyCustomMap += "}"
   996  	if this.MyCustomMap != nil {
   997  		s = append(s, "MyCustomMap: "+mapStringForMyCustomMap+",\n")
   998  	}
   999  	keysForMyNullableMap := make([]int32, 0, len(this.MyNullableMap))
  1000  	for k := range this.MyNullableMap {
  1001  		keysForMyNullableMap = append(keysForMyNullableMap, int32(k))
  1002  	}
  1003  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyNullableMap)
  1004  	mapStringForMyNullableMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson{"
  1005  	for _, k := range keysForMyNullableMap {
  1006  		mapStringForMyNullableMap += fmt.Sprintf("%#v: %#v,", k, this.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1007  	}
  1008  	mapStringForMyNullableMap += "}"
  1009  	if this.MyNullableMap != nil {
  1010  		s = append(s, "MyNullableMap: "+mapStringForMyNullableMap+",\n")
  1011  	}
  1012  	keysForMyEmbeddedMap := make([]int32, 0, len(this.MyEmbeddedMap))
  1013  	for k := range this.MyEmbeddedMap {
  1014  		keysForMyEmbeddedMap = append(keysForMyEmbeddedMap, int32(k))
  1015  	}
  1016  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyEmbeddedMap)
  1017  	mapStringForMyEmbeddedMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson{"
  1018  	for _, k := range keysForMyEmbeddedMap {
  1019  		mapStringForMyEmbeddedMap += fmt.Sprintf("%#v: %#v,", k, this.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1020  	}
  1021  	mapStringForMyEmbeddedMap += "}"
  1022  	if this.MyEmbeddedMap != nil {
  1023  		s = append(s, "MyEmbeddedMap: "+mapStringForMyEmbeddedMap+",\n")
  1024  	}
  1025  	if this.String_ != nil {
  1026  		s = append(s, "String_: "+valueToGoStringCasttype(this.String_, "github_com_gogo_protobuf_test_casttype.MyStringType")+",\n")
  1027  	}
  1028  	if this.XXX_unrecognized != nil {
  1029  		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
  1030  	}
  1031  	s = append(s, "}")
  1032  	return strings.Join(s, "")
  1033  }
  1034  func (this *Wilson) GoString() string {
  1035  	if this == nil {
  1036  		return "nil"
  1037  	}
  1038  	s := make([]string, 0, 5)
  1039  	s = append(s, "&casttype.Wilson{")
  1040  	if this.Int64 != nil {
  1041  		s = append(s, "Int64: "+valueToGoStringCasttype(this.Int64, "int64")+",\n")
  1042  	}
  1043  	if this.XXX_unrecognized != nil {
  1044  		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
  1045  	}
  1046  	s = append(s, "}")
  1047  	return strings.Join(s, "")
  1048  }
  1049  func valueToGoStringCasttype(v interface{}, typ string) string {
  1050  	rv := reflect.ValueOf(v)
  1051  	if rv.IsNil() {
  1052  		return "nil"
  1053  	}
  1054  	pv := reflect.Indirect(rv).Interface()
  1055  	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
  1056  }
  1057  func NewPopulatedCastaway(r randyCasttype, easy bool) *Castaway {
  1058  	this := &Castaway{}
  1059  	if r.Intn(5) != 0 {
  1060  		v1 := int32(r.Int63())
  1061  		if r.Intn(2) == 0 {
  1062  			v1 *= -1
  1063  		}
  1064  		this.Int32Ptr = &v1
  1065  	}
  1066  	this.Int32 = int32(r.Int63())
  1067  	if r.Intn(2) == 0 {
  1068  		this.Int32 *= -1
  1069  	}
  1070  	if r.Intn(5) != 0 {
  1071  		v2 := github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1072  		this.MyUint64Ptr = &v2
  1073  	}
  1074  	this.MyUint64 = github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1075  	if r.Intn(5) != 0 {
  1076  		v3 := github_com_gogo_protobuf_test_casttype.MyFloat32Type(r.Float32())
  1077  		if r.Intn(2) == 0 {
  1078  			v3 *= -1
  1079  		}
  1080  		this.MyFloat32Ptr = &v3
  1081  	}
  1082  	this.MyFloat32 = github_com_gogo_protobuf_test_casttype.MyFloat32Type(r.Float32())
  1083  	if r.Intn(2) == 0 {
  1084  		this.MyFloat32 *= -1
  1085  	}
  1086  	if r.Intn(5) != 0 {
  1087  		v4 := github_com_gogo_protobuf_test_casttype.MyFloat64Type(r.Float64())
  1088  		if r.Intn(2) == 0 {
  1089  			v4 *= -1
  1090  		}
  1091  		this.MyFloat64Ptr = &v4
  1092  	}
  1093  	this.MyFloat64 = github_com_gogo_protobuf_test_casttype.MyFloat64Type(r.Float64())
  1094  	if r.Intn(2) == 0 {
  1095  		this.MyFloat64 *= -1
  1096  	}
  1097  	if r.Intn(5) != 0 {
  1098  		v5 := r.Intn(100)
  1099  		this.MyBytes = make(github_com_gogo_protobuf_test_casttype.Bytes, v5)
  1100  		for i := 0; i < v5; i++ {
  1101  			this.MyBytes[i] = byte(r.Intn(256))
  1102  		}
  1103  	}
  1104  	if r.Intn(5) != 0 {
  1105  		v6 := r.Intn(100)
  1106  		this.NormalBytes = make([]byte, v6)
  1107  		for i := 0; i < v6; i++ {
  1108  			this.NormalBytes[i] = byte(r.Intn(256))
  1109  		}
  1110  	}
  1111  	if r.Intn(5) != 0 {
  1112  		v7 := r.Intn(10)
  1113  		this.MyUint64S = make([]github_com_gogo_protobuf_test_casttype.MyUint64Type, v7)
  1114  		for i := 0; i < v7; i++ {
  1115  			this.MyUint64S[i] = github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1116  		}
  1117  	}
  1118  	if r.Intn(5) != 0 {
  1119  		v8 := r.Intn(10)
  1120  		this.MyMap = make(github_com_gogo_protobuf_test_casttype.MyMapType)
  1121  		for i := 0; i < v8; i++ {
  1122  			v9 := randStringCasttype(r)
  1123  			this.MyMap[v9] = uint64(uint64(r.Uint32()))
  1124  		}
  1125  	}
  1126  	if r.Intn(5) != 0 {
  1127  		v10 := r.Intn(10)
  1128  		this.MyCustomMap = make(map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type)
  1129  		for i := 0; i < v10; i++ {
  1130  			v11 := github_com_gogo_protobuf_test_casttype.MyStringType(randStringCasttype(r))
  1131  			this.MyCustomMap[v11] = github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1132  		}
  1133  	}
  1134  	if r.Intn(5) != 0 {
  1135  		v12 := r.Intn(10)
  1136  		this.MyNullableMap = make(map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)
  1137  		for i := 0; i < v12; i++ {
  1138  			this.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(int32(r.Int31()))] = NewPopulatedWilson(r, easy)
  1139  		}
  1140  	}
  1141  	if r.Intn(5) != 0 {
  1142  		v13 := r.Intn(10)
  1143  		this.MyEmbeddedMap = make(map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson)
  1144  		for i := 0; i < v13; i++ {
  1145  			this.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(int32(r.Int31()))] = *NewPopulatedWilson(r, easy)
  1146  		}
  1147  	}
  1148  	if r.Intn(5) != 0 {
  1149  		v14 := github_com_gogo_protobuf_test_casttype.MyStringType(randStringCasttype(r))
  1150  		this.String_ = &v14
  1151  	}
  1152  	if !easy && r.Intn(10) != 0 {
  1153  		this.XXX_unrecognized = randUnrecognizedCasttype(r, 17)
  1154  	}
  1155  	return this
  1156  }
  1157  
  1158  func NewPopulatedWilson(r randyCasttype, easy bool) *Wilson {
  1159  	this := &Wilson{}
  1160  	if r.Intn(5) != 0 {
  1161  		v15 := int64(r.Int63())
  1162  		if r.Intn(2) == 0 {
  1163  			v15 *= -1
  1164  		}
  1165  		this.Int64 = &v15
  1166  	}
  1167  	if !easy && r.Intn(10) != 0 {
  1168  		this.XXX_unrecognized = randUnrecognizedCasttype(r, 2)
  1169  	}
  1170  	return this
  1171  }
  1172  
  1173  type randyCasttype interface {
  1174  	Float32() float32
  1175  	Float64() float64
  1176  	Int63() int64
  1177  	Int31() int32
  1178  	Uint32() uint32
  1179  	Intn(n int) int
  1180  }
  1181  
  1182  func randUTF8RuneCasttype(r randyCasttype) rune {
  1183  	ru := r.Intn(62)
  1184  	if ru < 10 {
  1185  		return rune(ru + 48)
  1186  	} else if ru < 36 {
  1187  		return rune(ru + 55)
  1188  	}
  1189  	return rune(ru + 61)
  1190  }
  1191  func randStringCasttype(r randyCasttype) string {
  1192  	v16 := r.Intn(100)
  1193  	tmps := make([]rune, v16)
  1194  	for i := 0; i < v16; i++ {
  1195  		tmps[i] = randUTF8RuneCasttype(r)
  1196  	}
  1197  	return string(tmps)
  1198  }
  1199  func randUnrecognizedCasttype(r randyCasttype, maxFieldNumber int) (dAtA []byte) {
  1200  	l := r.Intn(5)
  1201  	for i := 0; i < l; i++ {
  1202  		wire := r.Intn(4)
  1203  		if wire == 3 {
  1204  			wire = 5
  1205  		}
  1206  		fieldNumber := maxFieldNumber + r.Intn(100)
  1207  		dAtA = randFieldCasttype(dAtA, r, fieldNumber, wire)
  1208  	}
  1209  	return dAtA
  1210  }
  1211  func randFieldCasttype(dAtA []byte, r randyCasttype, fieldNumber int, wire int) []byte {
  1212  	key := uint32(fieldNumber)<<3 | uint32(wire)
  1213  	switch wire {
  1214  	case 0:
  1215  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1216  		v17 := r.Int63()
  1217  		if r.Intn(2) == 0 {
  1218  			v17 *= -1
  1219  		}
  1220  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(v17))
  1221  	case 1:
  1222  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1223  		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)))
  1224  	case 2:
  1225  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1226  		ll := r.Intn(100)
  1227  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(ll))
  1228  		for j := 0; j < ll; j++ {
  1229  			dAtA = append(dAtA, byte(r.Intn(256)))
  1230  		}
  1231  	default:
  1232  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1233  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  1234  	}
  1235  	return dAtA
  1236  }
  1237  func encodeVarintPopulateCasttype(dAtA []byte, v uint64) []byte {
  1238  	for v >= 1<<7 {
  1239  		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
  1240  		v >>= 7
  1241  	}
  1242  	dAtA = append(dAtA, uint8(v))
  1243  	return dAtA
  1244  }
  1245  func (m *Castaway) Size() (n int) {
  1246  	if m == nil {
  1247  		return 0
  1248  	}
  1249  	var l int
  1250  	_ = l
  1251  	if m.Int32Ptr != nil {
  1252  		n += 1 + sovCasttype(uint64(*m.Int32Ptr))
  1253  	}
  1254  	n += 1 + sovCasttype(uint64(m.Int32))
  1255  	if m.MyUint64Ptr != nil {
  1256  		n += 1 + sovCasttype(uint64(*m.MyUint64Ptr))
  1257  	}
  1258  	n += 1 + sovCasttype(uint64(m.MyUint64))
  1259  	if m.MyFloat32Ptr != nil {
  1260  		n += 5
  1261  	}
  1262  	n += 5
  1263  	if m.MyFloat64Ptr != nil {
  1264  		n += 9
  1265  	}
  1266  	n += 9
  1267  	if m.MyBytes != nil {
  1268  		l = len(m.MyBytes)
  1269  		n += 1 + l + sovCasttype(uint64(l))
  1270  	}
  1271  	if m.NormalBytes != nil {
  1272  		l = len(m.NormalBytes)
  1273  		n += 1 + l + sovCasttype(uint64(l))
  1274  	}
  1275  	if len(m.MyUint64S) > 0 {
  1276  		for _, e := range m.MyUint64S {
  1277  			n += 1 + sovCasttype(uint64(e))
  1278  		}
  1279  	}
  1280  	if len(m.MyMap) > 0 {
  1281  		for k, v := range m.MyMap {
  1282  			_ = k
  1283  			_ = v
  1284  			mapEntrySize := 1 + len(k) + sovCasttype(uint64(len(k))) + 1 + sovCasttype(uint64(v))
  1285  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1286  		}
  1287  	}
  1288  	if len(m.MyCustomMap) > 0 {
  1289  		for k, v := range m.MyCustomMap {
  1290  			_ = k
  1291  			_ = v
  1292  			mapEntrySize := 1 + len(k) + sovCasttype(uint64(len(k))) + 1 + sovCasttype(uint64(v))
  1293  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1294  		}
  1295  	}
  1296  	if len(m.MyNullableMap) > 0 {
  1297  		for k, v := range m.MyNullableMap {
  1298  			_ = k
  1299  			_ = v
  1300  			l = 0
  1301  			if v != nil {
  1302  				l = v.Size()
  1303  				l += 1 + sovCasttype(uint64(l))
  1304  			}
  1305  			mapEntrySize := 1 + sovCasttype(uint64(k)) + l
  1306  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1307  		}
  1308  	}
  1309  	if len(m.MyEmbeddedMap) > 0 {
  1310  		for k, v := range m.MyEmbeddedMap {
  1311  			_ = k
  1312  			_ = v
  1313  			l = v.Size()
  1314  			mapEntrySize := 1 + sovCasttype(uint64(k)) + 1 + l + sovCasttype(uint64(l))
  1315  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1316  		}
  1317  	}
  1318  	if m.String_ != nil {
  1319  		l = len(*m.String_)
  1320  		n += 2 + l + sovCasttype(uint64(l))
  1321  	}
  1322  	if m.XXX_unrecognized != nil {
  1323  		n += len(m.XXX_unrecognized)
  1324  	}
  1325  	return n
  1326  }
  1327  
  1328  func (m *Wilson) Size() (n int) {
  1329  	if m == nil {
  1330  		return 0
  1331  	}
  1332  	var l int
  1333  	_ = l
  1334  	if m.Int64 != nil {
  1335  		n += 1 + sovCasttype(uint64(*m.Int64))
  1336  	}
  1337  	if m.XXX_unrecognized != nil {
  1338  		n += len(m.XXX_unrecognized)
  1339  	}
  1340  	return n
  1341  }
  1342  
  1343  func sovCasttype(x uint64) (n int) {
  1344  	return (math_bits.Len64(x|1) + 6) / 7
  1345  }
  1346  func sozCasttype(x uint64) (n int) {
  1347  	return sovCasttype(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1348  }
  1349  func (this *Castaway) String() string {
  1350  	if this == nil {
  1351  		return "nil"
  1352  	}
  1353  	keysForMyMap := make([]string, 0, len(this.MyMap))
  1354  	for k := range this.MyMap {
  1355  		keysForMyMap = append(keysForMyMap, k)
  1356  	}
  1357  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyMap)
  1358  	mapStringForMyMap := "github_com_gogo_protobuf_test_casttype.MyMapType{"
  1359  	for _, k := range keysForMyMap {
  1360  		mapStringForMyMap += fmt.Sprintf("%v: %v,", k, this.MyMap[k])
  1361  	}
  1362  	mapStringForMyMap += "}"
  1363  	keysForMyCustomMap := make([]string, 0, len(this.MyCustomMap))
  1364  	for k := range this.MyCustomMap {
  1365  		keysForMyCustomMap = append(keysForMyCustomMap, string(k))
  1366  	}
  1367  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyCustomMap)
  1368  	mapStringForMyCustomMap := "map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type{"
  1369  	for _, k := range keysForMyCustomMap {
  1370  		mapStringForMyCustomMap += fmt.Sprintf("%v: %v,", k, this.MyCustomMap[github_com_gogo_protobuf_test_casttype.MyStringType(k)])
  1371  	}
  1372  	mapStringForMyCustomMap += "}"
  1373  	keysForMyNullableMap := make([]int32, 0, len(this.MyNullableMap))
  1374  	for k := range this.MyNullableMap {
  1375  		keysForMyNullableMap = append(keysForMyNullableMap, int32(k))
  1376  	}
  1377  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyNullableMap)
  1378  	mapStringForMyNullableMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson{"
  1379  	for _, k := range keysForMyNullableMap {
  1380  		mapStringForMyNullableMap += fmt.Sprintf("%v: %v,", k, this.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1381  	}
  1382  	mapStringForMyNullableMap += "}"
  1383  	keysForMyEmbeddedMap := make([]int32, 0, len(this.MyEmbeddedMap))
  1384  	for k := range this.MyEmbeddedMap {
  1385  		keysForMyEmbeddedMap = append(keysForMyEmbeddedMap, int32(k))
  1386  	}
  1387  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyEmbeddedMap)
  1388  	mapStringForMyEmbeddedMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson{"
  1389  	for _, k := range keysForMyEmbeddedMap {
  1390  		mapStringForMyEmbeddedMap += fmt.Sprintf("%v: %v,", k, this.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1391  	}
  1392  	mapStringForMyEmbeddedMap += "}"
  1393  	s := strings.Join([]string{`&Castaway{`,
  1394  		`Int32Ptr:` + valueToStringCasttype(this.Int32Ptr) + `,`,
  1395  		`Int32:` + fmt.Sprintf("%v", this.Int32) + `,`,
  1396  		`MyUint64Ptr:` + valueToStringCasttype(this.MyUint64Ptr) + `,`,
  1397  		`MyUint64:` + fmt.Sprintf("%v", this.MyUint64) + `,`,
  1398  		`MyFloat32Ptr:` + valueToStringCasttype(this.MyFloat32Ptr) + `,`,
  1399  		`MyFloat32:` + fmt.Sprintf("%v", this.MyFloat32) + `,`,
  1400  		`MyFloat64Ptr:` + valueToStringCasttype(this.MyFloat64Ptr) + `,`,
  1401  		`MyFloat64:` + fmt.Sprintf("%v", this.MyFloat64) + `,`,
  1402  		`MyBytes:` + valueToStringCasttype(this.MyBytes) + `,`,
  1403  		`NormalBytes:` + valueToStringCasttype(this.NormalBytes) + `,`,
  1404  		`MyUint64S:` + fmt.Sprintf("%v", this.MyUint64S) + `,`,
  1405  		`MyMap:` + mapStringForMyMap + `,`,
  1406  		`MyCustomMap:` + mapStringForMyCustomMap + `,`,
  1407  		`MyNullableMap:` + mapStringForMyNullableMap + `,`,
  1408  		`MyEmbeddedMap:` + mapStringForMyEmbeddedMap + `,`,
  1409  		`String_:` + valueToStringCasttype(this.String_) + `,`,
  1410  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1411  		`}`,
  1412  	}, "")
  1413  	return s
  1414  }
  1415  func (this *Wilson) String() string {
  1416  	if this == nil {
  1417  		return "nil"
  1418  	}
  1419  	s := strings.Join([]string{`&Wilson{`,
  1420  		`Int64:` + valueToStringCasttype(this.Int64) + `,`,
  1421  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1422  		`}`,
  1423  	}, "")
  1424  	return s
  1425  }
  1426  func valueToStringCasttype(v interface{}) string {
  1427  	rv := reflect.ValueOf(v)
  1428  	if rv.IsNil() {
  1429  		return "nil"
  1430  	}
  1431  	pv := reflect.Indirect(rv).Interface()
  1432  	return fmt.Sprintf("*%v", pv)
  1433  }
  1434  func (m *Castaway) Unmarshal(dAtA []byte) error {
  1435  	l := len(dAtA)
  1436  	iNdEx := 0
  1437  	for iNdEx < l {
  1438  		preIndex := iNdEx
  1439  		var wire uint64
  1440  		for shift := uint(0); ; shift += 7 {
  1441  			if shift >= 64 {
  1442  				return ErrIntOverflowCasttype
  1443  			}
  1444  			if iNdEx >= l {
  1445  				return io.ErrUnexpectedEOF
  1446  			}
  1447  			b := dAtA[iNdEx]
  1448  			iNdEx++
  1449  			wire |= uint64(b&0x7F) << shift
  1450  			if b < 0x80 {
  1451  				break
  1452  			}
  1453  		}
  1454  		fieldNum := int32(wire >> 3)
  1455  		wireType := int(wire & 0x7)
  1456  		if wireType == 4 {
  1457  			return fmt.Errorf("proto: Castaway: wiretype end group for non-group")
  1458  		}
  1459  		if fieldNum <= 0 {
  1460  			return fmt.Errorf("proto: Castaway: illegal tag %d (wire type %d)", fieldNum, wire)
  1461  		}
  1462  		switch fieldNum {
  1463  		case 1:
  1464  			if wireType != 0 {
  1465  				return fmt.Errorf("proto: wrong wireType = %d for field Int32Ptr", wireType)
  1466  			}
  1467  			var v int32
  1468  			for shift := uint(0); ; shift += 7 {
  1469  				if shift >= 64 {
  1470  					return ErrIntOverflowCasttype
  1471  				}
  1472  				if iNdEx >= l {
  1473  					return io.ErrUnexpectedEOF
  1474  				}
  1475  				b := dAtA[iNdEx]
  1476  				iNdEx++
  1477  				v |= int32(b&0x7F) << shift
  1478  				if b < 0x80 {
  1479  					break
  1480  				}
  1481  			}
  1482  			m.Int32Ptr = &v
  1483  		case 2:
  1484  			if wireType != 0 {
  1485  				return fmt.Errorf("proto: wrong wireType = %d for field Int32", wireType)
  1486  			}
  1487  			m.Int32 = 0
  1488  			for shift := uint(0); ; shift += 7 {
  1489  				if shift >= 64 {
  1490  					return ErrIntOverflowCasttype
  1491  				}
  1492  				if iNdEx >= l {
  1493  					return io.ErrUnexpectedEOF
  1494  				}
  1495  				b := dAtA[iNdEx]
  1496  				iNdEx++
  1497  				m.Int32 |= int32(b&0x7F) << shift
  1498  				if b < 0x80 {
  1499  					break
  1500  				}
  1501  			}
  1502  		case 3:
  1503  			if wireType != 0 {
  1504  				return fmt.Errorf("proto: wrong wireType = %d for field MyUint64Ptr", wireType)
  1505  			}
  1506  			var v github_com_gogo_protobuf_test_casttype.MyUint64Type
  1507  			for shift := uint(0); ; shift += 7 {
  1508  				if shift >= 64 {
  1509  					return ErrIntOverflowCasttype
  1510  				}
  1511  				if iNdEx >= l {
  1512  					return io.ErrUnexpectedEOF
  1513  				}
  1514  				b := dAtA[iNdEx]
  1515  				iNdEx++
  1516  				v |= github_com_gogo_protobuf_test_casttype.MyUint64Type(b&0x7F) << shift
  1517  				if b < 0x80 {
  1518  					break
  1519  				}
  1520  			}
  1521  			m.MyUint64Ptr = &v
  1522  		case 4:
  1523  			if wireType != 0 {
  1524  				return fmt.Errorf("proto: wrong wireType = %d for field MyUint64", wireType)
  1525  			}
  1526  			m.MyUint64 = 0
  1527  			for shift := uint(0); ; shift += 7 {
  1528  				if shift >= 64 {
  1529  					return ErrIntOverflowCasttype
  1530  				}
  1531  				if iNdEx >= l {
  1532  					return io.ErrUnexpectedEOF
  1533  				}
  1534  				b := dAtA[iNdEx]
  1535  				iNdEx++
  1536  				m.MyUint64 |= github_com_gogo_protobuf_test_casttype.MyUint64Type(b&0x7F) << shift
  1537  				if b < 0x80 {
  1538  					break
  1539  				}
  1540  			}
  1541  		case 5:
  1542  			if wireType != 5 {
  1543  				return fmt.Errorf("proto: wrong wireType = %d for field MyFloat32Ptr", wireType)
  1544  			}
  1545  			var v uint32
  1546  			if (iNdEx + 4) > l {
  1547  				return io.ErrUnexpectedEOF
  1548  			}
  1549  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  1550  			iNdEx += 4
  1551  			v2 := github_com_gogo_protobuf_test_casttype.MyFloat32Type(math.Float32frombits(v))
  1552  			m.MyFloat32Ptr = &v2
  1553  		case 6:
  1554  			if wireType != 5 {
  1555  				return fmt.Errorf("proto: wrong wireType = %d for field MyFloat32", wireType)
  1556  			}
  1557  			var v uint32
  1558  			if (iNdEx + 4) > l {
  1559  				return io.ErrUnexpectedEOF
  1560  			}
  1561  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  1562  			iNdEx += 4
  1563  			m.MyFloat32 = github_com_gogo_protobuf_test_casttype.MyFloat32Type(math.Float32frombits(v))
  1564  		case 7:
  1565  			if wireType != 1 {
  1566  				return fmt.Errorf("proto: wrong wireType = %d for field MyFloat64Ptr", wireType)
  1567  			}
  1568  			var v uint64
  1569  			if (iNdEx + 8) > l {
  1570  				return io.ErrUnexpectedEOF
  1571  			}
  1572  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1573  			iNdEx += 8
  1574  			v2 := github_com_gogo_protobuf_test_casttype.MyFloat64Type(math.Float64frombits(v))
  1575  			m.MyFloat64Ptr = &v2
  1576  		case 8:
  1577  			if wireType != 1 {
  1578  				return fmt.Errorf("proto: wrong wireType = %d for field MyFloat64", wireType)
  1579  			}
  1580  			var v uint64
  1581  			if (iNdEx + 8) > l {
  1582  				return io.ErrUnexpectedEOF
  1583  			}
  1584  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  1585  			iNdEx += 8
  1586  			m.MyFloat64 = github_com_gogo_protobuf_test_casttype.MyFloat64Type(math.Float64frombits(v))
  1587  		case 9:
  1588  			if wireType != 2 {
  1589  				return fmt.Errorf("proto: wrong wireType = %d for field MyBytes", wireType)
  1590  			}
  1591  			var byteLen int
  1592  			for shift := uint(0); ; shift += 7 {
  1593  				if shift >= 64 {
  1594  					return ErrIntOverflowCasttype
  1595  				}
  1596  				if iNdEx >= l {
  1597  					return io.ErrUnexpectedEOF
  1598  				}
  1599  				b := dAtA[iNdEx]
  1600  				iNdEx++
  1601  				byteLen |= int(b&0x7F) << shift
  1602  				if b < 0x80 {
  1603  					break
  1604  				}
  1605  			}
  1606  			if byteLen < 0 {
  1607  				return ErrInvalidLengthCasttype
  1608  			}
  1609  			postIndex := iNdEx + byteLen
  1610  			if postIndex < 0 {
  1611  				return ErrInvalidLengthCasttype
  1612  			}
  1613  			if postIndex > l {
  1614  				return io.ErrUnexpectedEOF
  1615  			}
  1616  			m.MyBytes = append(m.MyBytes[:0], dAtA[iNdEx:postIndex]...)
  1617  			if m.MyBytes == nil {
  1618  				m.MyBytes = []byte{}
  1619  			}
  1620  			iNdEx = postIndex
  1621  		case 10:
  1622  			if wireType != 2 {
  1623  				return fmt.Errorf("proto: wrong wireType = %d for field NormalBytes", wireType)
  1624  			}
  1625  			var byteLen int
  1626  			for shift := uint(0); ; shift += 7 {
  1627  				if shift >= 64 {
  1628  					return ErrIntOverflowCasttype
  1629  				}
  1630  				if iNdEx >= l {
  1631  					return io.ErrUnexpectedEOF
  1632  				}
  1633  				b := dAtA[iNdEx]
  1634  				iNdEx++
  1635  				byteLen |= int(b&0x7F) << shift
  1636  				if b < 0x80 {
  1637  					break
  1638  				}
  1639  			}
  1640  			if byteLen < 0 {
  1641  				return ErrInvalidLengthCasttype
  1642  			}
  1643  			postIndex := iNdEx + byteLen
  1644  			if postIndex < 0 {
  1645  				return ErrInvalidLengthCasttype
  1646  			}
  1647  			if postIndex > l {
  1648  				return io.ErrUnexpectedEOF
  1649  			}
  1650  			m.NormalBytes = append(m.NormalBytes[:0], dAtA[iNdEx:postIndex]...)
  1651  			if m.NormalBytes == nil {
  1652  				m.NormalBytes = []byte{}
  1653  			}
  1654  			iNdEx = postIndex
  1655  		case 11:
  1656  			if wireType == 0 {
  1657  				var v github_com_gogo_protobuf_test_casttype.MyUint64Type
  1658  				for shift := uint(0); ; shift += 7 {
  1659  					if shift >= 64 {
  1660  						return ErrIntOverflowCasttype
  1661  					}
  1662  					if iNdEx >= l {
  1663  						return io.ErrUnexpectedEOF
  1664  					}
  1665  					b := dAtA[iNdEx]
  1666  					iNdEx++
  1667  					v |= github_com_gogo_protobuf_test_casttype.MyUint64Type(b&0x7F) << shift
  1668  					if b < 0x80 {
  1669  						break
  1670  					}
  1671  				}
  1672  				m.MyUint64S = append(m.MyUint64S, v)
  1673  			} else if wireType == 2 {
  1674  				var packedLen int
  1675  				for shift := uint(0); ; shift += 7 {
  1676  					if shift >= 64 {
  1677  						return ErrIntOverflowCasttype
  1678  					}
  1679  					if iNdEx >= l {
  1680  						return io.ErrUnexpectedEOF
  1681  					}
  1682  					b := dAtA[iNdEx]
  1683  					iNdEx++
  1684  					packedLen |= int(b&0x7F) << shift
  1685  					if b < 0x80 {
  1686  						break
  1687  					}
  1688  				}
  1689  				if packedLen < 0 {
  1690  					return ErrInvalidLengthCasttype
  1691  				}
  1692  				postIndex := iNdEx + packedLen
  1693  				if postIndex < 0 {
  1694  					return ErrInvalidLengthCasttype
  1695  				}
  1696  				if postIndex > l {
  1697  					return io.ErrUnexpectedEOF
  1698  				}
  1699  				var elementCount int
  1700  				var count int
  1701  				for _, integer := range dAtA[iNdEx:postIndex] {
  1702  					if integer < 128 {
  1703  						count++
  1704  					}
  1705  				}
  1706  				elementCount = count
  1707  				if elementCount != 0 && len(m.MyUint64S) == 0 {
  1708  					m.MyUint64S = make([]github_com_gogo_protobuf_test_casttype.MyUint64Type, 0, elementCount)
  1709  				}
  1710  				for iNdEx < postIndex {
  1711  					var v github_com_gogo_protobuf_test_casttype.MyUint64Type
  1712  					for shift := uint(0); ; shift += 7 {
  1713  						if shift >= 64 {
  1714  							return ErrIntOverflowCasttype
  1715  						}
  1716  						if iNdEx >= l {
  1717  							return io.ErrUnexpectedEOF
  1718  						}
  1719  						b := dAtA[iNdEx]
  1720  						iNdEx++
  1721  						v |= github_com_gogo_protobuf_test_casttype.MyUint64Type(b&0x7F) << shift
  1722  						if b < 0x80 {
  1723  							break
  1724  						}
  1725  					}
  1726  					m.MyUint64S = append(m.MyUint64S, v)
  1727  				}
  1728  			} else {
  1729  				return fmt.Errorf("proto: wrong wireType = %d for field MyUint64S", wireType)
  1730  			}
  1731  		case 12:
  1732  			if wireType != 2 {
  1733  				return fmt.Errorf("proto: wrong wireType = %d for field MyMap", wireType)
  1734  			}
  1735  			var msglen int
  1736  			for shift := uint(0); ; shift += 7 {
  1737  				if shift >= 64 {
  1738  					return ErrIntOverflowCasttype
  1739  				}
  1740  				if iNdEx >= l {
  1741  					return io.ErrUnexpectedEOF
  1742  				}
  1743  				b := dAtA[iNdEx]
  1744  				iNdEx++
  1745  				msglen |= int(b&0x7F) << shift
  1746  				if b < 0x80 {
  1747  					break
  1748  				}
  1749  			}
  1750  			if msglen < 0 {
  1751  				return ErrInvalidLengthCasttype
  1752  			}
  1753  			postIndex := iNdEx + msglen
  1754  			if postIndex < 0 {
  1755  				return ErrInvalidLengthCasttype
  1756  			}
  1757  			if postIndex > l {
  1758  				return io.ErrUnexpectedEOF
  1759  			}
  1760  			if m.MyMap == nil {
  1761  				m.MyMap = make(github_com_gogo_protobuf_test_casttype.MyMapType)
  1762  			}
  1763  			var mapkey string
  1764  			var mapvalue uint64
  1765  			for iNdEx < postIndex {
  1766  				entryPreIndex := iNdEx
  1767  				var wire uint64
  1768  				for shift := uint(0); ; shift += 7 {
  1769  					if shift >= 64 {
  1770  						return ErrIntOverflowCasttype
  1771  					}
  1772  					if iNdEx >= l {
  1773  						return io.ErrUnexpectedEOF
  1774  					}
  1775  					b := dAtA[iNdEx]
  1776  					iNdEx++
  1777  					wire |= uint64(b&0x7F) << shift
  1778  					if b < 0x80 {
  1779  						break
  1780  					}
  1781  				}
  1782  				fieldNum := int32(wire >> 3)
  1783  				if fieldNum == 1 {
  1784  					var stringLenmapkey uint64
  1785  					for shift := uint(0); ; shift += 7 {
  1786  						if shift >= 64 {
  1787  							return ErrIntOverflowCasttype
  1788  						}
  1789  						if iNdEx >= l {
  1790  							return io.ErrUnexpectedEOF
  1791  						}
  1792  						b := dAtA[iNdEx]
  1793  						iNdEx++
  1794  						stringLenmapkey |= uint64(b&0x7F) << shift
  1795  						if b < 0x80 {
  1796  							break
  1797  						}
  1798  					}
  1799  					intStringLenmapkey := int(stringLenmapkey)
  1800  					if intStringLenmapkey < 0 {
  1801  						return ErrInvalidLengthCasttype
  1802  					}
  1803  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1804  					if postStringIndexmapkey < 0 {
  1805  						return ErrInvalidLengthCasttype
  1806  					}
  1807  					if postStringIndexmapkey > l {
  1808  						return io.ErrUnexpectedEOF
  1809  					}
  1810  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1811  					iNdEx = postStringIndexmapkey
  1812  				} else if fieldNum == 2 {
  1813  					for shift := uint(0); ; shift += 7 {
  1814  						if shift >= 64 {
  1815  							return ErrIntOverflowCasttype
  1816  						}
  1817  						if iNdEx >= l {
  1818  							return io.ErrUnexpectedEOF
  1819  						}
  1820  						b := dAtA[iNdEx]
  1821  						iNdEx++
  1822  						mapvalue |= uint64(b&0x7F) << shift
  1823  						if b < 0x80 {
  1824  							break
  1825  						}
  1826  					}
  1827  				} else {
  1828  					iNdEx = entryPreIndex
  1829  					skippy, err := skipCasttype(dAtA[iNdEx:])
  1830  					if err != nil {
  1831  						return err
  1832  					}
  1833  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  1834  						return ErrInvalidLengthCasttype
  1835  					}
  1836  					if (iNdEx + skippy) > postIndex {
  1837  						return io.ErrUnexpectedEOF
  1838  					}
  1839  					iNdEx += skippy
  1840  				}
  1841  			}
  1842  			m.MyMap[mapkey] = mapvalue
  1843  			iNdEx = postIndex
  1844  		case 13:
  1845  			if wireType != 2 {
  1846  				return fmt.Errorf("proto: wrong wireType = %d for field MyCustomMap", wireType)
  1847  			}
  1848  			var msglen int
  1849  			for shift := uint(0); ; shift += 7 {
  1850  				if shift >= 64 {
  1851  					return ErrIntOverflowCasttype
  1852  				}
  1853  				if iNdEx >= l {
  1854  					return io.ErrUnexpectedEOF
  1855  				}
  1856  				b := dAtA[iNdEx]
  1857  				iNdEx++
  1858  				msglen |= int(b&0x7F) << shift
  1859  				if b < 0x80 {
  1860  					break
  1861  				}
  1862  			}
  1863  			if msglen < 0 {
  1864  				return ErrInvalidLengthCasttype
  1865  			}
  1866  			postIndex := iNdEx + msglen
  1867  			if postIndex < 0 {
  1868  				return ErrInvalidLengthCasttype
  1869  			}
  1870  			if postIndex > l {
  1871  				return io.ErrUnexpectedEOF
  1872  			}
  1873  			if m.MyCustomMap == nil {
  1874  				m.MyCustomMap = make(map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type)
  1875  			}
  1876  			var mapkey github_com_gogo_protobuf_test_casttype.MyStringType
  1877  			var mapvalue uint64
  1878  			for iNdEx < postIndex {
  1879  				entryPreIndex := iNdEx
  1880  				var wire uint64
  1881  				for shift := uint(0); ; shift += 7 {
  1882  					if shift >= 64 {
  1883  						return ErrIntOverflowCasttype
  1884  					}
  1885  					if iNdEx >= l {
  1886  						return io.ErrUnexpectedEOF
  1887  					}
  1888  					b := dAtA[iNdEx]
  1889  					iNdEx++
  1890  					wire |= uint64(b&0x7F) << shift
  1891  					if b < 0x80 {
  1892  						break
  1893  					}
  1894  				}
  1895  				fieldNum := int32(wire >> 3)
  1896  				if fieldNum == 1 {
  1897  					var stringLenmapkey uint64
  1898  					for shift := uint(0); ; shift += 7 {
  1899  						if shift >= 64 {
  1900  							return ErrIntOverflowCasttype
  1901  						}
  1902  						if iNdEx >= l {
  1903  							return io.ErrUnexpectedEOF
  1904  						}
  1905  						b := dAtA[iNdEx]
  1906  						iNdEx++
  1907  						stringLenmapkey |= uint64(b&0x7F) << shift
  1908  						if b < 0x80 {
  1909  							break
  1910  						}
  1911  					}
  1912  					intStringLenmapkey := int(stringLenmapkey)
  1913  					if intStringLenmapkey < 0 {
  1914  						return ErrInvalidLengthCasttype
  1915  					}
  1916  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1917  					if postStringIndexmapkey < 0 {
  1918  						return ErrInvalidLengthCasttype
  1919  					}
  1920  					if postStringIndexmapkey > l {
  1921  						return io.ErrUnexpectedEOF
  1922  					}
  1923  					mapkey = github_com_gogo_protobuf_test_casttype.MyStringType(dAtA[iNdEx:postStringIndexmapkey])
  1924  					iNdEx = postStringIndexmapkey
  1925  				} else if fieldNum == 2 {
  1926  					for shift := uint(0); ; shift += 7 {
  1927  						if shift >= 64 {
  1928  							return ErrIntOverflowCasttype
  1929  						}
  1930  						if iNdEx >= l {
  1931  							return io.ErrUnexpectedEOF
  1932  						}
  1933  						b := dAtA[iNdEx]
  1934  						iNdEx++
  1935  						mapvalue |= uint64(b&0x7F) << shift
  1936  						if b < 0x80 {
  1937  							break
  1938  						}
  1939  					}
  1940  				} else {
  1941  					iNdEx = entryPreIndex
  1942  					skippy, err := skipCasttype(dAtA[iNdEx:])
  1943  					if err != nil {
  1944  						return err
  1945  					}
  1946  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  1947  						return ErrInvalidLengthCasttype
  1948  					}
  1949  					if (iNdEx + skippy) > postIndex {
  1950  						return io.ErrUnexpectedEOF
  1951  					}
  1952  					iNdEx += skippy
  1953  				}
  1954  			}
  1955  			m.MyCustomMap[github_com_gogo_protobuf_test_casttype.MyStringType(mapkey)] = ((github_com_gogo_protobuf_test_casttype.MyUint64Type)(mapvalue))
  1956  			iNdEx = postIndex
  1957  		case 14:
  1958  			if wireType != 2 {
  1959  				return fmt.Errorf("proto: wrong wireType = %d for field MyNullableMap", wireType)
  1960  			}
  1961  			var msglen int
  1962  			for shift := uint(0); ; shift += 7 {
  1963  				if shift >= 64 {
  1964  					return ErrIntOverflowCasttype
  1965  				}
  1966  				if iNdEx >= l {
  1967  					return io.ErrUnexpectedEOF
  1968  				}
  1969  				b := dAtA[iNdEx]
  1970  				iNdEx++
  1971  				msglen |= int(b&0x7F) << shift
  1972  				if b < 0x80 {
  1973  					break
  1974  				}
  1975  			}
  1976  			if msglen < 0 {
  1977  				return ErrInvalidLengthCasttype
  1978  			}
  1979  			postIndex := iNdEx + msglen
  1980  			if postIndex < 0 {
  1981  				return ErrInvalidLengthCasttype
  1982  			}
  1983  			if postIndex > l {
  1984  				return io.ErrUnexpectedEOF
  1985  			}
  1986  			if m.MyNullableMap == nil {
  1987  				m.MyNullableMap = make(map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)
  1988  			}
  1989  			var mapkey int32
  1990  			var mapvalue *Wilson
  1991  			for iNdEx < postIndex {
  1992  				entryPreIndex := iNdEx
  1993  				var wire uint64
  1994  				for shift := uint(0); ; shift += 7 {
  1995  					if shift >= 64 {
  1996  						return ErrIntOverflowCasttype
  1997  					}
  1998  					if iNdEx >= l {
  1999  						return io.ErrUnexpectedEOF
  2000  					}
  2001  					b := dAtA[iNdEx]
  2002  					iNdEx++
  2003  					wire |= uint64(b&0x7F) << shift
  2004  					if b < 0x80 {
  2005  						break
  2006  					}
  2007  				}
  2008  				fieldNum := int32(wire >> 3)
  2009  				if fieldNum == 1 {
  2010  					for shift := uint(0); ; shift += 7 {
  2011  						if shift >= 64 {
  2012  							return ErrIntOverflowCasttype
  2013  						}
  2014  						if iNdEx >= l {
  2015  							return io.ErrUnexpectedEOF
  2016  						}
  2017  						b := dAtA[iNdEx]
  2018  						iNdEx++
  2019  						mapkey |= int32(b&0x7F) << shift
  2020  						if b < 0x80 {
  2021  							break
  2022  						}
  2023  					}
  2024  				} else if fieldNum == 2 {
  2025  					var mapmsglen int
  2026  					for shift := uint(0); ; shift += 7 {
  2027  						if shift >= 64 {
  2028  							return ErrIntOverflowCasttype
  2029  						}
  2030  						if iNdEx >= l {
  2031  							return io.ErrUnexpectedEOF
  2032  						}
  2033  						b := dAtA[iNdEx]
  2034  						iNdEx++
  2035  						mapmsglen |= int(b&0x7F) << shift
  2036  						if b < 0x80 {
  2037  							break
  2038  						}
  2039  					}
  2040  					if mapmsglen < 0 {
  2041  						return ErrInvalidLengthCasttype
  2042  					}
  2043  					postmsgIndex := iNdEx + mapmsglen
  2044  					if postmsgIndex < 0 {
  2045  						return ErrInvalidLengthCasttype
  2046  					}
  2047  					if postmsgIndex > l {
  2048  						return io.ErrUnexpectedEOF
  2049  					}
  2050  					mapvalue = &Wilson{}
  2051  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  2052  						return err
  2053  					}
  2054  					iNdEx = postmsgIndex
  2055  				} else {
  2056  					iNdEx = entryPreIndex
  2057  					skippy, err := skipCasttype(dAtA[iNdEx:])
  2058  					if err != nil {
  2059  						return err
  2060  					}
  2061  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2062  						return ErrInvalidLengthCasttype
  2063  					}
  2064  					if (iNdEx + skippy) > postIndex {
  2065  						return io.ErrUnexpectedEOF
  2066  					}
  2067  					iNdEx += skippy
  2068  				}
  2069  			}
  2070  			m.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(mapkey)] = mapvalue
  2071  			iNdEx = postIndex
  2072  		case 15:
  2073  			if wireType != 2 {
  2074  				return fmt.Errorf("proto: wrong wireType = %d for field MyEmbeddedMap", wireType)
  2075  			}
  2076  			var msglen int
  2077  			for shift := uint(0); ; shift += 7 {
  2078  				if shift >= 64 {
  2079  					return ErrIntOverflowCasttype
  2080  				}
  2081  				if iNdEx >= l {
  2082  					return io.ErrUnexpectedEOF
  2083  				}
  2084  				b := dAtA[iNdEx]
  2085  				iNdEx++
  2086  				msglen |= int(b&0x7F) << shift
  2087  				if b < 0x80 {
  2088  					break
  2089  				}
  2090  			}
  2091  			if msglen < 0 {
  2092  				return ErrInvalidLengthCasttype
  2093  			}
  2094  			postIndex := iNdEx + msglen
  2095  			if postIndex < 0 {
  2096  				return ErrInvalidLengthCasttype
  2097  			}
  2098  			if postIndex > l {
  2099  				return io.ErrUnexpectedEOF
  2100  			}
  2101  			if m.MyEmbeddedMap == nil {
  2102  				m.MyEmbeddedMap = make(map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson)
  2103  			}
  2104  			var mapkey int32
  2105  			mapvalue := &Wilson{}
  2106  			for iNdEx < postIndex {
  2107  				entryPreIndex := iNdEx
  2108  				var wire uint64
  2109  				for shift := uint(0); ; shift += 7 {
  2110  					if shift >= 64 {
  2111  						return ErrIntOverflowCasttype
  2112  					}
  2113  					if iNdEx >= l {
  2114  						return io.ErrUnexpectedEOF
  2115  					}
  2116  					b := dAtA[iNdEx]
  2117  					iNdEx++
  2118  					wire |= uint64(b&0x7F) << shift
  2119  					if b < 0x80 {
  2120  						break
  2121  					}
  2122  				}
  2123  				fieldNum := int32(wire >> 3)
  2124  				if fieldNum == 1 {
  2125  					for shift := uint(0); ; shift += 7 {
  2126  						if shift >= 64 {
  2127  							return ErrIntOverflowCasttype
  2128  						}
  2129  						if iNdEx >= l {
  2130  							return io.ErrUnexpectedEOF
  2131  						}
  2132  						b := dAtA[iNdEx]
  2133  						iNdEx++
  2134  						mapkey |= int32(b&0x7F) << shift
  2135  						if b < 0x80 {
  2136  							break
  2137  						}
  2138  					}
  2139  				} else if fieldNum == 2 {
  2140  					var mapmsglen int
  2141  					for shift := uint(0); ; shift += 7 {
  2142  						if shift >= 64 {
  2143  							return ErrIntOverflowCasttype
  2144  						}
  2145  						if iNdEx >= l {
  2146  							return io.ErrUnexpectedEOF
  2147  						}
  2148  						b := dAtA[iNdEx]
  2149  						iNdEx++
  2150  						mapmsglen |= int(b&0x7F) << shift
  2151  						if b < 0x80 {
  2152  							break
  2153  						}
  2154  					}
  2155  					if mapmsglen < 0 {
  2156  						return ErrInvalidLengthCasttype
  2157  					}
  2158  					postmsgIndex := iNdEx + mapmsglen
  2159  					if postmsgIndex < 0 {
  2160  						return ErrInvalidLengthCasttype
  2161  					}
  2162  					if postmsgIndex > l {
  2163  						return io.ErrUnexpectedEOF
  2164  					}
  2165  					mapvalue = &Wilson{}
  2166  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  2167  						return err
  2168  					}
  2169  					iNdEx = postmsgIndex
  2170  				} else {
  2171  					iNdEx = entryPreIndex
  2172  					skippy, err := skipCasttype(dAtA[iNdEx:])
  2173  					if err != nil {
  2174  						return err
  2175  					}
  2176  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  2177  						return ErrInvalidLengthCasttype
  2178  					}
  2179  					if (iNdEx + skippy) > postIndex {
  2180  						return io.ErrUnexpectedEOF
  2181  					}
  2182  					iNdEx += skippy
  2183  				}
  2184  			}
  2185  			m.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(mapkey)] = *mapvalue
  2186  			iNdEx = postIndex
  2187  		case 16:
  2188  			if wireType != 2 {
  2189  				return fmt.Errorf("proto: wrong wireType = %d for field String_", wireType)
  2190  			}
  2191  			var stringLen uint64
  2192  			for shift := uint(0); ; shift += 7 {
  2193  				if shift >= 64 {
  2194  					return ErrIntOverflowCasttype
  2195  				}
  2196  				if iNdEx >= l {
  2197  					return io.ErrUnexpectedEOF
  2198  				}
  2199  				b := dAtA[iNdEx]
  2200  				iNdEx++
  2201  				stringLen |= uint64(b&0x7F) << shift
  2202  				if b < 0x80 {
  2203  					break
  2204  				}
  2205  			}
  2206  			intStringLen := int(stringLen)
  2207  			if intStringLen < 0 {
  2208  				return ErrInvalidLengthCasttype
  2209  			}
  2210  			postIndex := iNdEx + intStringLen
  2211  			if postIndex < 0 {
  2212  				return ErrInvalidLengthCasttype
  2213  			}
  2214  			if postIndex > l {
  2215  				return io.ErrUnexpectedEOF
  2216  			}
  2217  			s := github_com_gogo_protobuf_test_casttype.MyStringType(dAtA[iNdEx:postIndex])
  2218  			m.String_ = &s
  2219  			iNdEx = postIndex
  2220  		default:
  2221  			iNdEx = preIndex
  2222  			skippy, err := skipCasttype(dAtA[iNdEx:])
  2223  			if err != nil {
  2224  				return err
  2225  			}
  2226  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2227  				return ErrInvalidLengthCasttype
  2228  			}
  2229  			if (iNdEx + skippy) > l {
  2230  				return io.ErrUnexpectedEOF
  2231  			}
  2232  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2233  			iNdEx += skippy
  2234  		}
  2235  	}
  2236  
  2237  	if iNdEx > l {
  2238  		return io.ErrUnexpectedEOF
  2239  	}
  2240  	return nil
  2241  }
  2242  func (m *Wilson) Unmarshal(dAtA []byte) error {
  2243  	l := len(dAtA)
  2244  	iNdEx := 0
  2245  	for iNdEx < l {
  2246  		preIndex := iNdEx
  2247  		var wire uint64
  2248  		for shift := uint(0); ; shift += 7 {
  2249  			if shift >= 64 {
  2250  				return ErrIntOverflowCasttype
  2251  			}
  2252  			if iNdEx >= l {
  2253  				return io.ErrUnexpectedEOF
  2254  			}
  2255  			b := dAtA[iNdEx]
  2256  			iNdEx++
  2257  			wire |= uint64(b&0x7F) << shift
  2258  			if b < 0x80 {
  2259  				break
  2260  			}
  2261  		}
  2262  		fieldNum := int32(wire >> 3)
  2263  		wireType := int(wire & 0x7)
  2264  		if wireType == 4 {
  2265  			return fmt.Errorf("proto: Wilson: wiretype end group for non-group")
  2266  		}
  2267  		if fieldNum <= 0 {
  2268  			return fmt.Errorf("proto: Wilson: illegal tag %d (wire type %d)", fieldNum, wire)
  2269  		}
  2270  		switch fieldNum {
  2271  		case 1:
  2272  			if wireType != 0 {
  2273  				return fmt.Errorf("proto: wrong wireType = %d for field Int64", wireType)
  2274  			}
  2275  			var v int64
  2276  			for shift := uint(0); ; shift += 7 {
  2277  				if shift >= 64 {
  2278  					return ErrIntOverflowCasttype
  2279  				}
  2280  				if iNdEx >= l {
  2281  					return io.ErrUnexpectedEOF
  2282  				}
  2283  				b := dAtA[iNdEx]
  2284  				iNdEx++
  2285  				v |= int64(b&0x7F) << shift
  2286  				if b < 0x80 {
  2287  					break
  2288  				}
  2289  			}
  2290  			m.Int64 = &v
  2291  		default:
  2292  			iNdEx = preIndex
  2293  			skippy, err := skipCasttype(dAtA[iNdEx:])
  2294  			if err != nil {
  2295  				return err
  2296  			}
  2297  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2298  				return ErrInvalidLengthCasttype
  2299  			}
  2300  			if (iNdEx + skippy) > l {
  2301  				return io.ErrUnexpectedEOF
  2302  			}
  2303  			m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
  2304  			iNdEx += skippy
  2305  		}
  2306  	}
  2307  
  2308  	if iNdEx > l {
  2309  		return io.ErrUnexpectedEOF
  2310  	}
  2311  	return nil
  2312  }
  2313  func skipCasttype(dAtA []byte) (n int, err error) {
  2314  	l := len(dAtA)
  2315  	iNdEx := 0
  2316  	depth := 0
  2317  	for iNdEx < l {
  2318  		var wire uint64
  2319  		for shift := uint(0); ; shift += 7 {
  2320  			if shift >= 64 {
  2321  				return 0, ErrIntOverflowCasttype
  2322  			}
  2323  			if iNdEx >= l {
  2324  				return 0, io.ErrUnexpectedEOF
  2325  			}
  2326  			b := dAtA[iNdEx]
  2327  			iNdEx++
  2328  			wire |= (uint64(b) & 0x7F) << shift
  2329  			if b < 0x80 {
  2330  				break
  2331  			}
  2332  		}
  2333  		wireType := int(wire & 0x7)
  2334  		switch wireType {
  2335  		case 0:
  2336  			for shift := uint(0); ; shift += 7 {
  2337  				if shift >= 64 {
  2338  					return 0, ErrIntOverflowCasttype
  2339  				}
  2340  				if iNdEx >= l {
  2341  					return 0, io.ErrUnexpectedEOF
  2342  				}
  2343  				iNdEx++
  2344  				if dAtA[iNdEx-1] < 0x80 {
  2345  					break
  2346  				}
  2347  			}
  2348  		case 1:
  2349  			iNdEx += 8
  2350  		case 2:
  2351  			var length int
  2352  			for shift := uint(0); ; shift += 7 {
  2353  				if shift >= 64 {
  2354  					return 0, ErrIntOverflowCasttype
  2355  				}
  2356  				if iNdEx >= l {
  2357  					return 0, io.ErrUnexpectedEOF
  2358  				}
  2359  				b := dAtA[iNdEx]
  2360  				iNdEx++
  2361  				length |= (int(b) & 0x7F) << shift
  2362  				if b < 0x80 {
  2363  					break
  2364  				}
  2365  			}
  2366  			if length < 0 {
  2367  				return 0, ErrInvalidLengthCasttype
  2368  			}
  2369  			iNdEx += length
  2370  		case 3:
  2371  			depth++
  2372  		case 4:
  2373  			if depth == 0 {
  2374  				return 0, ErrUnexpectedEndOfGroupCasttype
  2375  			}
  2376  			depth--
  2377  		case 5:
  2378  			iNdEx += 4
  2379  		default:
  2380  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  2381  		}
  2382  		if iNdEx < 0 {
  2383  			return 0, ErrInvalidLengthCasttype
  2384  		}
  2385  		if depth == 0 {
  2386  			return iNdEx, nil
  2387  		}
  2388  	}
  2389  	return 0, io.ErrUnexpectedEOF
  2390  }
  2391  
  2392  var (
  2393  	ErrInvalidLengthCasttype        = fmt.Errorf("proto: negative length found during unmarshaling")
  2394  	ErrIntOverflowCasttype          = fmt.Errorf("proto: integer overflow")
  2395  	ErrUnexpectedEndOfGroupCasttype = fmt.Errorf("proto: unexpected end of group")
  2396  )