github.com/chrislusf/greenpack@v3.7.1-0.20170911073826-ad5bd10b7c47+incompatible/testdata/my2_gen.go (about)

     1  package testdata
     2  
     3  // NOTE: THIS FILE WAS PRODUCED BY THE
     4  // GREENPACK CODE GENERATION TOOL (github.com/glycerine/greenpack)
     5  // DO NOT EDIT
     6  
     7  import (
     8  	"github.com/glycerine/greenpack/msgp"
     9  )
    10  
    11  // DecodeMsg implements msgp.Decodable
    12  // We treat empty fields as if we read a Nil from the wire.
    13  func (z *Tr) DecodeMsg(dc *msgp.Reader) (err error) {
    14  	var sawTopNil bool
    15  	if dc.IsNil() {
    16  		sawTopNil = true
    17  		err = dc.ReadNil()
    18  		if err != nil {
    19  			return
    20  		}
    21  		dc.PushAlwaysNil()
    22  	}
    23  
    24  	var field []byte
    25  	_ = field
    26  	const maxFields5zgensym_72ba5d454ae3d9dd_6 = 6
    27  
    28  	// -- templateDecodeMsg starts here--
    29  	var totalEncodedFields5zgensym_72ba5d454ae3d9dd_6 uint32
    30  	totalEncodedFields5zgensym_72ba5d454ae3d9dd_6, err = dc.ReadMapHeader()
    31  	if err != nil {
    32  		return
    33  	}
    34  	encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6 := totalEncodedFields5zgensym_72ba5d454ae3d9dd_6
    35  	missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6 := maxFields5zgensym_72ba5d454ae3d9dd_6 - totalEncodedFields5zgensym_72ba5d454ae3d9dd_6
    36  
    37  	var nextMiss5zgensym_72ba5d454ae3d9dd_6 int32 = -1
    38  	var found5zgensym_72ba5d454ae3d9dd_6 [maxFields5zgensym_72ba5d454ae3d9dd_6]bool
    39  	var curField5zgensym_72ba5d454ae3d9dd_6 string
    40  
    41  doneWithStruct5zgensym_72ba5d454ae3d9dd_6:
    42  	// First fill all the encoded fields, then
    43  	// treat the remaining, missing fields, as Nil.
    44  	for encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6 > 0 || missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6 > 0 {
    45  		//fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6, missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6, msgp.ShowFound(found5zgensym_72ba5d454ae3d9dd_6[:]), decodeMsgFieldOrder5zgensym_72ba5d454ae3d9dd_6)
    46  		if encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6 > 0 {
    47  			encodedFieldsLeft5zgensym_72ba5d454ae3d9dd_6--
    48  			field, err = dc.ReadMapKeyPtr()
    49  			if err != nil {
    50  				return
    51  			}
    52  			curField5zgensym_72ba5d454ae3d9dd_6 = msgp.UnsafeString(field)
    53  		} else {
    54  			//missing fields need handling
    55  			if nextMiss5zgensym_72ba5d454ae3d9dd_6 < 0 {
    56  				// tell the reader to only give us Nils
    57  				// until further notice.
    58  				dc.PushAlwaysNil()
    59  				nextMiss5zgensym_72ba5d454ae3d9dd_6 = 0
    60  			}
    61  			for nextMiss5zgensym_72ba5d454ae3d9dd_6 < maxFields5zgensym_72ba5d454ae3d9dd_6 && (found5zgensym_72ba5d454ae3d9dd_6[nextMiss5zgensym_72ba5d454ae3d9dd_6] || decodeMsgFieldSkip5zgensym_72ba5d454ae3d9dd_6[nextMiss5zgensym_72ba5d454ae3d9dd_6]) {
    62  				nextMiss5zgensym_72ba5d454ae3d9dd_6++
    63  			}
    64  			if nextMiss5zgensym_72ba5d454ae3d9dd_6 == maxFields5zgensym_72ba5d454ae3d9dd_6 {
    65  				// filled all the empty fields!
    66  				break doneWithStruct5zgensym_72ba5d454ae3d9dd_6
    67  			}
    68  			missingFieldsLeft5zgensym_72ba5d454ae3d9dd_6--
    69  			curField5zgensym_72ba5d454ae3d9dd_6 = decodeMsgFieldOrder5zgensym_72ba5d454ae3d9dd_6[nextMiss5zgensym_72ba5d454ae3d9dd_6]
    70  		}
    71  		//fmt.Printf("switching on curField: '%v'\n", curField5zgensym_72ba5d454ae3d9dd_6)
    72  		switch curField5zgensym_72ba5d454ae3d9dd_6 {
    73  		// -- templateDecodeMsg ends here --
    74  
    75  		case "U_zid00_str":
    76  			found5zgensym_72ba5d454ae3d9dd_6[0] = true
    77  			z.U, err = dc.ReadString()
    78  			if err != nil {
    79  				return
    80  			}
    81  		case "Nt_zid01_int":
    82  			found5zgensym_72ba5d454ae3d9dd_6[1] = true
    83  			z.Nt, err = dc.ReadInt()
    84  			if err != nil {
    85  				return
    86  			}
    87  		case "Snot_zid02_map":
    88  			found5zgensym_72ba5d454ae3d9dd_6[2] = true
    89  			var zgensym_72ba5d454ae3d9dd_7 uint32
    90  			zgensym_72ba5d454ae3d9dd_7, err = dc.ReadMapHeader()
    91  			if err != nil {
    92  				return
    93  			}
    94  			if z.Snot == nil && zgensym_72ba5d454ae3d9dd_7 > 0 {
    95  				z.Snot = make(map[string]bool, zgensym_72ba5d454ae3d9dd_7)
    96  			} else if len(z.Snot) > 0 {
    97  				for key, _ := range z.Snot {
    98  					delete(z.Snot, key)
    99  				}
   100  			}
   101  			for zgensym_72ba5d454ae3d9dd_7 > 0 {
   102  				zgensym_72ba5d454ae3d9dd_7--
   103  				var zgensym_72ba5d454ae3d9dd_0 string
   104  				var zgensym_72ba5d454ae3d9dd_1 bool
   105  				zgensym_72ba5d454ae3d9dd_0, err = dc.ReadString()
   106  				if err != nil {
   107  					return
   108  				}
   109  				zgensym_72ba5d454ae3d9dd_1, err = dc.ReadBool()
   110  				if err != nil {
   111  					return
   112  				}
   113  				z.Snot[zgensym_72ba5d454ae3d9dd_0] = zgensym_72ba5d454ae3d9dd_1
   114  			}
   115  		case "Notyet_zid03_map":
   116  			found5zgensym_72ba5d454ae3d9dd_6[3] = true
   117  			var zgensym_72ba5d454ae3d9dd_8 uint32
   118  			zgensym_72ba5d454ae3d9dd_8, err = dc.ReadMapHeader()
   119  			if err != nil {
   120  				return
   121  			}
   122  			if z.Notyet == nil && zgensym_72ba5d454ae3d9dd_8 > 0 {
   123  				z.Notyet = make(map[string]bool, zgensym_72ba5d454ae3d9dd_8)
   124  			} else if len(z.Notyet) > 0 {
   125  				for key, _ := range z.Notyet {
   126  					delete(z.Notyet, key)
   127  				}
   128  			}
   129  			for zgensym_72ba5d454ae3d9dd_8 > 0 {
   130  				zgensym_72ba5d454ae3d9dd_8--
   131  				var zgensym_72ba5d454ae3d9dd_2 string
   132  				var zgensym_72ba5d454ae3d9dd_3 bool
   133  				zgensym_72ba5d454ae3d9dd_2, err = dc.ReadString()
   134  				if err != nil {
   135  					return
   136  				}
   137  				zgensym_72ba5d454ae3d9dd_3, err = dc.ReadBool()
   138  				if err != nil {
   139  					return
   140  				}
   141  				z.Notyet[zgensym_72ba5d454ae3d9dd_2] = zgensym_72ba5d454ae3d9dd_3
   142  			}
   143  		case "Setm_zid04_slc":
   144  			found5zgensym_72ba5d454ae3d9dd_6[4] = true
   145  			var zgensym_72ba5d454ae3d9dd_9 uint32
   146  			zgensym_72ba5d454ae3d9dd_9, err = dc.ReadArrayHeader()
   147  			if err != nil {
   148  				return
   149  			}
   150  			if cap(z.Setm) >= int(zgensym_72ba5d454ae3d9dd_9) {
   151  				z.Setm = (z.Setm)[:zgensym_72ba5d454ae3d9dd_9]
   152  			} else {
   153  				z.Setm = make([]*inn, zgensym_72ba5d454ae3d9dd_9)
   154  			}
   155  			for zgensym_72ba5d454ae3d9dd_4 := range z.Setm {
   156  				if dc.IsNil() {
   157  					err = dc.ReadNil()
   158  					if err != nil {
   159  						return
   160  					}
   161  
   162  					if z.Setm[zgensym_72ba5d454ae3d9dd_4] != nil {
   163  						dc.PushAlwaysNil()
   164  						err = z.Setm[zgensym_72ba5d454ae3d9dd_4].DecodeMsg(dc)
   165  						if err != nil {
   166  							return
   167  						}
   168  						dc.PopAlwaysNil()
   169  					}
   170  				} else {
   171  					// not Nil, we have something to read
   172  
   173  					if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil {
   174  						z.Setm[zgensym_72ba5d454ae3d9dd_4] = new(inn)
   175  					}
   176  					err = z.Setm[zgensym_72ba5d454ae3d9dd_4].DecodeMsg(dc)
   177  					if err != nil {
   178  						return
   179  					}
   180  				}
   181  			}
   182  		default:
   183  			err = dc.Skip()
   184  			if err != nil {
   185  				return
   186  			}
   187  		}
   188  	}
   189  	if nextMiss5zgensym_72ba5d454ae3d9dd_6 != -1 {
   190  		dc.PopAlwaysNil()
   191  	}
   192  
   193  	if sawTopNil {
   194  		dc.PopAlwaysNil()
   195  	}
   196  
   197  	if p, ok := interface{}(z).(msgp.PostLoad); ok {
   198  		p.PostLoadHook()
   199  	}
   200  
   201  	return
   202  }
   203  
   204  // fields of Tr
   205  var decodeMsgFieldOrder5zgensym_72ba5d454ae3d9dd_6 = []string{"U_zid00_str", "Nt_zid01_int", "Snot_zid02_map", "Notyet_zid03_map", "Setm_zid04_slc", ""}
   206  
   207  var decodeMsgFieldSkip5zgensym_72ba5d454ae3d9dd_6 = []bool{false, false, false, false, false, true}
   208  
   209  // fieldsNotEmpty supports omitempty tags
   210  func (z *Tr) fieldsNotEmpty(isempty []bool) uint32 {
   211  	if len(isempty) == 0 {
   212  		return 5
   213  	}
   214  	var fieldsInUse uint32 = 5
   215  	isempty[0] = (len(z.U) == 0) // string, omitempty
   216  	if isempty[0] {
   217  		fieldsInUse--
   218  	}
   219  	isempty[1] = (z.Nt == 0) // number, omitempty
   220  	if isempty[1] {
   221  		fieldsInUse--
   222  	}
   223  	isempty[2] = (len(z.Snot) == 0) // string, omitempty
   224  	if isempty[2] {
   225  		fieldsInUse--
   226  	}
   227  	isempty[3] = (len(z.Notyet) == 0) // string, omitempty
   228  	if isempty[3] {
   229  		fieldsInUse--
   230  	}
   231  	isempty[4] = (len(z.Setm) == 0) // string, omitempty
   232  	if isempty[4] {
   233  		fieldsInUse--
   234  	}
   235  
   236  	return fieldsInUse
   237  }
   238  
   239  // EncodeMsg implements msgp.Encodable
   240  func (z *Tr) EncodeMsg(en *msgp.Writer) (err error) {
   241  	if p, ok := interface{}(z).(msgp.PreSave); ok {
   242  		p.PreSaveHook()
   243  	}
   244  
   245  	// honor the omitempty tags
   246  	var empty_zgensym_72ba5d454ae3d9dd_10 [6]bool
   247  	fieldsInUse_zgensym_72ba5d454ae3d9dd_11 := z.fieldsNotEmpty(empty_zgensym_72ba5d454ae3d9dd_10[:])
   248  
   249  	// map header
   250  	err = en.WriteMapHeader(fieldsInUse_zgensym_72ba5d454ae3d9dd_11)
   251  	if err != nil {
   252  		return err
   253  	}
   254  
   255  	if !empty_zgensym_72ba5d454ae3d9dd_10[0] {
   256  		// write "U_zid00_str"
   257  		err = en.Append(0xab, 0x55, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x73, 0x74, 0x72)
   258  		if err != nil {
   259  			return err
   260  		}
   261  		err = en.WriteString(z.U)
   262  		if err != nil {
   263  			return
   264  		}
   265  	}
   266  
   267  	if !empty_zgensym_72ba5d454ae3d9dd_10[1] {
   268  		// write "Nt_zid01_int"
   269  		err = en.Append(0xac, 0x4e, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x6e, 0x74)
   270  		if err != nil {
   271  			return err
   272  		}
   273  		err = en.WriteInt(z.Nt)
   274  		if err != nil {
   275  			return
   276  		}
   277  	}
   278  
   279  	if !empty_zgensym_72ba5d454ae3d9dd_10[2] {
   280  		// write "Snot_zid02_map"
   281  		err = en.Append(0xae, 0x53, 0x6e, 0x6f, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x6d, 0x61, 0x70)
   282  		if err != nil {
   283  			return err
   284  		}
   285  		err = en.WriteMapHeader(uint32(len(z.Snot)))
   286  		if err != nil {
   287  			return
   288  		}
   289  		for zgensym_72ba5d454ae3d9dd_0, zgensym_72ba5d454ae3d9dd_1 := range z.Snot {
   290  			err = en.WriteString(zgensym_72ba5d454ae3d9dd_0)
   291  			if err != nil {
   292  				return
   293  			}
   294  			err = en.WriteBool(zgensym_72ba5d454ae3d9dd_1)
   295  			if err != nil {
   296  				return
   297  			}
   298  		}
   299  	}
   300  
   301  	if !empty_zgensym_72ba5d454ae3d9dd_10[3] {
   302  		// write "Notyet_zid03_map"
   303  		err = en.Append(0xb0, 0x4e, 0x6f, 0x74, 0x79, 0x65, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x33, 0x5f, 0x6d, 0x61, 0x70)
   304  		if err != nil {
   305  			return err
   306  		}
   307  		err = en.WriteMapHeader(uint32(len(z.Notyet)))
   308  		if err != nil {
   309  			return
   310  		}
   311  		for zgensym_72ba5d454ae3d9dd_2, zgensym_72ba5d454ae3d9dd_3 := range z.Notyet {
   312  			err = en.WriteString(zgensym_72ba5d454ae3d9dd_2)
   313  			if err != nil {
   314  				return
   315  			}
   316  			err = en.WriteBool(zgensym_72ba5d454ae3d9dd_3)
   317  			if err != nil {
   318  				return
   319  			}
   320  		}
   321  	}
   322  
   323  	if !empty_zgensym_72ba5d454ae3d9dd_10[4] {
   324  		// write "Setm_zid04_slc"
   325  		err = en.Append(0xae, 0x53, 0x65, 0x74, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x34, 0x5f, 0x73, 0x6c, 0x63)
   326  		if err != nil {
   327  			return err
   328  		}
   329  		err = en.WriteArrayHeader(uint32(len(z.Setm)))
   330  		if err != nil {
   331  			return
   332  		}
   333  		for zgensym_72ba5d454ae3d9dd_4 := range z.Setm {
   334  			if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil {
   335  				err = en.WriteNil()
   336  				if err != nil {
   337  					return
   338  				}
   339  			} else {
   340  				err = z.Setm[zgensym_72ba5d454ae3d9dd_4].EncodeMsg(en)
   341  				if err != nil {
   342  					return
   343  				}
   344  			}
   345  		}
   346  	}
   347  
   348  	return
   349  }
   350  
   351  // MarshalMsg implements msgp.Marshaler
   352  func (z *Tr) MarshalMsg(b []byte) (o []byte, err error) {
   353  	if p, ok := interface{}(z).(msgp.PreSave); ok {
   354  		p.PreSaveHook()
   355  	}
   356  
   357  	o = msgp.Require(b, z.Msgsize())
   358  
   359  	// honor the omitempty tags
   360  	var empty [6]bool
   361  	fieldsInUse := z.fieldsNotEmpty(empty[:])
   362  	o = msgp.AppendMapHeader(o, fieldsInUse)
   363  
   364  	if !empty[0] {
   365  		// string "U_zid00_str"
   366  		o = append(o, 0xab, 0x55, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x73, 0x74, 0x72)
   367  		o = msgp.AppendString(o, z.U)
   368  	}
   369  
   370  	if !empty[1] {
   371  		// string "Nt_zid01_int"
   372  		o = append(o, 0xac, 0x4e, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x6e, 0x74)
   373  		o = msgp.AppendInt(o, z.Nt)
   374  	}
   375  
   376  	if !empty[2] {
   377  		// string "Snot_zid02_map"
   378  		o = append(o, 0xae, 0x53, 0x6e, 0x6f, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x6d, 0x61, 0x70)
   379  		o = msgp.AppendMapHeader(o, uint32(len(z.Snot)))
   380  		for zgensym_72ba5d454ae3d9dd_0, zgensym_72ba5d454ae3d9dd_1 := range z.Snot {
   381  			o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_0)
   382  			o = msgp.AppendBool(o, zgensym_72ba5d454ae3d9dd_1)
   383  		}
   384  	}
   385  
   386  	if !empty[3] {
   387  		// string "Notyet_zid03_map"
   388  		o = append(o, 0xb0, 0x4e, 0x6f, 0x74, 0x79, 0x65, 0x74, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x33, 0x5f, 0x6d, 0x61, 0x70)
   389  		o = msgp.AppendMapHeader(o, uint32(len(z.Notyet)))
   390  		for zgensym_72ba5d454ae3d9dd_2, zgensym_72ba5d454ae3d9dd_3 := range z.Notyet {
   391  			o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_2)
   392  			o = msgp.AppendBool(o, zgensym_72ba5d454ae3d9dd_3)
   393  		}
   394  	}
   395  
   396  	if !empty[4] {
   397  		// string "Setm_zid04_slc"
   398  		o = append(o, 0xae, 0x53, 0x65, 0x74, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x34, 0x5f, 0x73, 0x6c, 0x63)
   399  		o = msgp.AppendArrayHeader(o, uint32(len(z.Setm)))
   400  		for zgensym_72ba5d454ae3d9dd_4 := range z.Setm {
   401  			if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil {
   402  				o = msgp.AppendNil(o)
   403  			} else {
   404  				o, err = z.Setm[zgensym_72ba5d454ae3d9dd_4].MarshalMsg(o)
   405  				if err != nil {
   406  					return
   407  				}
   408  			}
   409  		}
   410  	}
   411  
   412  	return
   413  }
   414  
   415  // UnmarshalMsg implements msgp.Unmarshaler
   416  func (z *Tr) UnmarshalMsg(bts []byte) (o []byte, err error) {
   417  	return z.UnmarshalMsgWithCfg(bts, nil)
   418  }
   419  func (z *Tr) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) {
   420  	var nbs msgp.NilBitsStack
   421  	nbs.Init(cfg)
   422  	var sawTopNil bool
   423  	if msgp.IsNil(bts) {
   424  		sawTopNil = true
   425  		bts = nbs.PushAlwaysNil(bts[1:])
   426  	}
   427  
   428  	var field []byte
   429  	_ = field
   430  	const maxFields12zgensym_72ba5d454ae3d9dd_13 = 6
   431  
   432  	// -- templateUnmarshalMsg starts here--
   433  	var totalEncodedFields12zgensym_72ba5d454ae3d9dd_13 uint32
   434  	if !nbs.AlwaysNil {
   435  		totalEncodedFields12zgensym_72ba5d454ae3d9dd_13, bts, err = nbs.ReadMapHeaderBytes(bts)
   436  		if err != nil {
   437  			return
   438  		}
   439  	}
   440  	encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13 := totalEncodedFields12zgensym_72ba5d454ae3d9dd_13
   441  	missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13 := maxFields12zgensym_72ba5d454ae3d9dd_13 - totalEncodedFields12zgensym_72ba5d454ae3d9dd_13
   442  
   443  	var nextMiss12zgensym_72ba5d454ae3d9dd_13 int32 = -1
   444  	var found12zgensym_72ba5d454ae3d9dd_13 [maxFields12zgensym_72ba5d454ae3d9dd_13]bool
   445  	var curField12zgensym_72ba5d454ae3d9dd_13 string
   446  
   447  doneWithStruct12zgensym_72ba5d454ae3d9dd_13:
   448  	// First fill all the encoded fields, then
   449  	// treat the remaining, missing fields, as Nil.
   450  	for encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13 > 0 || missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13 > 0 {
   451  		//fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13, missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13, msgp.ShowFound(found12zgensym_72ba5d454ae3d9dd_13[:]), unmarshalMsgFieldOrder12zgensym_72ba5d454ae3d9dd_13)
   452  		if encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13 > 0 {
   453  			encodedFieldsLeft12zgensym_72ba5d454ae3d9dd_13--
   454  			field, bts, err = nbs.ReadMapKeyZC(bts)
   455  			if err != nil {
   456  				return
   457  			}
   458  			curField12zgensym_72ba5d454ae3d9dd_13 = msgp.UnsafeString(field)
   459  		} else {
   460  			//missing fields need handling
   461  			if nextMiss12zgensym_72ba5d454ae3d9dd_13 < 0 {
   462  				// set bts to contain just mnil (0xc0)
   463  				bts = nbs.PushAlwaysNil(bts)
   464  				nextMiss12zgensym_72ba5d454ae3d9dd_13 = 0
   465  			}
   466  			for nextMiss12zgensym_72ba5d454ae3d9dd_13 < maxFields12zgensym_72ba5d454ae3d9dd_13 && (found12zgensym_72ba5d454ae3d9dd_13[nextMiss12zgensym_72ba5d454ae3d9dd_13] || unmarshalMsgFieldSkip12zgensym_72ba5d454ae3d9dd_13[nextMiss12zgensym_72ba5d454ae3d9dd_13]) {
   467  				nextMiss12zgensym_72ba5d454ae3d9dd_13++
   468  			}
   469  			if nextMiss12zgensym_72ba5d454ae3d9dd_13 == maxFields12zgensym_72ba5d454ae3d9dd_13 {
   470  				// filled all the empty fields!
   471  				break doneWithStruct12zgensym_72ba5d454ae3d9dd_13
   472  			}
   473  			missingFieldsLeft12zgensym_72ba5d454ae3d9dd_13--
   474  			curField12zgensym_72ba5d454ae3d9dd_13 = unmarshalMsgFieldOrder12zgensym_72ba5d454ae3d9dd_13[nextMiss12zgensym_72ba5d454ae3d9dd_13]
   475  		}
   476  		//fmt.Printf("switching on curField: '%v'\n", curField12zgensym_72ba5d454ae3d9dd_13)
   477  		switch curField12zgensym_72ba5d454ae3d9dd_13 {
   478  		// -- templateUnmarshalMsg ends here --
   479  
   480  		case "U_zid00_str":
   481  			found12zgensym_72ba5d454ae3d9dd_13[0] = true
   482  			z.U, bts, err = nbs.ReadStringBytes(bts)
   483  
   484  			if err != nil {
   485  				return
   486  			}
   487  		case "Nt_zid01_int":
   488  			found12zgensym_72ba5d454ae3d9dd_13[1] = true
   489  			z.Nt, bts, err = nbs.ReadIntBytes(bts)
   490  
   491  			if err != nil {
   492  				return
   493  			}
   494  		case "Snot_zid02_map":
   495  			found12zgensym_72ba5d454ae3d9dd_13[2] = true
   496  			if nbs.AlwaysNil {
   497  				if len(z.Snot) > 0 {
   498  					for key, _ := range z.Snot {
   499  						delete(z.Snot, key)
   500  					}
   501  				}
   502  
   503  			} else {
   504  
   505  				var zgensym_72ba5d454ae3d9dd_14 uint32
   506  				zgensym_72ba5d454ae3d9dd_14, bts, err = nbs.ReadMapHeaderBytes(bts)
   507  				if err != nil {
   508  					return
   509  				}
   510  				if z.Snot == nil && zgensym_72ba5d454ae3d9dd_14 > 0 {
   511  					z.Snot = make(map[string]bool, zgensym_72ba5d454ae3d9dd_14)
   512  				} else if len(z.Snot) > 0 {
   513  					for key, _ := range z.Snot {
   514  						delete(z.Snot, key)
   515  					}
   516  				}
   517  				for zgensym_72ba5d454ae3d9dd_14 > 0 {
   518  					var zgensym_72ba5d454ae3d9dd_0 string
   519  					var zgensym_72ba5d454ae3d9dd_1 bool
   520  					zgensym_72ba5d454ae3d9dd_14--
   521  					zgensym_72ba5d454ae3d9dd_0, bts, err = nbs.ReadStringBytes(bts)
   522  					if err != nil {
   523  						return
   524  					}
   525  					zgensym_72ba5d454ae3d9dd_1, bts, err = nbs.ReadBoolBytes(bts)
   526  
   527  					if err != nil {
   528  						return
   529  					}
   530  					z.Snot[zgensym_72ba5d454ae3d9dd_0] = zgensym_72ba5d454ae3d9dd_1
   531  				}
   532  			}
   533  		case "Notyet_zid03_map":
   534  			found12zgensym_72ba5d454ae3d9dd_13[3] = true
   535  			if nbs.AlwaysNil {
   536  				if len(z.Notyet) > 0 {
   537  					for key, _ := range z.Notyet {
   538  						delete(z.Notyet, key)
   539  					}
   540  				}
   541  
   542  			} else {
   543  
   544  				var zgensym_72ba5d454ae3d9dd_15 uint32
   545  				zgensym_72ba5d454ae3d9dd_15, bts, err = nbs.ReadMapHeaderBytes(bts)
   546  				if err != nil {
   547  					return
   548  				}
   549  				if z.Notyet == nil && zgensym_72ba5d454ae3d9dd_15 > 0 {
   550  					z.Notyet = make(map[string]bool, zgensym_72ba5d454ae3d9dd_15)
   551  				} else if len(z.Notyet) > 0 {
   552  					for key, _ := range z.Notyet {
   553  						delete(z.Notyet, key)
   554  					}
   555  				}
   556  				for zgensym_72ba5d454ae3d9dd_15 > 0 {
   557  					var zgensym_72ba5d454ae3d9dd_2 string
   558  					var zgensym_72ba5d454ae3d9dd_3 bool
   559  					zgensym_72ba5d454ae3d9dd_15--
   560  					zgensym_72ba5d454ae3d9dd_2, bts, err = nbs.ReadStringBytes(bts)
   561  					if err != nil {
   562  						return
   563  					}
   564  					zgensym_72ba5d454ae3d9dd_3, bts, err = nbs.ReadBoolBytes(bts)
   565  
   566  					if err != nil {
   567  						return
   568  					}
   569  					z.Notyet[zgensym_72ba5d454ae3d9dd_2] = zgensym_72ba5d454ae3d9dd_3
   570  				}
   571  			}
   572  		case "Setm_zid04_slc":
   573  			found12zgensym_72ba5d454ae3d9dd_13[4] = true
   574  			if nbs.AlwaysNil {
   575  				(z.Setm) = (z.Setm)[:0]
   576  			} else {
   577  
   578  				var zgensym_72ba5d454ae3d9dd_16 uint32
   579  				zgensym_72ba5d454ae3d9dd_16, bts, err = nbs.ReadArrayHeaderBytes(bts)
   580  				if err != nil {
   581  					return
   582  				}
   583  				if cap(z.Setm) >= int(zgensym_72ba5d454ae3d9dd_16) {
   584  					z.Setm = (z.Setm)[:zgensym_72ba5d454ae3d9dd_16]
   585  				} else {
   586  					z.Setm = make([]*inn, zgensym_72ba5d454ae3d9dd_16)
   587  				}
   588  				for zgensym_72ba5d454ae3d9dd_4 := range z.Setm {
   589  					if nbs.AlwaysNil {
   590  						if z.Setm[zgensym_72ba5d454ae3d9dd_4] != nil {
   591  							z.Setm[zgensym_72ba5d454ae3d9dd_4].UnmarshalMsg(msgp.OnlyNilSlice)
   592  						}
   593  					} else {
   594  						// not nbs.AlwaysNil
   595  						if msgp.IsNil(bts) {
   596  							bts = bts[1:]
   597  							if nil != z.Setm[zgensym_72ba5d454ae3d9dd_4] {
   598  								z.Setm[zgensym_72ba5d454ae3d9dd_4].UnmarshalMsg(msgp.OnlyNilSlice)
   599  							}
   600  						} else {
   601  							// not nbs.AlwaysNil and not IsNil(bts): have something to read
   602  
   603  							if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil {
   604  								z.Setm[zgensym_72ba5d454ae3d9dd_4] = new(inn)
   605  							}
   606  							bts, err = z.Setm[zgensym_72ba5d454ae3d9dd_4].UnmarshalMsg(bts)
   607  							if err != nil {
   608  								return
   609  							}
   610  							if err != nil {
   611  								return
   612  							}
   613  						}
   614  					}
   615  				}
   616  			}
   617  		default:
   618  			bts, err = msgp.Skip(bts)
   619  			if err != nil {
   620  				return
   621  			}
   622  		}
   623  	}
   624  	if nextMiss12zgensym_72ba5d454ae3d9dd_13 != -1 {
   625  		bts = nbs.PopAlwaysNil()
   626  	}
   627  
   628  	if sawTopNil {
   629  		bts = nbs.PopAlwaysNil()
   630  	}
   631  	o = bts
   632  	if p, ok := interface{}(z).(msgp.PostLoad); ok {
   633  		p.PostLoadHook()
   634  	}
   635  
   636  	return
   637  }
   638  
   639  // fields of Tr
   640  var unmarshalMsgFieldOrder12zgensym_72ba5d454ae3d9dd_13 = []string{"U_zid00_str", "Nt_zid01_int", "Snot_zid02_map", "Notyet_zid03_map", "Setm_zid04_slc", ""}
   641  
   642  var unmarshalMsgFieldSkip12zgensym_72ba5d454ae3d9dd_13 = []bool{false, false, false, false, false, true}
   643  
   644  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
   645  func (z *Tr) Msgsize() (s int) {
   646  	s = 1 + 12 + msgp.StringPrefixSize + len(z.U) + 13 + msgp.IntSize + 15 + msgp.MapHeaderSize
   647  	if z.Snot != nil {
   648  		for zgensym_72ba5d454ae3d9dd_0, zgensym_72ba5d454ae3d9dd_1 := range z.Snot {
   649  			_ = zgensym_72ba5d454ae3d9dd_1
   650  			_ = zgensym_72ba5d454ae3d9dd_0
   651  			s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_0) + msgp.BoolSize
   652  		}
   653  	}
   654  	s += 17 + msgp.MapHeaderSize
   655  	if z.Notyet != nil {
   656  		for zgensym_72ba5d454ae3d9dd_2, zgensym_72ba5d454ae3d9dd_3 := range z.Notyet {
   657  			_ = zgensym_72ba5d454ae3d9dd_3
   658  			_ = zgensym_72ba5d454ae3d9dd_2
   659  			s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_2) + msgp.BoolSize
   660  		}
   661  	}
   662  	s += 15 + msgp.ArrayHeaderSize
   663  	for zgensym_72ba5d454ae3d9dd_4 := range z.Setm {
   664  		if z.Setm[zgensym_72ba5d454ae3d9dd_4] == nil {
   665  			s += msgp.NilSize
   666  		} else {
   667  			s += z.Setm[zgensym_72ba5d454ae3d9dd_4].Msgsize()
   668  		}
   669  	}
   670  	return
   671  }
   672  
   673  // DecodeMsg implements msgp.Decodable
   674  // We treat empty fields as if we read a Nil from the wire.
   675  func (z *inn) DecodeMsg(dc *msgp.Reader) (err error) {
   676  	var sawTopNil bool
   677  	if dc.IsNil() {
   678  		sawTopNil = true
   679  		err = dc.ReadNil()
   680  		if err != nil {
   681  			return
   682  		}
   683  		dc.PushAlwaysNil()
   684  	}
   685  
   686  	var field []byte
   687  	_ = field
   688  	const maxFields19zgensym_72ba5d454ae3d9dd_20 = 2
   689  
   690  	// -- templateDecodeMsg starts here--
   691  	var totalEncodedFields19zgensym_72ba5d454ae3d9dd_20 uint32
   692  	totalEncodedFields19zgensym_72ba5d454ae3d9dd_20, err = dc.ReadMapHeader()
   693  	if err != nil {
   694  		return
   695  	}
   696  	encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20 := totalEncodedFields19zgensym_72ba5d454ae3d9dd_20
   697  	missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20 := maxFields19zgensym_72ba5d454ae3d9dd_20 - totalEncodedFields19zgensym_72ba5d454ae3d9dd_20
   698  
   699  	var nextMiss19zgensym_72ba5d454ae3d9dd_20 int32 = -1
   700  	var found19zgensym_72ba5d454ae3d9dd_20 [maxFields19zgensym_72ba5d454ae3d9dd_20]bool
   701  	var curField19zgensym_72ba5d454ae3d9dd_20 string
   702  
   703  doneWithStruct19zgensym_72ba5d454ae3d9dd_20:
   704  	// First fill all the encoded fields, then
   705  	// treat the remaining, missing fields, as Nil.
   706  	for encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20 > 0 || missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20 > 0 {
   707  		//fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20, missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20, msgp.ShowFound(found19zgensym_72ba5d454ae3d9dd_20[:]), decodeMsgFieldOrder19zgensym_72ba5d454ae3d9dd_20)
   708  		if encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20 > 0 {
   709  			encodedFieldsLeft19zgensym_72ba5d454ae3d9dd_20--
   710  			field, err = dc.ReadMapKeyPtr()
   711  			if err != nil {
   712  				return
   713  			}
   714  			curField19zgensym_72ba5d454ae3d9dd_20 = msgp.UnsafeString(field)
   715  		} else {
   716  			//missing fields need handling
   717  			if nextMiss19zgensym_72ba5d454ae3d9dd_20 < 0 {
   718  				// tell the reader to only give us Nils
   719  				// until further notice.
   720  				dc.PushAlwaysNil()
   721  				nextMiss19zgensym_72ba5d454ae3d9dd_20 = 0
   722  			}
   723  			for nextMiss19zgensym_72ba5d454ae3d9dd_20 < maxFields19zgensym_72ba5d454ae3d9dd_20 && (found19zgensym_72ba5d454ae3d9dd_20[nextMiss19zgensym_72ba5d454ae3d9dd_20] || decodeMsgFieldSkip19zgensym_72ba5d454ae3d9dd_20[nextMiss19zgensym_72ba5d454ae3d9dd_20]) {
   724  				nextMiss19zgensym_72ba5d454ae3d9dd_20++
   725  			}
   726  			if nextMiss19zgensym_72ba5d454ae3d9dd_20 == maxFields19zgensym_72ba5d454ae3d9dd_20 {
   727  				// filled all the empty fields!
   728  				break doneWithStruct19zgensym_72ba5d454ae3d9dd_20
   729  			}
   730  			missingFieldsLeft19zgensym_72ba5d454ae3d9dd_20--
   731  			curField19zgensym_72ba5d454ae3d9dd_20 = decodeMsgFieldOrder19zgensym_72ba5d454ae3d9dd_20[nextMiss19zgensym_72ba5d454ae3d9dd_20]
   732  		}
   733  		//fmt.Printf("switching on curField: '%v'\n", curField19zgensym_72ba5d454ae3d9dd_20)
   734  		switch curField19zgensym_72ba5d454ae3d9dd_20 {
   735  		// -- templateDecodeMsg ends here --
   736  
   737  		case "j_zid00_map":
   738  			found19zgensym_72ba5d454ae3d9dd_20[0] = true
   739  			var zgensym_72ba5d454ae3d9dd_21 uint32
   740  			zgensym_72ba5d454ae3d9dd_21, err = dc.ReadMapHeader()
   741  			if err != nil {
   742  				return
   743  			}
   744  			if z.j == nil && zgensym_72ba5d454ae3d9dd_21 > 0 {
   745  				z.j = make(map[string]bool, zgensym_72ba5d454ae3d9dd_21)
   746  			} else if len(z.j) > 0 {
   747  				for key, _ := range z.j {
   748  					delete(z.j, key)
   749  				}
   750  			}
   751  			for zgensym_72ba5d454ae3d9dd_21 > 0 {
   752  				zgensym_72ba5d454ae3d9dd_21--
   753  				var zgensym_72ba5d454ae3d9dd_17 string
   754  				var zgensym_72ba5d454ae3d9dd_18 bool
   755  				zgensym_72ba5d454ae3d9dd_17, err = dc.ReadString()
   756  				if err != nil {
   757  					return
   758  				}
   759  				zgensym_72ba5d454ae3d9dd_18, err = dc.ReadBool()
   760  				if err != nil {
   761  					return
   762  				}
   763  				z.j[zgensym_72ba5d454ae3d9dd_17] = zgensym_72ba5d454ae3d9dd_18
   764  			}
   765  		case "e_zid01_i64":
   766  			found19zgensym_72ba5d454ae3d9dd_20[1] = true
   767  			z.e, err = dc.ReadInt64()
   768  			if err != nil {
   769  				return
   770  			}
   771  		default:
   772  			err = dc.Skip()
   773  			if err != nil {
   774  				return
   775  			}
   776  		}
   777  	}
   778  	if nextMiss19zgensym_72ba5d454ae3d9dd_20 != -1 {
   779  		dc.PopAlwaysNil()
   780  	}
   781  
   782  	if sawTopNil {
   783  		dc.PopAlwaysNil()
   784  	}
   785  
   786  	if p, ok := interface{}(z).(msgp.PostLoad); ok {
   787  		p.PostLoadHook()
   788  	}
   789  
   790  	return
   791  }
   792  
   793  // fields of inn
   794  var decodeMsgFieldOrder19zgensym_72ba5d454ae3d9dd_20 = []string{"j_zid00_map", "e_zid01_i64"}
   795  
   796  var decodeMsgFieldSkip19zgensym_72ba5d454ae3d9dd_20 = []bool{false, false}
   797  
   798  // fieldsNotEmpty supports omitempty tags
   799  func (z *inn) fieldsNotEmpty(isempty []bool) uint32 {
   800  	if len(isempty) == 0 {
   801  		return 2
   802  	}
   803  	var fieldsInUse uint32 = 2
   804  	isempty[0] = (len(z.j) == 0) // string, omitempty
   805  	if isempty[0] {
   806  		fieldsInUse--
   807  	}
   808  	isempty[1] = (z.e == 0) // number, omitempty
   809  	if isempty[1] {
   810  		fieldsInUse--
   811  	}
   812  
   813  	return fieldsInUse
   814  }
   815  
   816  // EncodeMsg implements msgp.Encodable
   817  func (z *inn) EncodeMsg(en *msgp.Writer) (err error) {
   818  	if p, ok := interface{}(z).(msgp.PreSave); ok {
   819  		p.PreSaveHook()
   820  	}
   821  
   822  	// honor the omitempty tags
   823  	var empty_zgensym_72ba5d454ae3d9dd_22 [2]bool
   824  	fieldsInUse_zgensym_72ba5d454ae3d9dd_23 := z.fieldsNotEmpty(empty_zgensym_72ba5d454ae3d9dd_22[:])
   825  
   826  	// map header
   827  	err = en.WriteMapHeader(fieldsInUse_zgensym_72ba5d454ae3d9dd_23)
   828  	if err != nil {
   829  		return err
   830  	}
   831  
   832  	if !empty_zgensym_72ba5d454ae3d9dd_22[0] {
   833  		// write "j_zid00_map"
   834  		err = en.Append(0xab, 0x6a, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70)
   835  		if err != nil {
   836  			return err
   837  		}
   838  		err = en.WriteMapHeader(uint32(len(z.j)))
   839  		if err != nil {
   840  			return
   841  		}
   842  		for zgensym_72ba5d454ae3d9dd_17, zgensym_72ba5d454ae3d9dd_18 := range z.j {
   843  			err = en.WriteString(zgensym_72ba5d454ae3d9dd_17)
   844  			if err != nil {
   845  				return
   846  			}
   847  			err = en.WriteBool(zgensym_72ba5d454ae3d9dd_18)
   848  			if err != nil {
   849  				return
   850  			}
   851  		}
   852  	}
   853  
   854  	if !empty_zgensym_72ba5d454ae3d9dd_22[1] {
   855  		// write "e_zid01_i64"
   856  		err = en.Append(0xab, 0x65, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x36, 0x34)
   857  		if err != nil {
   858  			return err
   859  		}
   860  		err = en.WriteInt64(z.e)
   861  		if err != nil {
   862  			return
   863  		}
   864  	}
   865  
   866  	return
   867  }
   868  
   869  // MarshalMsg implements msgp.Marshaler
   870  func (z *inn) MarshalMsg(b []byte) (o []byte, err error) {
   871  	if p, ok := interface{}(z).(msgp.PreSave); ok {
   872  		p.PreSaveHook()
   873  	}
   874  
   875  	o = msgp.Require(b, z.Msgsize())
   876  
   877  	// honor the omitempty tags
   878  	var empty [2]bool
   879  	fieldsInUse := z.fieldsNotEmpty(empty[:])
   880  	o = msgp.AppendMapHeader(o, fieldsInUse)
   881  
   882  	if !empty[0] {
   883  		// string "j_zid00_map"
   884  		o = append(o, 0xab, 0x6a, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70)
   885  		o = msgp.AppendMapHeader(o, uint32(len(z.j)))
   886  		for zgensym_72ba5d454ae3d9dd_17, zgensym_72ba5d454ae3d9dd_18 := range z.j {
   887  			o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_17)
   888  			o = msgp.AppendBool(o, zgensym_72ba5d454ae3d9dd_18)
   889  		}
   890  	}
   891  
   892  	if !empty[1] {
   893  		// string "e_zid01_i64"
   894  		o = append(o, 0xab, 0x65, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x69, 0x36, 0x34)
   895  		o = msgp.AppendInt64(o, z.e)
   896  	}
   897  
   898  	return
   899  }
   900  
   901  // UnmarshalMsg implements msgp.Unmarshaler
   902  func (z *inn) UnmarshalMsg(bts []byte) (o []byte, err error) {
   903  	return z.UnmarshalMsgWithCfg(bts, nil)
   904  }
   905  func (z *inn) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) {
   906  	var nbs msgp.NilBitsStack
   907  	nbs.Init(cfg)
   908  	var sawTopNil bool
   909  	if msgp.IsNil(bts) {
   910  		sawTopNil = true
   911  		bts = nbs.PushAlwaysNil(bts[1:])
   912  	}
   913  
   914  	var field []byte
   915  	_ = field
   916  	const maxFields24zgensym_72ba5d454ae3d9dd_25 = 2
   917  
   918  	// -- templateUnmarshalMsg starts here--
   919  	var totalEncodedFields24zgensym_72ba5d454ae3d9dd_25 uint32
   920  	if !nbs.AlwaysNil {
   921  		totalEncodedFields24zgensym_72ba5d454ae3d9dd_25, bts, err = nbs.ReadMapHeaderBytes(bts)
   922  		if err != nil {
   923  			return
   924  		}
   925  	}
   926  	encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25 := totalEncodedFields24zgensym_72ba5d454ae3d9dd_25
   927  	missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25 := maxFields24zgensym_72ba5d454ae3d9dd_25 - totalEncodedFields24zgensym_72ba5d454ae3d9dd_25
   928  
   929  	var nextMiss24zgensym_72ba5d454ae3d9dd_25 int32 = -1
   930  	var found24zgensym_72ba5d454ae3d9dd_25 [maxFields24zgensym_72ba5d454ae3d9dd_25]bool
   931  	var curField24zgensym_72ba5d454ae3d9dd_25 string
   932  
   933  doneWithStruct24zgensym_72ba5d454ae3d9dd_25:
   934  	// First fill all the encoded fields, then
   935  	// treat the remaining, missing fields, as Nil.
   936  	for encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25 > 0 || missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25 > 0 {
   937  		//fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25, missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25, msgp.ShowFound(found24zgensym_72ba5d454ae3d9dd_25[:]), unmarshalMsgFieldOrder24zgensym_72ba5d454ae3d9dd_25)
   938  		if encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25 > 0 {
   939  			encodedFieldsLeft24zgensym_72ba5d454ae3d9dd_25--
   940  			field, bts, err = nbs.ReadMapKeyZC(bts)
   941  			if err != nil {
   942  				return
   943  			}
   944  			curField24zgensym_72ba5d454ae3d9dd_25 = msgp.UnsafeString(field)
   945  		} else {
   946  			//missing fields need handling
   947  			if nextMiss24zgensym_72ba5d454ae3d9dd_25 < 0 {
   948  				// set bts to contain just mnil (0xc0)
   949  				bts = nbs.PushAlwaysNil(bts)
   950  				nextMiss24zgensym_72ba5d454ae3d9dd_25 = 0
   951  			}
   952  			for nextMiss24zgensym_72ba5d454ae3d9dd_25 < maxFields24zgensym_72ba5d454ae3d9dd_25 && (found24zgensym_72ba5d454ae3d9dd_25[nextMiss24zgensym_72ba5d454ae3d9dd_25] || unmarshalMsgFieldSkip24zgensym_72ba5d454ae3d9dd_25[nextMiss24zgensym_72ba5d454ae3d9dd_25]) {
   953  				nextMiss24zgensym_72ba5d454ae3d9dd_25++
   954  			}
   955  			if nextMiss24zgensym_72ba5d454ae3d9dd_25 == maxFields24zgensym_72ba5d454ae3d9dd_25 {
   956  				// filled all the empty fields!
   957  				break doneWithStruct24zgensym_72ba5d454ae3d9dd_25
   958  			}
   959  			missingFieldsLeft24zgensym_72ba5d454ae3d9dd_25--
   960  			curField24zgensym_72ba5d454ae3d9dd_25 = unmarshalMsgFieldOrder24zgensym_72ba5d454ae3d9dd_25[nextMiss24zgensym_72ba5d454ae3d9dd_25]
   961  		}
   962  		//fmt.Printf("switching on curField: '%v'\n", curField24zgensym_72ba5d454ae3d9dd_25)
   963  		switch curField24zgensym_72ba5d454ae3d9dd_25 {
   964  		// -- templateUnmarshalMsg ends here --
   965  
   966  		case "j_zid00_map":
   967  			found24zgensym_72ba5d454ae3d9dd_25[0] = true
   968  			if nbs.AlwaysNil {
   969  				if len(z.j) > 0 {
   970  					for key, _ := range z.j {
   971  						delete(z.j, key)
   972  					}
   973  				}
   974  
   975  			} else {
   976  
   977  				var zgensym_72ba5d454ae3d9dd_26 uint32
   978  				zgensym_72ba5d454ae3d9dd_26, bts, err = nbs.ReadMapHeaderBytes(bts)
   979  				if err != nil {
   980  					return
   981  				}
   982  				if z.j == nil && zgensym_72ba5d454ae3d9dd_26 > 0 {
   983  					z.j = make(map[string]bool, zgensym_72ba5d454ae3d9dd_26)
   984  				} else if len(z.j) > 0 {
   985  					for key, _ := range z.j {
   986  						delete(z.j, key)
   987  					}
   988  				}
   989  				for zgensym_72ba5d454ae3d9dd_26 > 0 {
   990  					var zgensym_72ba5d454ae3d9dd_17 string
   991  					var zgensym_72ba5d454ae3d9dd_18 bool
   992  					zgensym_72ba5d454ae3d9dd_26--
   993  					zgensym_72ba5d454ae3d9dd_17, bts, err = nbs.ReadStringBytes(bts)
   994  					if err != nil {
   995  						return
   996  					}
   997  					zgensym_72ba5d454ae3d9dd_18, bts, err = nbs.ReadBoolBytes(bts)
   998  
   999  					if err != nil {
  1000  						return
  1001  					}
  1002  					z.j[zgensym_72ba5d454ae3d9dd_17] = zgensym_72ba5d454ae3d9dd_18
  1003  				}
  1004  			}
  1005  		case "e_zid01_i64":
  1006  			found24zgensym_72ba5d454ae3d9dd_25[1] = true
  1007  			z.e, bts, err = nbs.ReadInt64Bytes(bts)
  1008  
  1009  			if err != nil {
  1010  				return
  1011  			}
  1012  		default:
  1013  			bts, err = msgp.Skip(bts)
  1014  			if err != nil {
  1015  				return
  1016  			}
  1017  		}
  1018  	}
  1019  	if nextMiss24zgensym_72ba5d454ae3d9dd_25 != -1 {
  1020  		bts = nbs.PopAlwaysNil()
  1021  	}
  1022  
  1023  	if sawTopNil {
  1024  		bts = nbs.PopAlwaysNil()
  1025  	}
  1026  	o = bts
  1027  	if p, ok := interface{}(z).(msgp.PostLoad); ok {
  1028  		p.PostLoadHook()
  1029  	}
  1030  
  1031  	return
  1032  }
  1033  
  1034  // fields of inn
  1035  var unmarshalMsgFieldOrder24zgensym_72ba5d454ae3d9dd_25 = []string{"j_zid00_map", "e_zid01_i64"}
  1036  
  1037  var unmarshalMsgFieldSkip24zgensym_72ba5d454ae3d9dd_25 = []bool{false, false}
  1038  
  1039  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  1040  func (z *inn) Msgsize() (s int) {
  1041  	s = 1 + 12 + msgp.MapHeaderSize
  1042  	if z.j != nil {
  1043  		for zgensym_72ba5d454ae3d9dd_17, zgensym_72ba5d454ae3d9dd_18 := range z.j {
  1044  			_ = zgensym_72ba5d454ae3d9dd_18
  1045  			_ = zgensym_72ba5d454ae3d9dd_17
  1046  			s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_17) + msgp.BoolSize
  1047  		}
  1048  	}
  1049  	s += 12 + msgp.Int64Size
  1050  	return
  1051  }
  1052  
  1053  // DecodeMsg implements msgp.Decodable
  1054  // We treat empty fields as if we read a Nil from the wire.
  1055  func (z *u) DecodeMsg(dc *msgp.Reader) (err error) {
  1056  	var sawTopNil bool
  1057  	if dc.IsNil() {
  1058  		sawTopNil = true
  1059  		err = dc.ReadNil()
  1060  		if err != nil {
  1061  			return
  1062  		}
  1063  		dc.PushAlwaysNil()
  1064  	}
  1065  
  1066  	var field []byte
  1067  	_ = field
  1068  	const maxFields29zgensym_72ba5d454ae3d9dd_30 = 3
  1069  
  1070  	// -- templateDecodeMsg starts here--
  1071  	var totalEncodedFields29zgensym_72ba5d454ae3d9dd_30 uint32
  1072  	totalEncodedFields29zgensym_72ba5d454ae3d9dd_30, err = dc.ReadMapHeader()
  1073  	if err != nil {
  1074  		return
  1075  	}
  1076  	encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30 := totalEncodedFields29zgensym_72ba5d454ae3d9dd_30
  1077  	missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30 := maxFields29zgensym_72ba5d454ae3d9dd_30 - totalEncodedFields29zgensym_72ba5d454ae3d9dd_30
  1078  
  1079  	var nextMiss29zgensym_72ba5d454ae3d9dd_30 int32 = -1
  1080  	var found29zgensym_72ba5d454ae3d9dd_30 [maxFields29zgensym_72ba5d454ae3d9dd_30]bool
  1081  	var curField29zgensym_72ba5d454ae3d9dd_30 string
  1082  
  1083  doneWithStruct29zgensym_72ba5d454ae3d9dd_30:
  1084  	// First fill all the encoded fields, then
  1085  	// treat the remaining, missing fields, as Nil.
  1086  	for encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30 > 0 || missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30 > 0 {
  1087  		//fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30, missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30, msgp.ShowFound(found29zgensym_72ba5d454ae3d9dd_30[:]), decodeMsgFieldOrder29zgensym_72ba5d454ae3d9dd_30)
  1088  		if encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30 > 0 {
  1089  			encodedFieldsLeft29zgensym_72ba5d454ae3d9dd_30--
  1090  			field, err = dc.ReadMapKeyPtr()
  1091  			if err != nil {
  1092  				return
  1093  			}
  1094  			curField29zgensym_72ba5d454ae3d9dd_30 = msgp.UnsafeString(field)
  1095  		} else {
  1096  			//missing fields need handling
  1097  			if nextMiss29zgensym_72ba5d454ae3d9dd_30 < 0 {
  1098  				// tell the reader to only give us Nils
  1099  				// until further notice.
  1100  				dc.PushAlwaysNil()
  1101  				nextMiss29zgensym_72ba5d454ae3d9dd_30 = 0
  1102  			}
  1103  			for nextMiss29zgensym_72ba5d454ae3d9dd_30 < maxFields29zgensym_72ba5d454ae3d9dd_30 && (found29zgensym_72ba5d454ae3d9dd_30[nextMiss29zgensym_72ba5d454ae3d9dd_30] || decodeMsgFieldSkip29zgensym_72ba5d454ae3d9dd_30[nextMiss29zgensym_72ba5d454ae3d9dd_30]) {
  1104  				nextMiss29zgensym_72ba5d454ae3d9dd_30++
  1105  			}
  1106  			if nextMiss29zgensym_72ba5d454ae3d9dd_30 == maxFields29zgensym_72ba5d454ae3d9dd_30 {
  1107  				// filled all the empty fields!
  1108  				break doneWithStruct29zgensym_72ba5d454ae3d9dd_30
  1109  			}
  1110  			missingFieldsLeft29zgensym_72ba5d454ae3d9dd_30--
  1111  			curField29zgensym_72ba5d454ae3d9dd_30 = decodeMsgFieldOrder29zgensym_72ba5d454ae3d9dd_30[nextMiss29zgensym_72ba5d454ae3d9dd_30]
  1112  		}
  1113  		//fmt.Printf("switching on curField: '%v'\n", curField29zgensym_72ba5d454ae3d9dd_30)
  1114  		switch curField29zgensym_72ba5d454ae3d9dd_30 {
  1115  		// -- templateDecodeMsg ends here --
  1116  
  1117  		case "m_zid00_map":
  1118  			found29zgensym_72ba5d454ae3d9dd_30[0] = true
  1119  			var zgensym_72ba5d454ae3d9dd_31 uint32
  1120  			zgensym_72ba5d454ae3d9dd_31, err = dc.ReadMapHeader()
  1121  			if err != nil {
  1122  				return
  1123  			}
  1124  			if z.m == nil && zgensym_72ba5d454ae3d9dd_31 > 0 {
  1125  				z.m = make(map[string]*Tr, zgensym_72ba5d454ae3d9dd_31)
  1126  			} else if len(z.m) > 0 {
  1127  				for key, _ := range z.m {
  1128  					delete(z.m, key)
  1129  				}
  1130  			}
  1131  			for zgensym_72ba5d454ae3d9dd_31 > 0 {
  1132  				zgensym_72ba5d454ae3d9dd_31--
  1133  				var zgensym_72ba5d454ae3d9dd_27 string
  1134  				var zgensym_72ba5d454ae3d9dd_28 *Tr
  1135  				zgensym_72ba5d454ae3d9dd_27, err = dc.ReadString()
  1136  				if err != nil {
  1137  					return
  1138  				}
  1139  				if dc.IsNil() {
  1140  					err = dc.ReadNil()
  1141  					if err != nil {
  1142  						return
  1143  					}
  1144  
  1145  					if zgensym_72ba5d454ae3d9dd_28 != nil {
  1146  						dc.PushAlwaysNil()
  1147  						err = zgensym_72ba5d454ae3d9dd_28.DecodeMsg(dc)
  1148  						if err != nil {
  1149  							return
  1150  						}
  1151  						dc.PopAlwaysNil()
  1152  					}
  1153  				} else {
  1154  					// not Nil, we have something to read
  1155  
  1156  					if zgensym_72ba5d454ae3d9dd_28 == nil {
  1157  						zgensym_72ba5d454ae3d9dd_28 = new(Tr)
  1158  					}
  1159  					err = zgensym_72ba5d454ae3d9dd_28.DecodeMsg(dc)
  1160  					if err != nil {
  1161  						return
  1162  					}
  1163  				}
  1164  				z.m[zgensym_72ba5d454ae3d9dd_27] = zgensym_72ba5d454ae3d9dd_28
  1165  			}
  1166  		case "s_zid01_str":
  1167  			found29zgensym_72ba5d454ae3d9dd_30[1] = true
  1168  			z.s, err = dc.ReadString()
  1169  			if err != nil {
  1170  				return
  1171  			}
  1172  		case "n_zid02_i64":
  1173  			found29zgensym_72ba5d454ae3d9dd_30[2] = true
  1174  			z.n, err = dc.ReadInt64()
  1175  			if err != nil {
  1176  				return
  1177  			}
  1178  		default:
  1179  			err = dc.Skip()
  1180  			if err != nil {
  1181  				return
  1182  			}
  1183  		}
  1184  	}
  1185  	if nextMiss29zgensym_72ba5d454ae3d9dd_30 != -1 {
  1186  		dc.PopAlwaysNil()
  1187  	}
  1188  
  1189  	if sawTopNil {
  1190  		dc.PopAlwaysNil()
  1191  	}
  1192  
  1193  	if p, ok := interface{}(z).(msgp.PostLoad); ok {
  1194  		p.PostLoadHook()
  1195  	}
  1196  
  1197  	return
  1198  }
  1199  
  1200  // fields of u
  1201  var decodeMsgFieldOrder29zgensym_72ba5d454ae3d9dd_30 = []string{"m_zid00_map", "s_zid01_str", "n_zid02_i64"}
  1202  
  1203  var decodeMsgFieldSkip29zgensym_72ba5d454ae3d9dd_30 = []bool{false, false, false}
  1204  
  1205  // fieldsNotEmpty supports omitempty tags
  1206  func (z *u) fieldsNotEmpty(isempty []bool) uint32 {
  1207  	if len(isempty) == 0 {
  1208  		return 3
  1209  	}
  1210  	var fieldsInUse uint32 = 3
  1211  	isempty[0] = (len(z.m) == 0) // string, omitempty
  1212  	if isempty[0] {
  1213  		fieldsInUse--
  1214  	}
  1215  	isempty[1] = (len(z.s) == 0) // string, omitempty
  1216  	if isempty[1] {
  1217  		fieldsInUse--
  1218  	}
  1219  	isempty[2] = (z.n == 0) // number, omitempty
  1220  	if isempty[2] {
  1221  		fieldsInUse--
  1222  	}
  1223  
  1224  	return fieldsInUse
  1225  }
  1226  
  1227  // EncodeMsg implements msgp.Encodable
  1228  func (z *u) EncodeMsg(en *msgp.Writer) (err error) {
  1229  	if p, ok := interface{}(z).(msgp.PreSave); ok {
  1230  		p.PreSaveHook()
  1231  	}
  1232  
  1233  	// honor the omitempty tags
  1234  	var empty_zgensym_72ba5d454ae3d9dd_32 [3]bool
  1235  	fieldsInUse_zgensym_72ba5d454ae3d9dd_33 := z.fieldsNotEmpty(empty_zgensym_72ba5d454ae3d9dd_32[:])
  1236  
  1237  	// map header
  1238  	err = en.WriteMapHeader(fieldsInUse_zgensym_72ba5d454ae3d9dd_33)
  1239  	if err != nil {
  1240  		return err
  1241  	}
  1242  
  1243  	if !empty_zgensym_72ba5d454ae3d9dd_32[0] {
  1244  		// write "m_zid00_map"
  1245  		err = en.Append(0xab, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70)
  1246  		if err != nil {
  1247  			return err
  1248  		}
  1249  		err = en.WriteMapHeader(uint32(len(z.m)))
  1250  		if err != nil {
  1251  			return
  1252  		}
  1253  		for zgensym_72ba5d454ae3d9dd_27, zgensym_72ba5d454ae3d9dd_28 := range z.m {
  1254  			err = en.WriteString(zgensym_72ba5d454ae3d9dd_27)
  1255  			if err != nil {
  1256  				return
  1257  			}
  1258  			if zgensym_72ba5d454ae3d9dd_28 == nil {
  1259  				err = en.WriteNil()
  1260  				if err != nil {
  1261  					return
  1262  				}
  1263  			} else {
  1264  				err = zgensym_72ba5d454ae3d9dd_28.EncodeMsg(en)
  1265  				if err != nil {
  1266  					return
  1267  				}
  1268  			}
  1269  		}
  1270  	}
  1271  
  1272  	if !empty_zgensym_72ba5d454ae3d9dd_32[1] {
  1273  		// write "s_zid01_str"
  1274  		err = en.Append(0xab, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72)
  1275  		if err != nil {
  1276  			return err
  1277  		}
  1278  		err = en.WriteString(z.s)
  1279  		if err != nil {
  1280  			return
  1281  		}
  1282  	}
  1283  
  1284  	if !empty_zgensym_72ba5d454ae3d9dd_32[2] {
  1285  		// write "n_zid02_i64"
  1286  		err = en.Append(0xab, 0x6e, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x69, 0x36, 0x34)
  1287  		if err != nil {
  1288  			return err
  1289  		}
  1290  		err = en.WriteInt64(z.n)
  1291  		if err != nil {
  1292  			return
  1293  		}
  1294  	}
  1295  
  1296  	return
  1297  }
  1298  
  1299  // MarshalMsg implements msgp.Marshaler
  1300  func (z *u) MarshalMsg(b []byte) (o []byte, err error) {
  1301  	if p, ok := interface{}(z).(msgp.PreSave); ok {
  1302  		p.PreSaveHook()
  1303  	}
  1304  
  1305  	o = msgp.Require(b, z.Msgsize())
  1306  
  1307  	// honor the omitempty tags
  1308  	var empty [3]bool
  1309  	fieldsInUse := z.fieldsNotEmpty(empty[:])
  1310  	o = msgp.AppendMapHeader(o, fieldsInUse)
  1311  
  1312  	if !empty[0] {
  1313  		// string "m_zid00_map"
  1314  		o = append(o, 0xab, 0x6d, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x30, 0x5f, 0x6d, 0x61, 0x70)
  1315  		o = msgp.AppendMapHeader(o, uint32(len(z.m)))
  1316  		for zgensym_72ba5d454ae3d9dd_27, zgensym_72ba5d454ae3d9dd_28 := range z.m {
  1317  			o = msgp.AppendString(o, zgensym_72ba5d454ae3d9dd_27)
  1318  			if zgensym_72ba5d454ae3d9dd_28 == nil {
  1319  				o = msgp.AppendNil(o)
  1320  			} else {
  1321  				o, err = zgensym_72ba5d454ae3d9dd_28.MarshalMsg(o)
  1322  				if err != nil {
  1323  					return
  1324  				}
  1325  			}
  1326  		}
  1327  	}
  1328  
  1329  	if !empty[1] {
  1330  		// string "s_zid01_str"
  1331  		o = append(o, 0xab, 0x73, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x31, 0x5f, 0x73, 0x74, 0x72)
  1332  		o = msgp.AppendString(o, z.s)
  1333  	}
  1334  
  1335  	if !empty[2] {
  1336  		// string "n_zid02_i64"
  1337  		o = append(o, 0xab, 0x6e, 0x5f, 0x7a, 0x69, 0x64, 0x30, 0x32, 0x5f, 0x69, 0x36, 0x34)
  1338  		o = msgp.AppendInt64(o, z.n)
  1339  	}
  1340  
  1341  	return
  1342  }
  1343  
  1344  // UnmarshalMsg implements msgp.Unmarshaler
  1345  func (z *u) UnmarshalMsg(bts []byte) (o []byte, err error) {
  1346  	return z.UnmarshalMsgWithCfg(bts, nil)
  1347  }
  1348  func (z *u) UnmarshalMsgWithCfg(bts []byte, cfg *msgp.RuntimeConfig) (o []byte, err error) {
  1349  	var nbs msgp.NilBitsStack
  1350  	nbs.Init(cfg)
  1351  	var sawTopNil bool
  1352  	if msgp.IsNil(bts) {
  1353  		sawTopNil = true
  1354  		bts = nbs.PushAlwaysNil(bts[1:])
  1355  	}
  1356  
  1357  	var field []byte
  1358  	_ = field
  1359  	const maxFields34zgensym_72ba5d454ae3d9dd_35 = 3
  1360  
  1361  	// -- templateUnmarshalMsg starts here--
  1362  	var totalEncodedFields34zgensym_72ba5d454ae3d9dd_35 uint32
  1363  	if !nbs.AlwaysNil {
  1364  		totalEncodedFields34zgensym_72ba5d454ae3d9dd_35, bts, err = nbs.ReadMapHeaderBytes(bts)
  1365  		if err != nil {
  1366  			return
  1367  		}
  1368  	}
  1369  	encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35 := totalEncodedFields34zgensym_72ba5d454ae3d9dd_35
  1370  	missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35 := maxFields34zgensym_72ba5d454ae3d9dd_35 - totalEncodedFields34zgensym_72ba5d454ae3d9dd_35
  1371  
  1372  	var nextMiss34zgensym_72ba5d454ae3d9dd_35 int32 = -1
  1373  	var found34zgensym_72ba5d454ae3d9dd_35 [maxFields34zgensym_72ba5d454ae3d9dd_35]bool
  1374  	var curField34zgensym_72ba5d454ae3d9dd_35 string
  1375  
  1376  doneWithStruct34zgensym_72ba5d454ae3d9dd_35:
  1377  	// First fill all the encoded fields, then
  1378  	// treat the remaining, missing fields, as Nil.
  1379  	for encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35 > 0 || missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35 > 0 {
  1380  		//fmt.Printf("encodedFieldsLeft: %v, missingFieldsLeft: %v, found: '%v', fields: '%#v'\n", encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35, missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35, msgp.ShowFound(found34zgensym_72ba5d454ae3d9dd_35[:]), unmarshalMsgFieldOrder34zgensym_72ba5d454ae3d9dd_35)
  1381  		if encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35 > 0 {
  1382  			encodedFieldsLeft34zgensym_72ba5d454ae3d9dd_35--
  1383  			field, bts, err = nbs.ReadMapKeyZC(bts)
  1384  			if err != nil {
  1385  				return
  1386  			}
  1387  			curField34zgensym_72ba5d454ae3d9dd_35 = msgp.UnsafeString(field)
  1388  		} else {
  1389  			//missing fields need handling
  1390  			if nextMiss34zgensym_72ba5d454ae3d9dd_35 < 0 {
  1391  				// set bts to contain just mnil (0xc0)
  1392  				bts = nbs.PushAlwaysNil(bts)
  1393  				nextMiss34zgensym_72ba5d454ae3d9dd_35 = 0
  1394  			}
  1395  			for nextMiss34zgensym_72ba5d454ae3d9dd_35 < maxFields34zgensym_72ba5d454ae3d9dd_35 && (found34zgensym_72ba5d454ae3d9dd_35[nextMiss34zgensym_72ba5d454ae3d9dd_35] || unmarshalMsgFieldSkip34zgensym_72ba5d454ae3d9dd_35[nextMiss34zgensym_72ba5d454ae3d9dd_35]) {
  1396  				nextMiss34zgensym_72ba5d454ae3d9dd_35++
  1397  			}
  1398  			if nextMiss34zgensym_72ba5d454ae3d9dd_35 == maxFields34zgensym_72ba5d454ae3d9dd_35 {
  1399  				// filled all the empty fields!
  1400  				break doneWithStruct34zgensym_72ba5d454ae3d9dd_35
  1401  			}
  1402  			missingFieldsLeft34zgensym_72ba5d454ae3d9dd_35--
  1403  			curField34zgensym_72ba5d454ae3d9dd_35 = unmarshalMsgFieldOrder34zgensym_72ba5d454ae3d9dd_35[nextMiss34zgensym_72ba5d454ae3d9dd_35]
  1404  		}
  1405  		//fmt.Printf("switching on curField: '%v'\n", curField34zgensym_72ba5d454ae3d9dd_35)
  1406  		switch curField34zgensym_72ba5d454ae3d9dd_35 {
  1407  		// -- templateUnmarshalMsg ends here --
  1408  
  1409  		case "m_zid00_map":
  1410  			found34zgensym_72ba5d454ae3d9dd_35[0] = true
  1411  			if nbs.AlwaysNil {
  1412  				if len(z.m) > 0 {
  1413  					for key, _ := range z.m {
  1414  						delete(z.m, key)
  1415  					}
  1416  				}
  1417  
  1418  			} else {
  1419  
  1420  				var zgensym_72ba5d454ae3d9dd_36 uint32
  1421  				zgensym_72ba5d454ae3d9dd_36, bts, err = nbs.ReadMapHeaderBytes(bts)
  1422  				if err != nil {
  1423  					return
  1424  				}
  1425  				if z.m == nil && zgensym_72ba5d454ae3d9dd_36 > 0 {
  1426  					z.m = make(map[string]*Tr, zgensym_72ba5d454ae3d9dd_36)
  1427  				} else if len(z.m) > 0 {
  1428  					for key, _ := range z.m {
  1429  						delete(z.m, key)
  1430  					}
  1431  				}
  1432  				for zgensym_72ba5d454ae3d9dd_36 > 0 {
  1433  					var zgensym_72ba5d454ae3d9dd_27 string
  1434  					var zgensym_72ba5d454ae3d9dd_28 *Tr
  1435  					zgensym_72ba5d454ae3d9dd_36--
  1436  					zgensym_72ba5d454ae3d9dd_27, bts, err = nbs.ReadStringBytes(bts)
  1437  					if err != nil {
  1438  						return
  1439  					}
  1440  					if nbs.AlwaysNil {
  1441  						if zgensym_72ba5d454ae3d9dd_28 != nil {
  1442  							zgensym_72ba5d454ae3d9dd_28.UnmarshalMsg(msgp.OnlyNilSlice)
  1443  						}
  1444  					} else {
  1445  						// not nbs.AlwaysNil
  1446  						if msgp.IsNil(bts) {
  1447  							bts = bts[1:]
  1448  							if nil != zgensym_72ba5d454ae3d9dd_28 {
  1449  								zgensym_72ba5d454ae3d9dd_28.UnmarshalMsg(msgp.OnlyNilSlice)
  1450  							}
  1451  						} else {
  1452  							// not nbs.AlwaysNil and not IsNil(bts): have something to read
  1453  
  1454  							if zgensym_72ba5d454ae3d9dd_28 == nil {
  1455  								zgensym_72ba5d454ae3d9dd_28 = new(Tr)
  1456  							}
  1457  							bts, err = zgensym_72ba5d454ae3d9dd_28.UnmarshalMsg(bts)
  1458  							if err != nil {
  1459  								return
  1460  							}
  1461  							if err != nil {
  1462  								return
  1463  							}
  1464  						}
  1465  					}
  1466  					z.m[zgensym_72ba5d454ae3d9dd_27] = zgensym_72ba5d454ae3d9dd_28
  1467  				}
  1468  			}
  1469  		case "s_zid01_str":
  1470  			found34zgensym_72ba5d454ae3d9dd_35[1] = true
  1471  			z.s, bts, err = nbs.ReadStringBytes(bts)
  1472  
  1473  			if err != nil {
  1474  				return
  1475  			}
  1476  		case "n_zid02_i64":
  1477  			found34zgensym_72ba5d454ae3d9dd_35[2] = true
  1478  			z.n, bts, err = nbs.ReadInt64Bytes(bts)
  1479  
  1480  			if err != nil {
  1481  				return
  1482  			}
  1483  		default:
  1484  			bts, err = msgp.Skip(bts)
  1485  			if err != nil {
  1486  				return
  1487  			}
  1488  		}
  1489  	}
  1490  	if nextMiss34zgensym_72ba5d454ae3d9dd_35 != -1 {
  1491  		bts = nbs.PopAlwaysNil()
  1492  	}
  1493  
  1494  	if sawTopNil {
  1495  		bts = nbs.PopAlwaysNil()
  1496  	}
  1497  	o = bts
  1498  	if p, ok := interface{}(z).(msgp.PostLoad); ok {
  1499  		p.PostLoadHook()
  1500  	}
  1501  
  1502  	return
  1503  }
  1504  
  1505  // fields of u
  1506  var unmarshalMsgFieldOrder34zgensym_72ba5d454ae3d9dd_35 = []string{"m_zid00_map", "s_zid01_str", "n_zid02_i64"}
  1507  
  1508  var unmarshalMsgFieldSkip34zgensym_72ba5d454ae3d9dd_35 = []bool{false, false, false}
  1509  
  1510  // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
  1511  func (z *u) Msgsize() (s int) {
  1512  	s = 1 + 12 + msgp.MapHeaderSize
  1513  	if z.m != nil {
  1514  		for zgensym_72ba5d454ae3d9dd_27, zgensym_72ba5d454ae3d9dd_28 := range z.m {
  1515  			_ = zgensym_72ba5d454ae3d9dd_28
  1516  			_ = zgensym_72ba5d454ae3d9dd_27
  1517  			s += msgp.StringPrefixSize + len(zgensym_72ba5d454ae3d9dd_27)
  1518  			if zgensym_72ba5d454ae3d9dd_28 == nil {
  1519  				s += msgp.NilSize
  1520  			} else {
  1521  				s += zgensym_72ba5d454ae3d9dd_28.Msgsize()
  1522  			}
  1523  		}
  1524  	}
  1525  	s += 12 + msgp.StringPrefixSize + len(z.s) + 12 + msgp.Int64Size
  1526  	return
  1527  }