http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/msgpack.go
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/msgpack.go 
b/newtmgr/vendor/github.com/ugorji/go/codec/msgpack.go
deleted file mode 100644
index e09d5a0..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/msgpack.go
+++ /dev/null
@@ -1,852 +0,0 @@
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE 
file.
-
-/*
-MSGPACK
-
-Msgpack-c implementation powers the c, c++, python, ruby, etc libraries.
-We need to maintain compatibility with it and how it encodes integer values
-without caring about the type.
-
-For compatibility with behaviour of msgpack-c reference implementation:
-  - Go intX (>0) and uintX
-       IS ENCODED AS
-    msgpack +ve fixnum, unsigned
-  - Go intX (<0)
-       IS ENCODED AS
-    msgpack -ve fixnum, signed
-
-*/
-package codec
-
-import (
-       "fmt"
-       "io"
-       "math"
-       "net/rpc"
-       "reflect"
-)
-
-const (
-       mpPosFixNumMin byte = 0x00
-       mpPosFixNumMax      = 0x7f
-       mpFixMapMin         = 0x80
-       mpFixMapMax         = 0x8f
-       mpFixArrayMin       = 0x90
-       mpFixArrayMax       = 0x9f
-       mpFixStrMin         = 0xa0
-       mpFixStrMax         = 0xbf
-       mpNil               = 0xc0
-       _                   = 0xc1
-       mpFalse             = 0xc2
-       mpTrue              = 0xc3
-       mpFloat             = 0xca
-       mpDouble            = 0xcb
-       mpUint8             = 0xcc
-       mpUint16            = 0xcd
-       mpUint32            = 0xce
-       mpUint64            = 0xcf
-       mpInt8              = 0xd0
-       mpInt16             = 0xd1
-       mpInt32             = 0xd2
-       mpInt64             = 0xd3
-
-       // extensions below
-       mpBin8     = 0xc4
-       mpBin16    = 0xc5
-       mpBin32    = 0xc6
-       mpExt8     = 0xc7
-       mpExt16    = 0xc8
-       mpExt32    = 0xc9
-       mpFixExt1  = 0xd4
-       mpFixExt2  = 0xd5
-       mpFixExt4  = 0xd6
-       mpFixExt8  = 0xd7
-       mpFixExt16 = 0xd8
-
-       mpStr8  = 0xd9 // new
-       mpStr16 = 0xda
-       mpStr32 = 0xdb
-
-       mpArray16 = 0xdc
-       mpArray32 = 0xdd
-
-       mpMap16 = 0xde
-       mpMap32 = 0xdf
-
-       mpNegFixNumMin = 0xe0
-       mpNegFixNumMax = 0xff
-)
-
-// MsgpackSpecRpcMultiArgs is a special type which signifies to the 
MsgpackSpecRpcCodec
-// that the backend RPC service takes multiple arguments, which have been 
arranged
-// in sequence in the slice.
-//
-// The Codec then passes it AS-IS to the rpc service (without wrapping it in an
-// array of 1 element).
-type MsgpackSpecRpcMultiArgs []interface{}
-
-// A MsgpackContainer type specifies the different types of msgpackContainers.
-type msgpackContainerType struct {
-       fixCutoff                   int
-       bFixMin, b8, b16, b32       byte
-       hasFixMin, has8, has8Always bool
-}
-
-var (
-       msgpackContainerStr  = msgpackContainerType{32, mpFixStrMin, mpStr8, 
mpStr16, mpStr32, true, true, false}
-       msgpackContainerBin  = msgpackContainerType{0, 0, mpBin8, mpBin16, 
mpBin32, false, true, true}
-       msgpackContainerList = msgpackContainerType{16, mpFixArrayMin, 0, 
mpArray16, mpArray32, true, false, false}
-       msgpackContainerMap  = msgpackContainerType{16, mpFixMapMin, 0, 
mpMap16, mpMap32, true, false, false}
-)
-
-//---------------------------------------------
-
-type msgpackEncDriver struct {
-       noBuiltInTypes
-       encNoSeparator
-       e *Encoder
-       w encWriter
-       h *MsgpackHandle
-       x [8]byte
-}
-
-func (e *msgpackEncDriver) EncodeNil() {
-       e.w.writen1(mpNil)
-}
-
-func (e *msgpackEncDriver) EncodeInt(i int64) {
-       if i >= 0 {
-               e.EncodeUint(uint64(i))
-       } else if i >= -32 {
-               e.w.writen1(byte(i))
-       } else if i >= math.MinInt8 {
-               e.w.writen2(mpInt8, byte(i))
-       } else if i >= math.MinInt16 {
-               e.w.writen1(mpInt16)
-               bigenHelper{e.x[:2], e.w}.writeUint16(uint16(i))
-       } else if i >= math.MinInt32 {
-               e.w.writen1(mpInt32)
-               bigenHelper{e.x[:4], e.w}.writeUint32(uint32(i))
-       } else {
-               e.w.writen1(mpInt64)
-               bigenHelper{e.x[:8], e.w}.writeUint64(uint64(i))
-       }
-}
-
-func (e *msgpackEncDriver) EncodeUint(i uint64) {
-       if i <= math.MaxInt8 {
-               e.w.writen1(byte(i))
-       } else if i <= math.MaxUint8 {
-               e.w.writen2(mpUint8, byte(i))
-       } else if i <= math.MaxUint16 {
-               e.w.writen1(mpUint16)
-               bigenHelper{e.x[:2], e.w}.writeUint16(uint16(i))
-       } else if i <= math.MaxUint32 {
-               e.w.writen1(mpUint32)
-               bigenHelper{e.x[:4], e.w}.writeUint32(uint32(i))
-       } else {
-               e.w.writen1(mpUint64)
-               bigenHelper{e.x[:8], e.w}.writeUint64(uint64(i))
-       }
-}
-
-func (e *msgpackEncDriver) EncodeBool(b bool) {
-       if b {
-               e.w.writen1(mpTrue)
-       } else {
-               e.w.writen1(mpFalse)
-       }
-}
-
-func (e *msgpackEncDriver) EncodeFloat32(f float32) {
-       e.w.writen1(mpFloat)
-       bigenHelper{e.x[:4], e.w}.writeUint32(math.Float32bits(f))
-}
-
-func (e *msgpackEncDriver) EncodeFloat64(f float64) {
-       e.w.writen1(mpDouble)
-       bigenHelper{e.x[:8], e.w}.writeUint64(math.Float64bits(f))
-}
-
-func (e *msgpackEncDriver) EncodeExt(v interface{}, xtag uint64, ext Ext, _ 
*Encoder) {
-       bs := ext.WriteExt(v)
-       if bs == nil {
-               e.EncodeNil()
-               return
-       }
-       if e.h.WriteExt {
-               e.encodeExtPreamble(uint8(xtag), len(bs))
-               e.w.writeb(bs)
-       } else {
-               e.EncodeStringBytes(c_RAW, bs)
-       }
-}
-
-func (e *msgpackEncDriver) EncodeRawExt(re *RawExt, _ *Encoder) {
-       e.encodeExtPreamble(uint8(re.Tag), len(re.Data))
-       e.w.writeb(re.Data)
-}
-
-func (e *msgpackEncDriver) encodeExtPreamble(xtag byte, l int) {
-       if l == 1 {
-               e.w.writen2(mpFixExt1, xtag)
-       } else if l == 2 {
-               e.w.writen2(mpFixExt2, xtag)
-       } else if l == 4 {
-               e.w.writen2(mpFixExt4, xtag)
-       } else if l == 8 {
-               e.w.writen2(mpFixExt8, xtag)
-       } else if l == 16 {
-               e.w.writen2(mpFixExt16, xtag)
-       } else if l < 256 {
-               e.w.writen2(mpExt8, byte(l))
-               e.w.writen1(xtag)
-       } else if l < 65536 {
-               e.w.writen1(mpExt16)
-               bigenHelper{e.x[:2], e.w}.writeUint16(uint16(l))
-               e.w.writen1(xtag)
-       } else {
-               e.w.writen1(mpExt32)
-               bigenHelper{e.x[:4], e.w}.writeUint32(uint32(l))
-               e.w.writen1(xtag)
-       }
-}
-
-func (e *msgpackEncDriver) EncodeArrayStart(length int) {
-       e.writeContainerLen(msgpackContainerList, length)
-}
-
-func (e *msgpackEncDriver) EncodeMapStart(length int) {
-       e.writeContainerLen(msgpackContainerMap, length)
-}
-
-func (e *msgpackEncDriver) EncodeString(c charEncoding, s string) {
-       if c == c_RAW && e.h.WriteExt {
-               e.writeContainerLen(msgpackContainerBin, len(s))
-       } else {
-               e.writeContainerLen(msgpackContainerStr, len(s))
-       }
-       if len(s) > 0 {
-               e.w.writestr(s)
-       }
-}
-
-func (e *msgpackEncDriver) EncodeSymbol(v string) {
-       e.EncodeString(c_UTF8, v)
-}
-
-func (e *msgpackEncDriver) EncodeStringBytes(c charEncoding, bs []byte) {
-       if c == c_RAW && e.h.WriteExt {
-               e.writeContainerLen(msgpackContainerBin, len(bs))
-       } else {
-               e.writeContainerLen(msgpackContainerStr, len(bs))
-       }
-       if len(bs) > 0 {
-               e.w.writeb(bs)
-       }
-}
-
-func (e *msgpackEncDriver) writeContainerLen(ct msgpackContainerType, l int) {
-       if ct.hasFixMin && l < ct.fixCutoff {
-               e.w.writen1(ct.bFixMin | byte(l))
-       } else if ct.has8 && l < 256 && (ct.has8Always || e.h.WriteExt) {
-               e.w.writen2(ct.b8, uint8(l))
-       } else if l < 65536 {
-               e.w.writen1(ct.b16)
-               bigenHelper{e.x[:2], e.w}.writeUint16(uint16(l))
-       } else {
-               e.w.writen1(ct.b32)
-               bigenHelper{e.x[:4], e.w}.writeUint32(uint32(l))
-       }
-}
-
-//---------------------------------------------
-
-type msgpackDecDriver struct {
-       d      *Decoder
-       r      decReader // *Decoder decReader decReaderT
-       h      *MsgpackHandle
-       b      [scratchByteArrayLen]byte
-       bd     byte
-       bdRead bool
-       br     bool // bytes reader
-       noBuiltInTypes
-       noStreamingCodec
-       decNoSeparator
-}
-
-// Note: This returns either a primitive (int, bool, etc) for non-containers,
-// or a containerType, or a specific type denoting nil or extension.
-// It is called when a nil interface{} is passed, leaving it up to the 
DecDriver
-// to introspect the stream and decide how best to decode.
-// It deciphers the value by looking at the stream first.
-func (d *msgpackDecDriver) DecodeNaked() {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       bd := d.bd
-       n := &d.d.n
-       var decodeFurther bool
-
-       switch bd {
-       case mpNil:
-               n.v = valueTypeNil
-               d.bdRead = false
-       case mpFalse:
-               n.v = valueTypeBool
-               n.b = false
-       case mpTrue:
-               n.v = valueTypeBool
-               n.b = true
-
-       case mpFloat:
-               n.v = valueTypeFloat
-               n.f = float64(math.Float32frombits(bigen.Uint32(d.r.readx(4))))
-       case mpDouble:
-               n.v = valueTypeFloat
-               n.f = math.Float64frombits(bigen.Uint64(d.r.readx(8)))
-
-       case mpUint8:
-               n.v = valueTypeUint
-               n.u = uint64(d.r.readn1())
-       case mpUint16:
-               n.v = valueTypeUint
-               n.u = uint64(bigen.Uint16(d.r.readx(2)))
-       case mpUint32:
-               n.v = valueTypeUint
-               n.u = uint64(bigen.Uint32(d.r.readx(4)))
-       case mpUint64:
-               n.v = valueTypeUint
-               n.u = uint64(bigen.Uint64(d.r.readx(8)))
-
-       case mpInt8:
-               n.v = valueTypeInt
-               n.i = int64(int8(d.r.readn1()))
-       case mpInt16:
-               n.v = valueTypeInt
-               n.i = int64(int16(bigen.Uint16(d.r.readx(2))))
-       case mpInt32:
-               n.v = valueTypeInt
-               n.i = int64(int32(bigen.Uint32(d.r.readx(4))))
-       case mpInt64:
-               n.v = valueTypeInt
-               n.i = int64(int64(bigen.Uint64(d.r.readx(8))))
-
-       default:
-               switch {
-               case bd >= mpPosFixNumMin && bd <= mpPosFixNumMax:
-                       // positive fixnum (always signed)
-                       n.v = valueTypeInt
-                       n.i = int64(int8(bd))
-               case bd >= mpNegFixNumMin && bd <= mpNegFixNumMax:
-                       // negative fixnum
-                       n.v = valueTypeInt
-                       n.i = int64(int8(bd))
-               case bd == mpStr8, bd == mpStr16, bd == mpStr32, bd >= 
mpFixStrMin && bd <= mpFixStrMax:
-                       if d.h.RawToString {
-                               n.v = valueTypeString
-                               n.s = d.DecodeString()
-                       } else {
-                               n.v = valueTypeBytes
-                               n.l = d.DecodeBytes(nil, false, false)
-                       }
-               case bd == mpBin8, bd == mpBin16, bd == mpBin32:
-                       n.v = valueTypeBytes
-                       n.l = d.DecodeBytes(nil, false, false)
-               case bd == mpArray16, bd == mpArray32, bd >= mpFixArrayMin && 
bd <= mpFixArrayMax:
-                       n.v = valueTypeArray
-                       decodeFurther = true
-               case bd == mpMap16, bd == mpMap32, bd >= mpFixMapMin && bd <= 
mpFixMapMax:
-                       n.v = valueTypeMap
-                       decodeFurther = true
-               case bd >= mpFixExt1 && bd <= mpFixExt16, bd >= mpExt8 && bd <= 
mpExt32:
-                       n.v = valueTypeExt
-                       clen := d.readExtLen()
-                       n.u = uint64(d.r.readn1())
-                       n.l = d.r.readx(clen)
-               default:
-                       d.d.errorf("Nil-Deciphered DecodeValue: %s: hex: %x, 
dec: %d", msgBadDesc, bd, bd)
-               }
-       }
-       if !decodeFurther {
-               d.bdRead = false
-       }
-       if n.v == valueTypeUint && d.h.SignedInteger {
-               n.v = valueTypeInt
-               n.i = int64(n.u)
-       }
-       return
-}
-
-// int can be decoded from msgpack type: intXXX or uintXXX
-func (d *msgpackDecDriver) DecodeInt(bitsize uint8) (i int64) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       switch d.bd {
-       case mpUint8:
-               i = int64(uint64(d.r.readn1()))
-       case mpUint16:
-               i = int64(uint64(bigen.Uint16(d.r.readx(2))))
-       case mpUint32:
-               i = int64(uint64(bigen.Uint32(d.r.readx(4))))
-       case mpUint64:
-               i = int64(bigen.Uint64(d.r.readx(8)))
-       case mpInt8:
-               i = int64(int8(d.r.readn1()))
-       case mpInt16:
-               i = int64(int16(bigen.Uint16(d.r.readx(2))))
-       case mpInt32:
-               i = int64(int32(bigen.Uint32(d.r.readx(4))))
-       case mpInt64:
-               i = int64(bigen.Uint64(d.r.readx(8)))
-       default:
-               switch {
-               case d.bd >= mpPosFixNumMin && d.bd <= mpPosFixNumMax:
-                       i = int64(int8(d.bd))
-               case d.bd >= mpNegFixNumMin && d.bd <= mpNegFixNumMax:
-                       i = int64(int8(d.bd))
-               default:
-                       d.d.errorf("Unhandled single-byte unsigned integer 
value: %s: %x", msgBadDesc, d.bd)
-                       return
-               }
-       }
-       // check overflow (logic adapted from std pkg reflect/value.go 
OverflowUint()
-       if bitsize > 0 {
-               if trunc := (i << (64 - bitsize)) >> (64 - bitsize); i != trunc 
{
-                       d.d.errorf("Overflow int value: %v", i)
-                       return
-               }
-       }
-       d.bdRead = false
-       return
-}
-
-// uint can be decoded from msgpack type: intXXX or uintXXX
-func (d *msgpackDecDriver) DecodeUint(bitsize uint8) (ui uint64) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       switch d.bd {
-       case mpUint8:
-               ui = uint64(d.r.readn1())
-       case mpUint16:
-               ui = uint64(bigen.Uint16(d.r.readx(2)))
-       case mpUint32:
-               ui = uint64(bigen.Uint32(d.r.readx(4)))
-       case mpUint64:
-               ui = bigen.Uint64(d.r.readx(8))
-       case mpInt8:
-               if i := int64(int8(d.r.readn1())); i >= 0 {
-                       ui = uint64(i)
-               } else {
-                       d.d.errorf("Assigning negative signed value: %v, to 
unsigned type", i)
-                       return
-               }
-       case mpInt16:
-               if i := int64(int16(bigen.Uint16(d.r.readx(2)))); i >= 0 {
-                       ui = uint64(i)
-               } else {
-                       d.d.errorf("Assigning negative signed value: %v, to 
unsigned type", i)
-                       return
-               }
-       case mpInt32:
-               if i := int64(int32(bigen.Uint32(d.r.readx(4)))); i >= 0 {
-                       ui = uint64(i)
-               } else {
-                       d.d.errorf("Assigning negative signed value: %v, to 
unsigned type", i)
-                       return
-               }
-       case mpInt64:
-               if i := int64(bigen.Uint64(d.r.readx(8))); i >= 0 {
-                       ui = uint64(i)
-               } else {
-                       d.d.errorf("Assigning negative signed value: %v, to 
unsigned type", i)
-                       return
-               }
-       default:
-               switch {
-               case d.bd >= mpPosFixNumMin && d.bd <= mpPosFixNumMax:
-                       ui = uint64(d.bd)
-               case d.bd >= mpNegFixNumMin && d.bd <= mpNegFixNumMax:
-                       d.d.errorf("Assigning negative signed value: %v, to 
unsigned type", int(d.bd))
-                       return
-               default:
-                       d.d.errorf("Unhandled single-byte unsigned integer 
value: %s: %x", msgBadDesc, d.bd)
-                       return
-               }
-       }
-       // check overflow (logic adapted from std pkg reflect/value.go 
OverflowUint()
-       if bitsize > 0 {
-               if trunc := (ui << (64 - bitsize)) >> (64 - bitsize); ui != 
trunc {
-                       d.d.errorf("Overflow uint value: %v", ui)
-                       return
-               }
-       }
-       d.bdRead = false
-       return
-}
-
-// float can either be decoded from msgpack type: float, double or intX
-func (d *msgpackDecDriver) DecodeFloat(chkOverflow32 bool) (f float64) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == mpFloat {
-               f = float64(math.Float32frombits(bigen.Uint32(d.r.readx(4))))
-       } else if d.bd == mpDouble {
-               f = math.Float64frombits(bigen.Uint64(d.r.readx(8)))
-       } else {
-               f = float64(d.DecodeInt(0))
-       }
-       if chkOverflow32 && chkOvf.Float32(f) {
-               d.d.errorf("msgpack: float32 overflow: %v", f)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-// bool can be decoded from bool, fixnum 0 or 1.
-func (d *msgpackDecDriver) DecodeBool() (b bool) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == mpFalse || d.bd == 0 {
-               // b = false
-       } else if d.bd == mpTrue || d.bd == 1 {
-               b = true
-       } else {
-               d.d.errorf("Invalid single-byte value for bool: %s: %x", 
msgBadDesc, d.bd)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-func (d *msgpackDecDriver) DecodeBytes(bs []byte, isstring, zerocopy bool) 
(bsOut []byte) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       var clen int
-       // ignore isstring. Expect that the bytes may be found from 
msgpackContainerStr or msgpackContainerBin
-       if bd := d.bd; bd == mpBin8 || bd == mpBin16 || bd == mpBin32 {
-               clen = d.readContainerLen(msgpackContainerBin)
-       } else {
-               clen = d.readContainerLen(msgpackContainerStr)
-       }
-       // println("DecodeBytes: clen: ", clen)
-       d.bdRead = false
-       // bytes may be nil, so handle it. if nil, clen=-1.
-       if clen < 0 {
-               return nil
-       }
-       if zerocopy {
-               if d.br {
-                       return d.r.readx(clen)
-               } else if len(bs) == 0 {
-                       bs = d.b[:]
-               }
-       }
-       return decByteSlice(d.r, clen, d.d.h.MaxInitLen, bs)
-}
-
-func (d *msgpackDecDriver) DecodeString() (s string) {
-       return string(d.DecodeBytes(d.b[:], true, true))
-}
-
-func (d *msgpackDecDriver) readNextBd() {
-       d.bd = d.r.readn1()
-       d.bdRead = true
-}
-
-func (d *msgpackDecDriver) uncacheRead() {
-       if d.bdRead {
-               d.r.unreadn1()
-               d.bdRead = false
-       }
-}
-
-func (d *msgpackDecDriver) ContainerType() (vt valueType) {
-       bd := d.bd
-       if bd == mpNil {
-               return valueTypeNil
-       } else if bd == mpBin8 || bd == mpBin16 || bd == mpBin32 ||
-               (!d.h.RawToString &&
-                       (bd == mpStr8 || bd == mpStr16 || bd == mpStr32 || (bd 
>= mpFixStrMin && bd <= mpFixStrMax))) {
-               return valueTypeBytes
-       } else if d.h.RawToString &&
-               (bd == mpStr8 || bd == mpStr16 || bd == mpStr32 || (bd >= 
mpFixStrMin && bd <= mpFixStrMax)) {
-               return valueTypeString
-       } else if bd == mpArray16 || bd == mpArray32 || (bd >= mpFixArrayMin && 
bd <= mpFixArrayMax) {
-               return valueTypeArray
-       } else if bd == mpMap16 || bd == mpMap32 || (bd >= mpFixMapMin && bd <= 
mpFixMapMax) {
-               return valueTypeMap
-       } else {
-               // d.d.errorf("isContainerType: unsupported parameter: %v", vt)
-       }
-       return valueTypeUnset
-}
-
-func (d *msgpackDecDriver) TryDecodeAsNil() (v bool) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == mpNil {
-               d.bdRead = false
-               v = true
-       }
-       return
-}
-
-func (d *msgpackDecDriver) readContainerLen(ct msgpackContainerType) (clen 
int) {
-       bd := d.bd
-       if bd == mpNil {
-               clen = -1 // to represent nil
-       } else if bd == ct.b8 {
-               clen = int(d.r.readn1())
-       } else if bd == ct.b16 {
-               clen = int(bigen.Uint16(d.r.readx(2)))
-       } else if bd == ct.b32 {
-               clen = int(bigen.Uint32(d.r.readx(4)))
-       } else if (ct.bFixMin & bd) == ct.bFixMin {
-               clen = int(ct.bFixMin ^ bd)
-       } else {
-               d.d.errorf("readContainerLen: %s: hex: %x, decimal: %d", 
msgBadDesc, bd, bd)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-func (d *msgpackDecDriver) ReadMapStart() int {
-       return d.readContainerLen(msgpackContainerMap)
-}
-
-func (d *msgpackDecDriver) ReadArrayStart() int {
-       return d.readContainerLen(msgpackContainerList)
-}
-
-func (d *msgpackDecDriver) readExtLen() (clen int) {
-       switch d.bd {
-       case mpNil:
-               clen = -1 // to represent nil
-       case mpFixExt1:
-               clen = 1
-       case mpFixExt2:
-               clen = 2
-       case mpFixExt4:
-               clen = 4
-       case mpFixExt8:
-               clen = 8
-       case mpFixExt16:
-               clen = 16
-       case mpExt8:
-               clen = int(d.r.readn1())
-       case mpExt16:
-               clen = int(bigen.Uint16(d.r.readx(2)))
-       case mpExt32:
-               clen = int(bigen.Uint32(d.r.readx(4)))
-       default:
-               d.d.errorf("decoding ext bytes: found unexpected byte: %x", 
d.bd)
-               return
-       }
-       return
-}
-
-func (d *msgpackDecDriver) DecodeExt(rv interface{}, xtag uint64, ext Ext) 
(realxtag uint64) {
-       if xtag > 0xff {
-               d.d.errorf("decodeExt: tag must be <= 0xff; got: %v", xtag)
-               return
-       }
-       realxtag1, xbs := d.decodeExtV(ext != nil, uint8(xtag))
-       realxtag = uint64(realxtag1)
-       if ext == nil {
-               re := rv.(*RawExt)
-               re.Tag = realxtag
-               re.Data = detachZeroCopyBytes(d.br, re.Data, xbs)
-       } else {
-               ext.ReadExt(rv, xbs)
-       }
-       return
-}
-
-func (d *msgpackDecDriver) decodeExtV(verifyTag bool, tag byte) (xtag byte, 
xbs []byte) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       xbd := d.bd
-       if xbd == mpBin8 || xbd == mpBin16 || xbd == mpBin32 {
-               xbs = d.DecodeBytes(nil, false, true)
-       } else if xbd == mpStr8 || xbd == mpStr16 || xbd == mpStr32 ||
-               (xbd >= mpFixStrMin && xbd <= mpFixStrMax) {
-               xbs = d.DecodeBytes(nil, true, true)
-       } else {
-               clen := d.readExtLen()
-               xtag = d.r.readn1()
-               if verifyTag && xtag != tag {
-                       d.d.errorf("Wrong extension tag. Got %b. Expecting: 
%v", xtag, tag)
-                       return
-               }
-               xbs = d.r.readx(clen)
-       }
-       d.bdRead = false
-       return
-}
-
-//--------------------------------------------------
-
-//MsgpackHandle is a Handle for the Msgpack Schema-Free Encoding Format.
-type MsgpackHandle struct {
-       BasicHandle
-
-       // RawToString controls how raw bytes are decoded into a nil 
interface{}.
-       RawToString bool
-
-       // WriteExt flag supports encoding configured extensions with extension 
tags.
-       // It also controls whether other elements of the new spec are encoded 
(ie Str8).
-       //
-       // With WriteExt=false, configured extensions are serialized as raw 
bytes
-       // and Str8 is not encoded.
-       //
-       // A stream can still be decoded into a typed value, provided an 
appropriate value
-       // is provided, but the type cannot be inferred from the stream. If no 
appropriate
-       // type is provided (e.g. decoding into a nil interface{}), you get back
-       // a []byte or string based on the setting of RawToString.
-       WriteExt bool
-       binaryEncodingType
-}
-
-func (h *MsgpackHandle) SetBytesExt(rt reflect.Type, tag uint64, ext BytesExt) 
(err error) {
-       return h.SetExt(rt, tag, &setExtWrapper{b: ext})
-}
-
-func (h *MsgpackHandle) newEncDriver(e *Encoder) encDriver {
-       return &msgpackEncDriver{e: e, w: e.w, h: h}
-}
-
-func (h *MsgpackHandle) newDecDriver(d *Decoder) decDriver {
-       return &msgpackDecDriver{d: d, r: d.r, h: h, br: d.bytes}
-}
-
-func (e *msgpackEncDriver) reset() {
-       e.w = e.e.w
-}
-
-func (d *msgpackDecDriver) reset() {
-       d.r = d.d.r
-       d.bd, d.bdRead = 0, false
-}
-
-//--------------------------------------------------
-
-type msgpackSpecRpcCodec struct {
-       rpcCodec
-}
-
-// /////////////// Spec RPC Codec ///////////////////
-func (c *msgpackSpecRpcCodec) WriteRequest(r *rpc.Request, body interface{}) 
error {
-       // WriteRequest can write to both a Go service, and other services that 
do
-       // not abide by the 1 argument rule of a Go service.
-       // We discriminate based on if the body is a MsgpackSpecRpcMultiArgs
-       var bodyArr []interface{}
-       if m, ok := body.(MsgpackSpecRpcMultiArgs); ok {
-               bodyArr = ([]interface{})(m)
-       } else {
-               bodyArr = []interface{}{body}
-       }
-       r2 := []interface{}{0, uint32(r.Seq), r.ServiceMethod, bodyArr}
-       return c.write(r2, nil, false, true)
-}
-
-func (c *msgpackSpecRpcCodec) WriteResponse(r *rpc.Response, body interface{}) 
error {
-       var moe interface{}
-       if r.Error != "" {
-               moe = r.Error
-       }
-       if moe != nil && body != nil {
-               body = nil
-       }
-       r2 := []interface{}{1, uint32(r.Seq), moe, body}
-       return c.write(r2, nil, false, true)
-}
-
-func (c *msgpackSpecRpcCodec) ReadResponseHeader(r *rpc.Response) error {
-       return c.parseCustomHeader(1, &r.Seq, &r.Error)
-}
-
-func (c *msgpackSpecRpcCodec) ReadRequestHeader(r *rpc.Request) error {
-       return c.parseCustomHeader(0, &r.Seq, &r.ServiceMethod)
-}
-
-func (c *msgpackSpecRpcCodec) ReadRequestBody(body interface{}) error {
-       if body == nil { // read and discard
-               return c.read(nil)
-       }
-       bodyArr := []interface{}{body}
-       return c.read(&bodyArr)
-}
-
-func (c *msgpackSpecRpcCodec) parseCustomHeader(expectTypeByte byte, msgid 
*uint64, methodOrError *string) (err error) {
-
-       if c.isClosed() {
-               return io.EOF
-       }
-
-       // We read the response header by hand
-       // so that the body can be decoded on its own from the stream at a 
later time.
-
-       const fia byte = 0x94 //four item array descriptor value
-       // Not sure why the panic of EOF is swallowed above.
-       // if bs1 := c.dec.r.readn1(); bs1 != fia {
-       //      err = fmt.Errorf("Unexpected value for array descriptor: 
Expecting %v. Received %v", fia, bs1)
-       //      return
-       // }
-       var b byte
-       b, err = c.br.ReadByte()
-       if err != nil {
-               return
-       }
-       if b != fia {
-               err = fmt.Errorf("Unexpected value for array descriptor: 
Expecting %v. Received %v", fia, b)
-               return
-       }
-
-       if err = c.read(&b); err != nil {
-               return
-       }
-       if b != expectTypeByte {
-               err = fmt.Errorf("Unexpected byte descriptor in header. 
Expecting %v. Received %v", expectTypeByte, b)
-               return
-       }
-       if err = c.read(msgid); err != nil {
-               return
-       }
-       if err = c.read(methodOrError); err != nil {
-               return
-       }
-       return
-}
-
-//--------------------------------------------------
-
-// msgpackSpecRpc is the implementation of Rpc that uses custom communication 
protocol
-// as defined in the msgpack spec at 
https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md
-type msgpackSpecRpc struct{}
-
-// MsgpackSpecRpc implements Rpc using the communication protocol defined in
-// the msgpack spec at 
https://github.com/msgpack-rpc/msgpack-rpc/blob/master/spec.md .
-// Its methods (ServerCodec and ClientCodec) return values that implement 
RpcCodecBuffered.
-var MsgpackSpecRpc msgpackSpecRpc
-
-func (x msgpackSpecRpc) ServerCodec(conn io.ReadWriteCloser, h Handle) 
rpc.ServerCodec {
-       return &msgpackSpecRpcCodec{newRPCCodec(conn, h)}
-}
-
-func (x msgpackSpecRpc) ClientCodec(conn io.ReadWriteCloser, h Handle) 
rpc.ClientCodec {
-       return &msgpackSpecRpcCodec{newRPCCodec(conn, h)}
-}
-
-var _ decDriver = (*msgpackDecDriver)(nil)
-var _ encDriver = (*msgpackEncDriver)(nil)

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/noop.go
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/noop.go 
b/newtmgr/vendor/github.com/ugorji/go/codec/noop.go
deleted file mode 100644
index cfee3d0..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/noop.go
+++ /dev/null
@@ -1,213 +0,0 @@
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE 
file.
-
-package codec
-
-import (
-       "math/rand"
-       "time"
-)
-
-// NoopHandle returns a no-op handle. It basically does nothing.
-// It is only useful for benchmarking, as it gives an idea of the
-// overhead from the codec framework.
-//
-// LIBRARY USERS: *** DO NOT USE ***
-func NoopHandle(slen int) *noopHandle {
-       h := noopHandle{}
-       h.rand = rand.New(rand.NewSource(time.Now().UnixNano()))
-       h.B = make([][]byte, slen)
-       h.S = make([]string, slen)
-       for i := 0; i < len(h.S); i++ {
-               b := make([]byte, i+1)
-               for j := 0; j < len(b); j++ {
-                       b[j] = 'a' + byte(i)
-               }
-               h.B[i] = b
-               h.S[i] = string(b)
-       }
-       return &h
-}
-
-// noopHandle does nothing.
-// It is used to simulate the overhead of the codec framework.
-type noopHandle struct {
-       BasicHandle
-       binaryEncodingType
-       noopDrv // noopDrv is unexported here, so we can get a copy of it when 
needed.
-}
-
-type noopDrv struct {
-       d    *Decoder
-       e    *Encoder
-       i    int
-       S    []string
-       B    [][]byte
-       mks  []bool    // stack. if map (true), else if array (false)
-       mk   bool      // top of stack. what container are we on? map or array?
-       ct   valueType // last response for IsContainerType.
-       cb   int       // counter for ContainerType
-       rand *rand.Rand
-}
-
-func (h *noopDrv) r(v int) int { return h.rand.Intn(v) }
-func (h *noopDrv) m(v int) int { h.i++; return h.i % v }
-
-func (h *noopDrv) newEncDriver(e *Encoder) encDriver { h.e = e; return h }
-func (h *noopDrv) newDecDriver(d *Decoder) decDriver { h.d = d; return h }
-
-func (h *noopDrv) reset()       {}
-func (h *noopDrv) uncacheRead() {}
-
-// --- encDriver
-
-// stack functions (for map and array)
-func (h *noopDrv) start(b bool) {
-       // println("start", len(h.mks)+1)
-       h.mks = append(h.mks, b)
-       h.mk = b
-}
-func (h *noopDrv) end() {
-       // println("end: ", len(h.mks)-1)
-       h.mks = h.mks[:len(h.mks)-1]
-       if len(h.mks) > 0 {
-               h.mk = h.mks[len(h.mks)-1]
-       } else {
-               h.mk = false
-       }
-}
-
-func (h *noopDrv) EncodeBuiltin(rt uintptr, v interface{}) {}
-func (h *noopDrv) EncodeNil()                              {}
-func (h *noopDrv) EncodeInt(i int64)                       {}
-func (h *noopDrv) EncodeUint(i uint64)                     {}
-func (h *noopDrv) EncodeBool(b bool)                       {}
-func (h *noopDrv) EncodeFloat32(f float32)                 {}
-func (h *noopDrv) EncodeFloat64(f float64)                 {}
-func (h *noopDrv) EncodeRawExt(re *RawExt, e *Encoder)     {}
-func (h *noopDrv) EncodeArrayStart(length int)             { h.start(true) }
-func (h *noopDrv) EncodeMapStart(length int)               { h.start(false) }
-func (h *noopDrv) EncodeEnd()                              { h.end() }
-
-func (h *noopDrv) EncodeString(c charEncoding, v string)      {}
-func (h *noopDrv) EncodeSymbol(v string)                      {}
-func (h *noopDrv) EncodeStringBytes(c charEncoding, v []byte) {}
-
-func (h *noopDrv) EncodeExt(rv interface{}, xtag uint64, ext Ext, e *Encoder) 
{}
-
-// ---- decDriver
-func (h *noopDrv) initReadNext()                              {}
-func (h *noopDrv) CheckBreak() bool                           { return false }
-func (h *noopDrv) IsBuiltinType(rt uintptr) bool              { return false }
-func (h *noopDrv) DecodeBuiltin(rt uintptr, v interface{})    {}
-func (h *noopDrv) DecodeInt(bitsize uint8) (i int64)          { return 
int64(h.m(15)) }
-func (h *noopDrv) DecodeUint(bitsize uint8) (ui uint64)       { return 
uint64(h.m(35)) }
-func (h *noopDrv) DecodeFloat(chkOverflow32 bool) (f float64) { return 
float64(h.m(95)) }
-func (h *noopDrv) DecodeBool() (b bool)                       { return h.m(2) 
== 0 }
-func (h *noopDrv) DecodeString() (s string)                   { return 
h.S[h.m(8)] }
-
-// func (h *noopDrv) DecodeStringAsBytes(bs []byte) []byte       { return 
h.DecodeBytes(bs) }
-
-func (h *noopDrv) DecodeBytes(bs []byte, isstring, zerocopy bool) []byte { 
return h.B[h.m(len(h.B))] }
-
-func (h *noopDrv) ReadEnd() { h.end() }
-
-// toggle map/slice
-func (h *noopDrv) ReadMapStart() int   { h.start(true); return h.m(10) }
-func (h *noopDrv) ReadArrayStart() int { h.start(false); return h.m(10) }
-
-func (h *noopDrv) ContainerType() (vt valueType) {
-       // return h.m(2) == 0
-       // handle kStruct, which will bomb is it calls this and doesn't get 
back a map or array.
-       // consequently, if the return value is not map or array, reset it to 
one of them based on h.m(7) % 2
-       // for kstruct: at least one out of every 2 times, return one of 
valueTypeMap or Array (else kstruct bombs)
-       // however, every 10th time it is called, we just return something else.
-       var vals = [...]valueType{valueTypeArray, valueTypeMap}
-       //  ------------ TAKE ------------
-       // if h.cb%2 == 0 {
-       //      if h.ct == valueTypeMap || h.ct == valueTypeArray {
-       //      } else {
-       //              h.ct = vals[h.m(2)]
-       //      }
-       // } else if h.cb%5 == 0 {
-       //      h.ct = valueType(h.m(8))
-       // } else {
-       //      h.ct = vals[h.m(2)]
-       // }
-       //  ------------ TAKE ------------
-       // if h.cb%16 == 0 {
-       //      h.ct = valueType(h.cb % 8)
-       // } else {
-       //      h.ct = vals[h.cb%2]
-       // }
-       h.ct = vals[h.cb%2]
-       h.cb++
-       return h.ct
-
-       // if h.ct == valueTypeNil || h.ct == valueTypeString || h.ct == 
valueTypeBytes {
-       //      return h.ct
-       // }
-       // return valueTypeUnset
-       // TODO: may need to tweak this so it works.
-       // if h.ct == valueTypeMap && vt == valueTypeArray || h.ct == 
valueTypeArray && vt == valueTypeMap {
-       //      h.cb = !h.cb
-       //      h.ct = vt
-       //      return h.cb
-       // }
-       // // go in a loop and check it.
-       // h.ct = vt
-       // h.cb = h.m(7) == 0
-       // return h.cb
-}
-func (h *noopDrv) TryDecodeAsNil() bool {
-       if h.mk {
-               return false
-       } else {
-               return h.m(8) == 0
-       }
-}
-func (h *noopDrv) DecodeExt(rv interface{}, xtag uint64, ext Ext) uint64 {
-       return 0
-}
-
-func (h *noopDrv) DecodeNaked() {
-       // use h.r (random) not h.m() because h.m() could cause the same value 
to be given.
-       var sk int
-       if h.mk {
-               // if mapkey, do not support values of nil OR bytes, array, map 
or rawext
-               sk = h.r(7) + 1
-       } else {
-               sk = h.r(12)
-       }
-       n := &h.d.n
-       switch sk {
-       case 0:
-               n.v = valueTypeNil
-       case 1:
-               n.v, n.b = valueTypeBool, false
-       case 2:
-               n.v, n.b = valueTypeBool, true
-       case 3:
-               n.v, n.i = valueTypeInt, h.DecodeInt(64)
-       case 4:
-               n.v, n.u = valueTypeUint, h.DecodeUint(64)
-       case 5:
-               n.v, n.f = valueTypeFloat, h.DecodeFloat(true)
-       case 6:
-               n.v, n.f = valueTypeFloat, h.DecodeFloat(false)
-       case 7:
-               n.v, n.s = valueTypeString, h.DecodeString()
-       case 8:
-               n.v, n.l = valueTypeBytes, h.B[h.m(len(h.B))]
-       case 9:
-               n.v = valueTypeArray
-       case 10:
-               n.v = valueTypeMap
-       default:
-               n.v = valueTypeExt
-               n.u = h.DecodeUint(64)
-               n.l = h.B[h.m(len(h.B))]
-       }
-       h.ct = n.v
-       return
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.go
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.go 
b/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.go
deleted file mode 100644
index 2353263..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.go
+++ /dev/null
@@ -1,3 +0,0 @@
-package codec
-
-//go:generate bash prebuild.sh

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.sh
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.sh 
b/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.sh
deleted file mode 100755
index 909f4bb..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/prebuild.sh
+++ /dev/null
@@ -1,199 +0,0 @@
-#!/bin/bash
-
-# _needgen is a helper function to tell if we need to generate files for msgp, 
codecgen.
-_needgen() {
-    local a="$1"
-    zneedgen=0
-    if [[ ! -e "$a" ]]
-    then
-        zneedgen=1
-        echo 1
-        return 0
-    fi 
-    for i in `ls -1 *.go.tmpl gen.go values_test.go`
-    do
-        if [[ "$a" -ot "$i" ]]
-        then
-            zneedgen=1
-            echo 1
-            return 0
-        fi 
-    done 
-    echo 0
-}
-
-# _build generates fast-path.go and gen-helper.go.
-# 
-# It is needed because there is some dependency between the generated code
-# and the other classes. Consequently, we have to totally remove the 
-# generated files and put stubs in place, before calling "go run" again
-# to recreate them.
-_build() {
-    if ! [[ "${zforce}" == "1" ||
-                "1" == $( _needgen "fast-path.generated.go" ) ||
-                "1" == $( _needgen "gen-helper.generated.go" ) ||
-                "1" == $( _needgen "gen.generated.go" ) ||
-                1 == 0 ]]
-    then
-        return 0
-    fi 
-
-   # echo "Running prebuild"
-    if [ "${zbak}" == "1" ] 
-    then
-        # echo "Backing up old generated files"
-        _zts=`date '+%m%d%Y_%H%M%S'`
-        _gg=".generated.go"
-        [ -e "gen-helper${_gg}" ] && mv gen-helper${_gg} 
gen-helper${_gg}__${_zts}.bak
-        [ -e "fast-path${_gg}" ] && mv fast-path${_gg} 
fast-path${_gg}__${_zts}.bak
-        # [ -e "safe${_gg}" ] && mv safe${_gg} safe${_gg}__${_zts}.bak
-        # [ -e "unsafe${_gg}" ] && mv unsafe${_gg} unsafe${_gg}__${_zts}.bak
-    else 
-        rm -f fast-path.generated.go gen.generated.go gen-helper.generated.go \
-           *safe.generated.go *_generated_test.go *.generated_ffjson_expose.go
-    fi
-
-    cat > gen.generated.go <<EOF
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE 
file.
-
-package codec
-
-// DO NOT EDIT. THIS FILE IS AUTO-GENERATED FROM gen-dec-(map|array).go.tmpl
-
-const genDecMapTmpl = \`
-EOF
-
-    cat >> gen.generated.go < gen-dec-map.go.tmpl
-
-    cat >> gen.generated.go <<EOF
-\`
-
-const genDecListTmpl = \`
-EOF
-
-    cat >> gen.generated.go < gen-dec-array.go.tmpl
-
-    cat >> gen.generated.go <<EOF
-\`
-
-EOF
-
-    cat > gen-from-tmpl.codec.generated.go <<EOF
-package codec 
-import "io"
-func GenInternalGoFile(r io.Reader, w io.Writer, safe bool) error {
-return genInternalGoFile(r, w, safe)
-}
-EOF
-    
-    cat > gen-from-tmpl.generated.go <<EOF
-//+build ignore
-
-package main
-
-//import "flag"
-import "ugorji.net/codec"
-import "os"
-
-func run(fnameIn, fnameOut string, safe bool) {
-fin, err := os.Open(fnameIn)
-if err != nil { panic(err) }
-defer fin.Close()
-fout, err := os.Create(fnameOut)
-if err != nil { panic(err) }
-defer fout.Close()
-err = codec.GenInternalGoFile(fin, fout, safe)
-if err != nil { panic(err) }
-}
-
-func main() {
-// do not make safe/unsafe variants. 
-// Instead, depend on escape analysis, and place string creation and usage 
appropriately.
-// run("unsafe.go.tmpl", "safe.generated.go", true)
-// run("unsafe.go.tmpl", "unsafe.generated.go", false)
-run("fast-path.go.tmpl", "fast-path.generated.go", false)
-run("gen-helper.go.tmpl", "gen-helper.generated.go", false)
-}
-
-EOF
-    go run -tags=notfastpath gen-from-tmpl.generated.go && \
-        rm -f gen-from-tmpl.*generated.go 
-}
-
-_codegenerators() {
-    if [[ $zforce == "1" || 
-                "1" == $( _needgen "values_codecgen${zsfx}" ) ||
-                "1" == $( _needgen "values_msgp${zsfx}" ) ||
-                "1" == $( _needgen "values_ffjson${zsfx}" ) ||
-                1 == 0 ]] 
-    then
-        # codecgen creates some temporary files in the directory (main, pkg).
-        # Consequently, we should start msgp and ffjson first, and also put a 
small time latency before
-        # starting codecgen.
-        # Without this, ffjson chokes on one of the temporary files from 
codecgen.
-        if [[ $zexternal == "1" ]]
-        then 
-            echo "ffjson ... " && \
-                ffjson -w values_ffjson${zsfx} $zfin &
-            zzzIdFF=$!
-            echo "msgp ... " && \
-                msgp -tests=false -o=values_msgp${zsfx} -file=$zfin &
-            zzzIdMsgp=$!
-            
-            sleep 1 # give ffjson and msgp some buffer time. see note above.
-        fi
-        
-        echo "codecgen - !unsafe ... " && \
-            codecgen -rt codecgen -t 'x,codecgen,!unsafe' -o 
values_codecgen${zsfx} -d 19780 $zfin &
-        zzzIdC=$!
-        echo "codecgen - unsafe ... " && \
-            codecgen  -u -rt codecgen -t 'x,codecgen,unsafe' -o 
values_codecgen_unsafe${zsfx} -d 19781 $zfin &
-        zzzIdCU=$!
-        wait $zzzIdC $zzzIdCU $zzzIdMsgp $zzzIdFF && \
-            # remove (M|Unm)arshalJSON implementations, so they don't conflict 
with encoding/json bench \
-            if [[ $zexternal == "1" ]]
-            then
-                sed -i 's+ MarshalJSON(+ _MarshalJSON(+g' values_ffjson${zsfx} 
&& \
-                    sed -i 's+ UnmarshalJSON(+ _UnmarshalJSON(+g' 
values_ffjson${zsfx}
-            fi && \
-            echo "generators done!" && \
-            true
-    fi 
-}
-
-# _init reads the arguments and sets up the flags
-_init() {
-OPTIND=1
-while getopts "fbx" flag
-do
-    case "x$flag" in 
-        'xf') zforce=1;;
-        'xb') zbak=1;;
-        'xx') zexternal=1;;
-        *) echo "prebuild.sh accepts [-fbx] only"; return 1;;
-    esac
-done
-shift $((OPTIND-1))
-OPTIND=1
-}
-
-# main script.
-# First ensure that this is being run from the basedir (i.e. dirname of script 
is .)
-if [ "." = `dirname $0` ]
-then
-    zmydir=`pwd`
-    zfin="test_values.generated.go"
-    zsfx="_generated_test.go"
-    # rm -f *_generated_test.go 
-    rm -f codecgen-*.go && \
-        _init "$@" && \
-        _build && \
-        cp $zmydir/values_test.go $zmydir/$zfin && \
-        _codegenerators && \
-        echo prebuild done successfully
-    rm -f $zmydir/$zfin
-else
-    echo "Script must be run from the directory it resides in"
-fi 
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/rpc.go
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/rpc.go 
b/newtmgr/vendor/github.com/ugorji/go/codec/rpc.go
deleted file mode 100644
index 8062bed..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/rpc.go
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE 
file.
-
-package codec
-
-import (
-       "bufio"
-       "io"
-       "net/rpc"
-       "sync"
-)
-
-// rpcEncodeTerminator allows a handler specify a []byte terminator to send 
after each Encode.
-//
-// Some codecs like json need to put a space after each encoded value, to 
serve as a
-// delimiter for things like numbers (else json codec will continue reading 
till EOF).
-type rpcEncodeTerminator interface {
-       rpcEncodeTerminate() []byte
-}
-
-// Rpc provides a rpc Server or Client Codec for rpc communication.
-type Rpc interface {
-       ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec
-       ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec
-}
-
-// RpcCodecBuffered allows access to the underlying bufio.Reader/Writer
-// used by the rpc connection. It accommodates use-cases where the connection
-// should be used by rpc and non-rpc functions, e.g. streaming a file after
-// sending an rpc response.
-type RpcCodecBuffered interface {
-       BufferedReader() *bufio.Reader
-       BufferedWriter() *bufio.Writer
-}
-
-// -------------------------------------
-
-// rpcCodec defines the struct members and common methods.
-type rpcCodec struct {
-       rwc io.ReadWriteCloser
-       dec *Decoder
-       enc *Encoder
-       bw  *bufio.Writer
-       br  *bufio.Reader
-       mu  sync.Mutex
-       h   Handle
-
-       cls   bool
-       clsmu sync.RWMutex
-}
-
-func newRPCCodec(conn io.ReadWriteCloser, h Handle) rpcCodec {
-       bw := bufio.NewWriter(conn)
-       br := bufio.NewReader(conn)
-       return rpcCodec{
-               rwc: conn,
-               bw:  bw,
-               br:  br,
-               enc: NewEncoder(bw, h),
-               dec: NewDecoder(br, h),
-               h:   h,
-       }
-}
-
-func (c *rpcCodec) BufferedReader() *bufio.Reader {
-       return c.br
-}
-
-func (c *rpcCodec) BufferedWriter() *bufio.Writer {
-       return c.bw
-}
-
-func (c *rpcCodec) write(obj1, obj2 interface{}, writeObj2, doFlush bool) (err 
error) {
-       if c.isClosed() {
-               return io.EOF
-       }
-       if err = c.enc.Encode(obj1); err != nil {
-               return
-       }
-       t, tOk := c.h.(rpcEncodeTerminator)
-       if tOk {
-               c.bw.Write(t.rpcEncodeTerminate())
-       }
-       if writeObj2 {
-               if err = c.enc.Encode(obj2); err != nil {
-                       return
-               }
-               if tOk {
-                       c.bw.Write(t.rpcEncodeTerminate())
-               }
-       }
-       if doFlush {
-               return c.bw.Flush()
-       }
-       return
-}
-
-func (c *rpcCodec) read(obj interface{}) (err error) {
-       if c.isClosed() {
-               return io.EOF
-       }
-       //If nil is passed in, we should still attempt to read content to 
nowhere.
-       if obj == nil {
-               var obj2 interface{}
-               return c.dec.Decode(&obj2)
-       }
-       return c.dec.Decode(obj)
-}
-
-func (c *rpcCodec) isClosed() bool {
-       c.clsmu.RLock()
-       x := c.cls
-       c.clsmu.RUnlock()
-       return x
-}
-
-func (c *rpcCodec) Close() error {
-       if c.isClosed() {
-               return io.EOF
-       }
-       c.clsmu.Lock()
-       c.cls = true
-       c.clsmu.Unlock()
-       return c.rwc.Close()
-}
-
-func (c *rpcCodec) ReadResponseBody(body interface{}) error {
-       return c.read(body)
-}
-
-// -------------------------------------
-
-type goRpcCodec struct {
-       rpcCodec
-}
-
-func (c *goRpcCodec) WriteRequest(r *rpc.Request, body interface{}) error {
-       // Must protect for concurrent access as per API
-       c.mu.Lock()
-       defer c.mu.Unlock()
-       return c.write(r, body, true, true)
-}
-
-func (c *goRpcCodec) WriteResponse(r *rpc.Response, body interface{}) error {
-       c.mu.Lock()
-       defer c.mu.Unlock()
-       return c.write(r, body, true, true)
-}
-
-func (c *goRpcCodec) ReadResponseHeader(r *rpc.Response) error {
-       return c.read(r)
-}
-
-func (c *goRpcCodec) ReadRequestHeader(r *rpc.Request) error {
-       return c.read(r)
-}
-
-func (c *goRpcCodec) ReadRequestBody(body interface{}) error {
-       return c.read(body)
-}
-
-// -------------------------------------
-
-// goRpc is the implementation of Rpc that uses the communication protocol
-// as defined in net/rpc package.
-type goRpc struct{}
-
-// GoRpc implements Rpc using the communication protocol defined in net/rpc 
package.
-// Its methods (ServerCodec and ClientCodec) return values that implement 
RpcCodecBuffered.
-var GoRpc goRpc
-
-func (x goRpc) ServerCodec(conn io.ReadWriteCloser, h Handle) rpc.ServerCodec {
-       return &goRpcCodec{newRPCCodec(conn, h)}
-}
-
-func (x goRpc) ClientCodec(conn io.ReadWriteCloser, h Handle) rpc.ClientCodec {
-       return &goRpcCodec{newRPCCodec(conn, h)}
-}
-
-var _ RpcCodecBuffered = (*rpcCodec)(nil) // ensure *rpcCodec implements 
RpcCodecBuffered

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/simple.go
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/simple.go 
b/newtmgr/vendor/github.com/ugorji/go/codec/simple.go
deleted file mode 100644
index fdc4575..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/simple.go
+++ /dev/null
@@ -1,526 +0,0 @@
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE 
file.
-
-package codec
-
-import (
-       "math"
-       "reflect"
-)
-
-const (
-       _               uint8 = iota
-       simpleVdNil           = 1
-       simpleVdFalse         = 2
-       simpleVdTrue          = 3
-       simpleVdFloat32       = 4
-       simpleVdFloat64       = 5
-
-       // each lasts for 4 (ie n, n+1, n+2, n+3)
-       simpleVdPosInt = 8
-       simpleVdNegInt = 12
-
-       // containers: each lasts for 4 (ie n, n+1, n+2, ... n+7)
-       simpleVdString    = 216
-       simpleVdByteArray = 224
-       simpleVdArray     = 232
-       simpleVdMap       = 240
-       simpleVdExt       = 248
-)
-
-type simpleEncDriver struct {
-       noBuiltInTypes
-       encNoSeparator
-       e *Encoder
-       h *SimpleHandle
-       w encWriter
-       b [8]byte
-}
-
-func (e *simpleEncDriver) EncodeNil() {
-       e.w.writen1(simpleVdNil)
-}
-
-func (e *simpleEncDriver) EncodeBool(b bool) {
-       if b {
-               e.w.writen1(simpleVdTrue)
-       } else {
-               e.w.writen1(simpleVdFalse)
-       }
-}
-
-func (e *simpleEncDriver) EncodeFloat32(f float32) {
-       e.w.writen1(simpleVdFloat32)
-       bigenHelper{e.b[:4], e.w}.writeUint32(math.Float32bits(f))
-}
-
-func (e *simpleEncDriver) EncodeFloat64(f float64) {
-       e.w.writen1(simpleVdFloat64)
-       bigenHelper{e.b[:8], e.w}.writeUint64(math.Float64bits(f))
-}
-
-func (e *simpleEncDriver) EncodeInt(v int64) {
-       if v < 0 {
-               e.encUint(uint64(-v), simpleVdNegInt)
-       } else {
-               e.encUint(uint64(v), simpleVdPosInt)
-       }
-}
-
-func (e *simpleEncDriver) EncodeUint(v uint64) {
-       e.encUint(v, simpleVdPosInt)
-}
-
-func (e *simpleEncDriver) encUint(v uint64, bd uint8) {
-       if v <= math.MaxUint8 {
-               e.w.writen2(bd, uint8(v))
-       } else if v <= math.MaxUint16 {
-               e.w.writen1(bd + 1)
-               bigenHelper{e.b[:2], e.w}.writeUint16(uint16(v))
-       } else if v <= math.MaxUint32 {
-               e.w.writen1(bd + 2)
-               bigenHelper{e.b[:4], e.w}.writeUint32(uint32(v))
-       } else { // if v <= math.MaxUint64 {
-               e.w.writen1(bd + 3)
-               bigenHelper{e.b[:8], e.w}.writeUint64(v)
-       }
-}
-
-func (e *simpleEncDriver) encLen(bd byte, length int) {
-       if length == 0 {
-               e.w.writen1(bd)
-       } else if length <= math.MaxUint8 {
-               e.w.writen1(bd + 1)
-               e.w.writen1(uint8(length))
-       } else if length <= math.MaxUint16 {
-               e.w.writen1(bd + 2)
-               bigenHelper{e.b[:2], e.w}.writeUint16(uint16(length))
-       } else if int64(length) <= math.MaxUint32 {
-               e.w.writen1(bd + 3)
-               bigenHelper{e.b[:4], e.w}.writeUint32(uint32(length))
-       } else {
-               e.w.writen1(bd + 4)
-               bigenHelper{e.b[:8], e.w}.writeUint64(uint64(length))
-       }
-}
-
-func (e *simpleEncDriver) EncodeExt(rv interface{}, xtag uint64, ext Ext, _ 
*Encoder) {
-       bs := ext.WriteExt(rv)
-       if bs == nil {
-               e.EncodeNil()
-               return
-       }
-       e.encodeExtPreamble(uint8(xtag), len(bs))
-       e.w.writeb(bs)
-}
-
-func (e *simpleEncDriver) EncodeRawExt(re *RawExt, _ *Encoder) {
-       e.encodeExtPreamble(uint8(re.Tag), len(re.Data))
-       e.w.writeb(re.Data)
-}
-
-func (e *simpleEncDriver) encodeExtPreamble(xtag byte, length int) {
-       e.encLen(simpleVdExt, length)
-       e.w.writen1(xtag)
-}
-
-func (e *simpleEncDriver) EncodeArrayStart(length int) {
-       e.encLen(simpleVdArray, length)
-}
-
-func (e *simpleEncDriver) EncodeMapStart(length int) {
-       e.encLen(simpleVdMap, length)
-}
-
-func (e *simpleEncDriver) EncodeString(c charEncoding, v string) {
-       e.encLen(simpleVdString, len(v))
-       e.w.writestr(v)
-}
-
-func (e *simpleEncDriver) EncodeSymbol(v string) {
-       e.EncodeString(c_UTF8, v)
-}
-
-func (e *simpleEncDriver) EncodeStringBytes(c charEncoding, v []byte) {
-       e.encLen(simpleVdByteArray, len(v))
-       e.w.writeb(v)
-}
-
-//------------------------------------
-
-type simpleDecDriver struct {
-       d      *Decoder
-       h      *SimpleHandle
-       r      decReader
-       bdRead bool
-       bd     byte
-       br     bool // bytes reader
-       noBuiltInTypes
-       noStreamingCodec
-       decNoSeparator
-       b [scratchByteArrayLen]byte
-}
-
-func (d *simpleDecDriver) readNextBd() {
-       d.bd = d.r.readn1()
-       d.bdRead = true
-}
-
-func (d *simpleDecDriver) uncacheRead() {
-       if d.bdRead {
-               d.r.unreadn1()
-               d.bdRead = false
-       }
-}
-
-func (d *simpleDecDriver) ContainerType() (vt valueType) {
-       if d.bd == simpleVdNil {
-               return valueTypeNil
-       } else if d.bd == simpleVdByteArray || d.bd == simpleVdByteArray+1 ||
-               d.bd == simpleVdByteArray+2 || d.bd == simpleVdByteArray+3 || 
d.bd == simpleVdByteArray+4 {
-               return valueTypeBytes
-       } else if d.bd == simpleVdString || d.bd == simpleVdString+1 ||
-               d.bd == simpleVdString+2 || d.bd == simpleVdString+3 || d.bd == 
simpleVdString+4 {
-               return valueTypeString
-       } else if d.bd == simpleVdArray || d.bd == simpleVdArray+1 ||
-               d.bd == simpleVdArray+2 || d.bd == simpleVdArray+3 || d.bd == 
simpleVdArray+4 {
-               return valueTypeArray
-       } else if d.bd == simpleVdMap || d.bd == simpleVdMap+1 ||
-               d.bd == simpleVdMap+2 || d.bd == simpleVdMap+3 || d.bd == 
simpleVdMap+4 {
-               return valueTypeMap
-       } else {
-               // d.d.errorf("isContainerType: unsupported parameter: %v", vt)
-       }
-       return valueTypeUnset
-}
-
-func (d *simpleDecDriver) TryDecodeAsNil() bool {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == simpleVdNil {
-               d.bdRead = false
-               return true
-       }
-       return false
-}
-
-func (d *simpleDecDriver) decCheckInteger() (ui uint64, neg bool) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       switch d.bd {
-       case simpleVdPosInt:
-               ui = uint64(d.r.readn1())
-       case simpleVdPosInt + 1:
-               ui = uint64(bigen.Uint16(d.r.readx(2)))
-       case simpleVdPosInt + 2:
-               ui = uint64(bigen.Uint32(d.r.readx(4)))
-       case simpleVdPosInt + 3:
-               ui = uint64(bigen.Uint64(d.r.readx(8)))
-       case simpleVdNegInt:
-               ui = uint64(d.r.readn1())
-               neg = true
-       case simpleVdNegInt + 1:
-               ui = uint64(bigen.Uint16(d.r.readx(2)))
-               neg = true
-       case simpleVdNegInt + 2:
-               ui = uint64(bigen.Uint32(d.r.readx(4)))
-               neg = true
-       case simpleVdNegInt + 3:
-               ui = uint64(bigen.Uint64(d.r.readx(8)))
-               neg = true
-       default:
-               d.d.errorf("decIntAny: Integer only valid from pos/neg 
integer1..8. Invalid descriptor: %v", d.bd)
-               return
-       }
-       // don't do this check, because callers may only want the unsigned 
value.
-       // if ui > math.MaxInt64 {
-       //      d.d.errorf("decIntAny: Integer out of range for signed int64: 
%v", ui)
-       //              return
-       // }
-       return
-}
-
-func (d *simpleDecDriver) DecodeInt(bitsize uint8) (i int64) {
-       ui, neg := d.decCheckInteger()
-       i, overflow := chkOvf.SignedInt(ui)
-       if overflow {
-               d.d.errorf("simple: overflow converting %v to signed integer", 
ui)
-               return
-       }
-       if neg {
-               i = -i
-       }
-       if chkOvf.Int(i, bitsize) {
-               d.d.errorf("simple: overflow integer: %v", i)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-func (d *simpleDecDriver) DecodeUint(bitsize uint8) (ui uint64) {
-       ui, neg := d.decCheckInteger()
-       if neg {
-               d.d.errorf("Assigning negative signed value to unsigned type")
-               return
-       }
-       if chkOvf.Uint(ui, bitsize) {
-               d.d.errorf("simple: overflow integer: %v", ui)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-func (d *simpleDecDriver) DecodeFloat(chkOverflow32 bool) (f float64) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == simpleVdFloat32 {
-               f = float64(math.Float32frombits(bigen.Uint32(d.r.readx(4))))
-       } else if d.bd == simpleVdFloat64 {
-               f = math.Float64frombits(bigen.Uint64(d.r.readx(8)))
-       } else {
-               if d.bd >= simpleVdPosInt && d.bd <= simpleVdNegInt+3 {
-                       f = float64(d.DecodeInt(64))
-               } else {
-                       d.d.errorf("Float only valid from float32/64: Invalid 
descriptor: %v", d.bd)
-                       return
-               }
-       }
-       if chkOverflow32 && chkOvf.Float32(f) {
-               d.d.errorf("msgpack: float32 overflow: %v", f)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-// bool can be decoded from bool only (single byte).
-func (d *simpleDecDriver) DecodeBool() (b bool) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == simpleVdTrue {
-               b = true
-       } else if d.bd == simpleVdFalse {
-       } else {
-               d.d.errorf("Invalid single-byte value for bool: %s: %x", 
msgBadDesc, d.bd)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-func (d *simpleDecDriver) ReadMapStart() (length int) {
-       d.bdRead = false
-       return d.decLen()
-}
-
-func (d *simpleDecDriver) ReadArrayStart() (length int) {
-       d.bdRead = false
-       return d.decLen()
-}
-
-func (d *simpleDecDriver) decLen() int {
-       switch d.bd % 8 {
-       case 0:
-               return 0
-       case 1:
-               return int(d.r.readn1())
-       case 2:
-               return int(bigen.Uint16(d.r.readx(2)))
-       case 3:
-               ui := uint64(bigen.Uint32(d.r.readx(4)))
-               if chkOvf.Uint(ui, intBitsize) {
-                       d.d.errorf("simple: overflow integer: %v", ui)
-                       return 0
-               }
-               return int(ui)
-       case 4:
-               ui := bigen.Uint64(d.r.readx(8))
-               if chkOvf.Uint(ui, intBitsize) {
-                       d.d.errorf("simple: overflow integer: %v", ui)
-                       return 0
-               }
-               return int(ui)
-       }
-       d.d.errorf("decLen: Cannot read length: bd%%8 must be in range 0..4. 
Got: %d", d.bd%8)
-       return -1
-}
-
-func (d *simpleDecDriver) DecodeString() (s string) {
-       return string(d.DecodeBytes(d.b[:], true, true))
-}
-
-func (d *simpleDecDriver) DecodeBytes(bs []byte, isstring, zerocopy bool) 
(bsOut []byte) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       if d.bd == simpleVdNil {
-               d.bdRead = false
-               return
-       }
-       clen := d.decLen()
-       d.bdRead = false
-       if zerocopy {
-               if d.br {
-                       return d.r.readx(clen)
-               } else if len(bs) == 0 {
-                       bs = d.b[:]
-               }
-       }
-       return decByteSlice(d.r, clen, d.d.h.MaxInitLen, bs)
-}
-
-func (d *simpleDecDriver) DecodeExt(rv interface{}, xtag uint64, ext Ext) 
(realxtag uint64) {
-       if xtag > 0xff {
-               d.d.errorf("decodeExt: tag must be <= 0xff; got: %v", xtag)
-               return
-       }
-       realxtag1, xbs := d.decodeExtV(ext != nil, uint8(xtag))
-       realxtag = uint64(realxtag1)
-       if ext == nil {
-               re := rv.(*RawExt)
-               re.Tag = realxtag
-               re.Data = detachZeroCopyBytes(d.br, re.Data, xbs)
-       } else {
-               ext.ReadExt(rv, xbs)
-       }
-       return
-}
-
-func (d *simpleDecDriver) decodeExtV(verifyTag bool, tag byte) (xtag byte, xbs 
[]byte) {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-       switch d.bd {
-       case simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, 
simpleVdExt + 4:
-               l := d.decLen()
-               xtag = d.r.readn1()
-               if verifyTag && xtag != tag {
-                       d.d.errorf("Wrong extension tag. Got %b. Expecting: 
%v", xtag, tag)
-                       return
-               }
-               xbs = d.r.readx(l)
-       case simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, 
simpleVdByteArray + 3, simpleVdByteArray + 4:
-               xbs = d.DecodeBytes(nil, false, true)
-       default:
-               d.d.errorf("Invalid d.bd for extensions (Expecting extensions 
or byte array). Got: 0x%x", d.bd)
-               return
-       }
-       d.bdRead = false
-       return
-}
-
-func (d *simpleDecDriver) DecodeNaked() {
-       if !d.bdRead {
-               d.readNextBd()
-       }
-
-       n := &d.d.n
-       var decodeFurther bool
-
-       switch d.bd {
-       case simpleVdNil:
-               n.v = valueTypeNil
-       case simpleVdFalse:
-               n.v = valueTypeBool
-               n.b = false
-       case simpleVdTrue:
-               n.v = valueTypeBool
-               n.b = true
-       case simpleVdPosInt, simpleVdPosInt + 1, simpleVdPosInt + 2, 
simpleVdPosInt + 3:
-               if d.h.SignedInteger {
-                       n.v = valueTypeInt
-                       n.i = d.DecodeInt(64)
-               } else {
-                       n.v = valueTypeUint
-                       n.u = d.DecodeUint(64)
-               }
-       case simpleVdNegInt, simpleVdNegInt + 1, simpleVdNegInt + 2, 
simpleVdNegInt + 3:
-               n.v = valueTypeInt
-               n.i = d.DecodeInt(64)
-       case simpleVdFloat32:
-               n.v = valueTypeFloat
-               n.f = d.DecodeFloat(true)
-       case simpleVdFloat64:
-               n.v = valueTypeFloat
-               n.f = d.DecodeFloat(false)
-       case simpleVdString, simpleVdString + 1, simpleVdString + 2, 
simpleVdString + 3, simpleVdString + 4:
-               n.v = valueTypeString
-               n.s = d.DecodeString()
-       case simpleVdByteArray, simpleVdByteArray + 1, simpleVdByteArray + 2, 
simpleVdByteArray + 3, simpleVdByteArray + 4:
-               n.v = valueTypeBytes
-               n.l = d.DecodeBytes(nil, false, false)
-       case simpleVdExt, simpleVdExt + 1, simpleVdExt + 2, simpleVdExt + 3, 
simpleVdExt + 4:
-               n.v = valueTypeExt
-               l := d.decLen()
-               n.u = uint64(d.r.readn1())
-               n.l = d.r.readx(l)
-       case simpleVdArray, simpleVdArray + 1, simpleVdArray + 2, simpleVdArray 
+ 3, simpleVdArray + 4:
-               n.v = valueTypeArray
-               decodeFurther = true
-       case simpleVdMap, simpleVdMap + 1, simpleVdMap + 2, simpleVdMap + 3, 
simpleVdMap + 4:
-               n.v = valueTypeMap
-               decodeFurther = true
-       default:
-               d.d.errorf("decodeNaked: Unrecognized d.bd: 0x%x", d.bd)
-       }
-
-       if !decodeFurther {
-               d.bdRead = false
-       }
-       return
-}
-
-//------------------------------------
-
-// SimpleHandle is a Handle for a very simple encoding format.
-//
-// simple is a simplistic codec similar to binc, but not as compact.
-//   - Encoding of a value is always preceded by the descriptor byte (bd)
-//   - True, false, nil are encoded fully in 1 byte (the descriptor)
-//   - Integers (intXXX, uintXXX) are encoded in 1, 2, 4 or 8 bytes (plus a 
descriptor byte).
-//     There are positive (uintXXX and intXXX >= 0) and negative (intXXX < 0) 
integers.
-//   - Floats are encoded in 4 or 8 bytes (plus a descriptor byte)
-//   - Lenght of containers (strings, bytes, array, map, extensions)
-//     are encoded in 0, 1, 2, 4 or 8 bytes.
-//     Zero-length containers have no length encoded.
-//     For others, the number of bytes is given by pow(2, bd%3)
-//   - maps are encoded as [bd] [length] [[key][value]]...
-//   - arrays are encoded as [bd] [length] [value]...
-//   - extensions are encoded as [bd] [length] [tag] [byte]...
-//   - strings/bytearrays are encoded as [bd] [length] [byte]...
-//
-// The full spec will be published soon.
-type SimpleHandle struct {
-       BasicHandle
-       binaryEncodingType
-}
-
-func (h *SimpleHandle) SetBytesExt(rt reflect.Type, tag uint64, ext BytesExt) 
(err error) {
-       return h.SetExt(rt, tag, &setExtWrapper{b: ext})
-}
-
-func (h *SimpleHandle) newEncDriver(e *Encoder) encDriver {
-       return &simpleEncDriver{e: e, w: e.w, h: h}
-}
-
-func (h *SimpleHandle) newDecDriver(d *Decoder) decDriver {
-       return &simpleDecDriver{d: d, r: d.r, h: h, br: d.bytes}
-}
-
-func (e *simpleEncDriver) reset() {
-       e.w = e.e.w
-}
-
-func (d *simpleDecDriver) reset() {
-       d.r = d.d.r
-       d.bd, d.bdRead = 0, false
-}
-
-var _ decDriver = (*simpleDecDriver)(nil)
-var _ encDriver = (*simpleEncDriver)(nil)

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/test-cbor-goldens.json
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/test-cbor-goldens.json 
b/newtmgr/vendor/github.com/ugorji/go/codec/test-cbor-goldens.json
deleted file mode 100644
index 9028586..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/test-cbor-goldens.json
+++ /dev/null
@@ -1,639 +0,0 @@
-[
-  {
-    "cbor": "AA==",
-    "hex": "00",
-    "roundtrip": true,
-    "decoded": 0
-  },
-  {
-    "cbor": "AQ==",
-    "hex": "01",
-    "roundtrip": true,
-    "decoded": 1
-  },
-  {
-    "cbor": "Cg==",
-    "hex": "0a",
-    "roundtrip": true,
-    "decoded": 10
-  },
-  {
-    "cbor": "Fw==",
-    "hex": "17",
-    "roundtrip": true,
-    "decoded": 23
-  },
-  {
-    "cbor": "GBg=",
-    "hex": "1818",
-    "roundtrip": true,
-    "decoded": 24
-  },
-  {
-    "cbor": "GBk=",
-    "hex": "1819",
-    "roundtrip": true,
-    "decoded": 25
-  },
-  {
-    "cbor": "GGQ=",
-    "hex": "1864",
-    "roundtrip": true,
-    "decoded": 100
-  },
-  {
-    "cbor": "GQPo",
-    "hex": "1903e8",
-    "roundtrip": true,
-    "decoded": 1000
-  },
-  {
-    "cbor": "GgAPQkA=",
-    "hex": "1a000f4240",
-    "roundtrip": true,
-    "decoded": 1000000
-  },
-  {
-    "cbor": "GwAAAOjUpRAA",
-    "hex": "1b000000e8d4a51000",
-    "roundtrip": true,
-    "decoded": 1000000000000
-  },
-  {
-    "cbor": "G///////////",
-    "hex": "1bffffffffffffffff",
-    "roundtrip": true,
-    "decoded": 18446744073709551615
-  },
-  {
-    "cbor": "wkkBAAAAAAAAAAA=",
-    "hex": "c249010000000000000000",
-    "roundtrip": true,
-    "decoded": 18446744073709551616
-  },
-  {
-    "cbor": "O///////////",
-    "hex": "3bffffffffffffffff",
-    "roundtrip": true,
-    "decoded": -18446744073709551616,
-    "skip": true
-  },
-  {
-    "cbor": "w0kBAAAAAAAAAAA=",
-    "hex": "c349010000000000000000",
-    "roundtrip": true,
-    "decoded": -18446744073709551617
-  },
-  {
-    "cbor": "IA==",
-    "hex": "20",
-    "roundtrip": true,
-    "decoded": -1
-  },
-  {
-    "cbor": "KQ==",
-    "hex": "29",
-    "roundtrip": true,
-    "decoded": -10
-  },
-  {
-    "cbor": "OGM=",
-    "hex": "3863",
-    "roundtrip": true,
-    "decoded": -100
-  },
-  {
-    "cbor": "OQPn",
-    "hex": "3903e7",
-    "roundtrip": true,
-    "decoded": -1000
-  },
-  {
-    "cbor": "+QAA",
-    "hex": "f90000",
-    "roundtrip": true,
-    "decoded": 0.0
-  },
-  {
-    "cbor": "+YAA",
-    "hex": "f98000",
-    "roundtrip": true,
-    "decoded": -0.0
-  },
-  {
-    "cbor": "+TwA",
-    "hex": "f93c00",
-    "roundtrip": true,
-    "decoded": 1.0
-  },
-  {
-    "cbor": "+z/xmZmZmZma",
-    "hex": "fb3ff199999999999a",
-    "roundtrip": true,
-    "decoded": 1.1
-  },
-  {
-    "cbor": "+T4A",
-    "hex": "f93e00",
-    "roundtrip": true,
-    "decoded": 1.5
-  },
-  {
-    "cbor": "+Xv/",
-    "hex": "f97bff",
-    "roundtrip": true,
-    "decoded": 65504.0
-  },
-  {
-    "cbor": "+kfDUAA=",
-    "hex": "fa47c35000",
-    "roundtrip": true,
-    "decoded": 100000.0
-  },
-  {
-    "cbor": "+n9///8=",
-    "hex": "fa7f7fffff",
-    "roundtrip": true,
-    "decoded": 3.4028234663852886e+38
-  },
-  {
-    "cbor": "+3435DyIAHWc",
-    "hex": "fb7e37e43c8800759c",
-    "roundtrip": true,
-    "decoded": 1.0e+300
-  },
-  {
-    "cbor": "+QAB",
-    "hex": "f90001",
-    "roundtrip": true,
-    "decoded": 5.960464477539063e-08
-  },
-  {
-    "cbor": "+QQA",
-    "hex": "f90400",
-    "roundtrip": true,
-    "decoded": 6.103515625e-05
-  },
-  {
-    "cbor": "+cQA",
-    "hex": "f9c400",
-    "roundtrip": true,
-    "decoded": -4.0
-  },
-  {
-    "cbor": "+8AQZmZmZmZm",
-    "hex": "fbc010666666666666",
-    "roundtrip": true,
-    "decoded": -4.1
-  },
-  {
-    "cbor": "+XwA",
-    "hex": "f97c00",
-    "roundtrip": true,
-    "diagnostic": "Infinity"
-  },
-  {
-    "cbor": "+X4A",
-    "hex": "f97e00",
-    "roundtrip": true,
-    "diagnostic": "NaN"
-  },
-  {
-    "cbor": "+fwA",
-    "hex": "f9fc00",
-    "roundtrip": true,
-    "diagnostic": "-Infinity"
-  },
-  {
-    "cbor": "+n+AAAA=",
-    "hex": "fa7f800000",
-    "roundtrip": false,
-    "diagnostic": "Infinity"
-  },
-  {
-    "cbor": "+n/AAAA=",
-    "hex": "fa7fc00000",
-    "roundtrip": false,
-    "diagnostic": "NaN"
-  },
-  {
-    "cbor": "+v+AAAA=",
-    "hex": "faff800000",
-    "roundtrip": false,
-    "diagnostic": "-Infinity"
-  },
-  {
-    "cbor": "+3/wAAAAAAAA",
-    "hex": "fb7ff0000000000000",
-    "roundtrip": false,
-    "diagnostic": "Infinity"
-  },
-  {
-    "cbor": "+3/4AAAAAAAA",
-    "hex": "fb7ff8000000000000",
-    "roundtrip": false,
-    "diagnostic": "NaN"
-  },
-  {
-    "cbor": "+//wAAAAAAAA",
-    "hex": "fbfff0000000000000",
-    "roundtrip": false,
-    "diagnostic": "-Infinity"
-  },
-  {
-    "cbor": "9A==",
-    "hex": "f4",
-    "roundtrip": true,
-    "decoded": false
-  },
-  {
-    "cbor": "9Q==",
-    "hex": "f5",
-    "roundtrip": true,
-    "decoded": true
-  },
-  {
-    "cbor": "9g==",
-    "hex": "f6",
-    "roundtrip": true,
-    "decoded": null
-  },
-  {
-    "cbor": "9w==",
-    "hex": "f7",
-    "roundtrip": true,
-    "diagnostic": "undefined"
-  },
-  {
-    "cbor": "8A==",
-    "hex": "f0",
-    "roundtrip": true,
-    "diagnostic": "simple(16)"
-  },
-  {
-    "cbor": "+Bg=",
-    "hex": "f818",
-    "roundtrip": true,
-    "diagnostic": "simple(24)"
-  },
-  {
-    "cbor": "+P8=",
-    "hex": "f8ff",
-    "roundtrip": true,
-    "diagnostic": "simple(255)"
-  },
-  {
-    "cbor": "wHQyMDEzLTAzLTIxVDIwOjA0OjAwWg==",
-    "hex": "c074323031332d30332d32315432303a30343a30305a",
-    "roundtrip": true,
-    "diagnostic": "0(\"2013-03-21T20:04:00Z\")"
-  },
-  {
-    "cbor": "wRpRS2ew",
-    "hex": "c11a514b67b0",
-    "roundtrip": true,
-    "diagnostic": "1(1363896240)"
-  },
-  {
-    "cbor": "wftB1FLZ7CAAAA==",
-    "hex": "c1fb41d452d9ec200000",
-    "roundtrip": true,
-    "diagnostic": "1(1363896240.5)"
-  },
-  {
-    "cbor": "10QBAgME",
-    "hex": "d74401020304",
-    "roundtrip": true,
-    "diagnostic": "23(h'01020304')"
-  },
-  {
-    "cbor": "2BhFZElFVEY=",
-    "hex": "d818456449455446",
-    "roundtrip": true,
-    "diagnostic": "24(h'6449455446')"
-  },
-  {
-    "cbor": "2CB2aHR0cDovL3d3dy5leGFtcGxlLmNvbQ==",
-    "hex": "d82076687474703a2f2f7777772e6578616d706c652e636f6d",
-    "roundtrip": true,
-    "diagnostic": "32(\"http://www.example.com\";)"
-  },
-  {
-    "cbor": "QA==",
-    "hex": "40",
-    "roundtrip": true,
-    "diagnostic": "h''"
-  },
-  {
-    "cbor": "RAECAwQ=",
-    "hex": "4401020304",
-    "roundtrip": true,
-    "diagnostic": "h'01020304'"
-  },
-  {
-    "cbor": "YA==",
-    "hex": "60",
-    "roundtrip": true,
-    "decoded": ""
-  },
-  {
-    "cbor": "YWE=",
-    "hex": "6161",
-    "roundtrip": true,
-    "decoded": "a"
-  },
-  {
-    "cbor": "ZElFVEY=",
-    "hex": "6449455446",
-    "roundtrip": true,
-    "decoded": "IETF"
-  },
-  {
-    "cbor": "YiJc",
-    "hex": "62225c",
-    "roundtrip": true,
-    "decoded": "\"\\"
-  },
-  {
-    "cbor": "YsO8",
-    "hex": "62c3bc",
-    "roundtrip": true,
-    "decoded": "ü"
-  },
-  {
-    "cbor": "Y+awtA==",
-    "hex": "63e6b0b4",
-    "roundtrip": true,
-    "decoded": "æ°´"
-  },
-  {
-    "cbor": "ZPCQhZE=",
-    "hex": "64f0908591",
-    "roundtrip": true,
-    "decoded": "𐅑"
-  },
-  {
-    "cbor": "gA==",
-    "hex": "80",
-    "roundtrip": true,
-    "decoded": [
-
-    ]
-  },
-  {
-    "cbor": "gwECAw==",
-    "hex": "83010203",
-    "roundtrip": true,
-    "decoded": [
-      1,
-      2,
-      3
-    ]
-  },
-  {
-    "cbor": "gwGCAgOCBAU=",
-    "hex": "8301820203820405",
-    "roundtrip": true,
-    "decoded": [
-      1,
-      [
-        2,
-        3
-      ],
-      [
-        4,
-        5
-      ]
-    ]
-  },
-  {
-    "cbor": "mBkBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgYGBk=",
-    "hex": "98190102030405060708090a0b0c0d0e0f101112131415161718181819",
-    "roundtrip": true,
-    "decoded": [
-      1,
-      2,
-      3,
-      4,
-      5,
-      6,
-      7,
-      8,
-      9,
-      10,
-      11,
-      12,
-      13,
-      14,
-      15,
-      16,
-      17,
-      18,
-      19,
-      20,
-      21,
-      22,
-      23,
-      24,
-      25
-    ]
-  },
-  {
-    "cbor": "oA==",
-    "hex": "a0",
-    "roundtrip": true,
-    "decoded": {
-    }
-  },
-  {
-    "cbor": "ogECAwQ=",
-    "hex": "a201020304",
-    "roundtrip": true,
-    "skip": true,
-    "diagnostic": "{1: 2, 3: 4}"
-  },
-  {
-    "cbor": "omFhAWFiggID",
-    "hex": "a26161016162820203",
-    "roundtrip": true,
-    "decoded": {
-      "a": 1,
-      "b": [
-        2,
-        3
-      ]
-    }
-  },
-  {
-    "cbor": "gmFhoWFiYWM=",
-    "hex": "826161a161626163",
-    "roundtrip": true,
-    "decoded": [
-      "a",
-      {
-        "b": "c"
-      }
-    ]
-  },
-  {
-    "cbor": "pWFhYUFhYmFCYWNhQ2FkYURhZWFF",
-    "hex": "a56161614161626142616361436164614461656145",
-    "roundtrip": true,
-    "decoded": {
-      "a": "A",
-      "b": "B",
-      "c": "C",
-      "d": "D",
-      "e": "E"
-    }
-  },
-  {
-    "cbor": "X0IBAkMDBAX/",
-    "hex": "5f42010243030405ff",
-    "roundtrip": false,
-    "skip": true,
-    "diagnostic": "(_ h'0102', h'030405')"
-  },
-  {
-    "cbor": "f2VzdHJlYWRtaW5n/w==",
-    "hex": "7f657374726561646d696e67ff",
-    "roundtrip": false,
-    "decoded": "streaming"
-  },
-  {
-    "cbor": "n/8=",
-    "hex": "9fff",
-    "roundtrip": false,
-    "decoded": [
-
-    ]
-  },
-  {
-    "cbor": "nwGCAgOfBAX//w==",
-    "hex": "9f018202039f0405ffff",
-    "roundtrip": false,
-    "decoded": [
-      1,
-      [
-        2,
-        3
-      ],
-      [
-        4,
-        5
-      ]
-    ]
-  },
-  {
-    "cbor": "nwGCAgOCBAX/",
-    "hex": "9f01820203820405ff",
-    "roundtrip": false,
-    "decoded": [
-      1,
-      [
-        2,
-        3
-      ],
-      [
-        4,
-        5
-      ]
-    ]
-  },
-  {
-    "cbor": "gwGCAgOfBAX/",
-    "hex": "83018202039f0405ff",
-    "roundtrip": false,
-    "decoded": [
-      1,
-      [
-        2,
-        3
-      ],
-      [
-        4,
-        5
-      ]
-    ]
-  },
-  {
-    "cbor": "gwGfAgP/ggQF",
-    "hex": "83019f0203ff820405",
-    "roundtrip": false,
-    "decoded": [
-      1,
-      [
-        2,
-        3
-      ],
-      [
-        4,
-        5
-      ]
-    ]
-  },
-  {
-    "cbor": "nwECAwQFBgcICQoLDA0ODxAREhMUFRYXGBgYGf8=",
-    "hex": "9f0102030405060708090a0b0c0d0e0f101112131415161718181819ff",
-    "roundtrip": false,
-    "decoded": [
-      1,
-      2,
-      3,
-      4,
-      5,
-      6,
-      7,
-      8,
-      9,
-      10,
-      11,
-      12,
-      13,
-      14,
-      15,
-      16,
-      17,
-      18,
-      19,
-      20,
-      21,
-      22,
-      23,
-      24,
-      25
-    ]
-  },
-  {
-    "cbor": "v2FhAWFinwID//8=",
-    "hex": "bf61610161629f0203ffff",
-    "roundtrip": false,
-    "decoded": {
-      "a": 1,
-      "b": [
-        2,
-        3
-      ]
-    }
-  },
-  {
-    "cbor": "gmFhv2FiYWP/",
-    "hex": "826161bf61626163ff",
-    "roundtrip": false,
-    "decoded": [
-      "a",
-      {
-        "b": "c"
-      }
-    ]
-  },
-  {
-    "cbor": "v2NGdW71Y0FtdCH/",
-    "hex": "bf6346756ef563416d7421ff",
-    "roundtrip": false,
-    "decoded": {
-      "Fun": true,
-      "Amt": -2
-    }
-  }
-]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/test.py
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/test.py 
b/newtmgr/vendor/github.com/ugorji/go/codec/test.py
deleted file mode 100755
index c0ad20b..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/test.py
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/env python
-
-# This will create golden files in a directory passed to it.
-# A Test calls this internally to create the golden files
-# So it can process them (so we don't have to checkin the files).
-
-# Ensure msgpack-python and cbor are installed first, using:
-#   sudo apt-get install python-dev
-#   sudo apt-get install python-pip
-#   pip install --user msgpack-python msgpack-rpc-python cbor
-
-# Ensure all "string" keys are utf strings (else encoded as bytes)
-
-import cbor, msgpack, msgpackrpc, sys, os, threading
-
-def get_test_data_list():
-    # get list with all primitive types, and a combo type
-    l0 = [ 
-        -8,
-         -1616,
-         -32323232,
-         -6464646464646464,
-         192,
-         1616,
-         32323232,
-         6464646464646464,
-         192,
-         -3232.0,
-         -6464646464.0,
-         3232.0,
-         6464.0,
-         6464646464.0,
-         False,
-         True,
-         u"null",
-         None,
-         u"someday",
-         1328176922000002000,
-         u"",
-         -2206187877999998000,
-         u"bytestring",
-         270,
-         u"none",
-        -2013855847999995777,
-         #-6795364578871345152,
-         ]
-    l1 = [
-        { "true": True,
-          "false": False },
-        { "true": u"True",
-          "false": False,
-          "uint16(1616)": 1616 },
-        { "list": [1616, 32323232, True, -3232.0, {"TRUE":True, 
"FALSE":False}, [True, False] ],
-          "int32":32323232, "bool": True, 
-          "LONG STRING": 
u"123456789012345678901234567890123456789012345678901234567890",
-          "SHORT STRING": u"1234567890" },
-        { True: "true", 138: False, "false": 200 }
-        ]
-    
-    l = []
-    l.extend(l0)
-    l.append(l0)
-    l.append(1)
-    l.extend(l1)
-    return l
-
-def build_test_data(destdir):
-    l = get_test_data_list()
-    for i in range(len(l)):
-        # packer = msgpack.Packer()
-        serialized = msgpack.dumps(l[i])
-        f = open(os.path.join(destdir, str(i) + '.msgpack.golden'), 'wb')
-        f.write(serialized)
-        f.close()
-        serialized = cbor.dumps(l[i])
-        f = open(os.path.join(destdir, str(i) + '.cbor.golden'), 'wb')
-        f.write(serialized)
-        f.close()
-
-def doRpcServer(port, stopTimeSec):
-    class EchoHandler(object):
-        def Echo123(self, msg1, msg2, msg3):
-            return ("1:%s 2:%s 3:%s" % (msg1, msg2, msg3))
-        def EchoStruct(self, msg):
-            return ("%s" % msg)
-    
-    addr = msgpackrpc.Address('localhost', port)
-    server = msgpackrpc.Server(EchoHandler())
-    server.listen(addr)
-    # run thread to stop it after stopTimeSec seconds if > 0
-    if stopTimeSec > 0:
-        def myStopRpcServer():
-            server.stop()
-        t = threading.Timer(stopTimeSec, myStopRpcServer)
-        t.start()
-    server.start()
-
-def doRpcClientToPythonSvc(port):
-    address = msgpackrpc.Address('localhost', port)
-    client = msgpackrpc.Client(address, unpack_encoding='utf-8')
-    print client.call("Echo123", "A1", "B2", "C3")
-    print client.call("EchoStruct", {"A" :"Aa", "B":"Bb", "C":"Cc"})
-   
-def doRpcClientToGoSvc(port):
-    # print ">>>> port: ", port, " <<<<<"
-    address = msgpackrpc.Address('localhost', port)
-    client = msgpackrpc.Client(address, unpack_encoding='utf-8')
-    print client.call("TestRpcInt.Echo123", ["A1", "B2", "C3"])
-    print client.call("TestRpcInt.EchoStruct", {"A" :"Aa", "B":"Bb", "C":"Cc"})
-
-def doMain(args):
-    if len(args) == 2 and args[0] == "testdata":
-        build_test_data(args[1])
-    elif len(args) == 3 and args[0] == "rpc-server":
-        doRpcServer(int(args[1]), int(args[2]))
-    elif len(args) == 2 and args[0] == "rpc-client-python-service":
-        doRpcClientToPythonSvc(int(args[1]))
-    elif len(args) == 2 and args[0] == "rpc-client-go-service":
-        doRpcClientToGoSvc(int(args[1]))
-    else:
-        print("Usage: test.py " + 
-              
"[testdata|rpc-server|rpc-client-python-service|rpc-client-go-service] ...")
-    
-if __name__ == "__main__":
-    doMain(sys.argv[1:])
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/tests.sh
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/tests.sh 
b/newtmgr/vendor/github.com/ugorji/go/codec/tests.sh
deleted file mode 100755
index fc9f5de..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/tests.sh
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-
-# Run all the different permutations of all the tests.
-# This helps ensure that nothing gets broken.
-
-_run() {
-    # 1. VARIATIONS: regular (t), canonical (c), IO R/W (i),
-    #                binc-nosymbols (n), struct2array (s), intern string (e),
-    #                json-indent (d), circular (l)
-    # 2. MODE: reflection (r), external (x), codecgen (g), unsafe (u), 
notfastpath (f)
-    # 3. OPTIONS: verbose (v), reset (z), must (m),
-    # 
-    # Use combinations of mode to get exactly what you want,
-    # and then pass the variations you need.
-
-    ztags=""
-    zargs=""
-    local OPTIND 
-    OPTIND=1
-    # "_xurtcinsvgzmefdl" ===  "_cdefgilmnrtsuvxz"
-    while getopts "_cdefgilmnrtsuvwxz" flag
-    do
-        case "x$flag" in 
-            'xr')  ;;
-            'xf') ztags="$ztags notfastpath" ;;
-            'xg') ztags="$ztags codecgen" ;;
-            'xx') ztags="$ztags x" ;;
-            'xu') ztags="$ztags unsafe" ;;
-            'xv') zargs="$zargs -tv" ;;
-            'xz') zargs="$zargs -tr" ;;
-            'xm') zargs="$zargs -tm" ;;
-            'xl') zargs="$zargs -tl" ;;
-            'xw') zargs="$zargs -tx=10" ;;
-            *) ;;
-        esac
-    done
-    # shift $((OPTIND-1))
-    printf '............. TAGS: %s .............\n' "$ztags"
-    # echo ">>>>>>> TAGS: $ztags"
-    
-    OPTIND=1
-    while getopts "_cdefgilmnrtsuvwxz" flag
-    do
-        case "x$flag" in 
-            'xt') printf ">>>>>>> REGULAR    : "; go test "-tags=$ztags" 
$zargs ; sleep 2 ;;
-            'xc') printf ">>>>>>> CANONICAL  : "; go test "-tags=$ztags" 
$zargs -tc; sleep 2 ;;
-            'xi') printf ">>>>>>> I/O        : "; go test "-tags=$ztags" 
$zargs -ti; sleep 2 ;;
-            'xn') printf ">>>>>>> NO_SYMBOLS : "; go test "-tags=$ztags" 
-run=Binc $zargs -tn; sleep 2 ;;
-            'xs') printf ">>>>>>> TO_ARRAY   : "; go test "-tags=$ztags" 
$zargs -ts; sleep 2 ;;
-            'xe') printf ">>>>>>> INTERN     : "; go test "-tags=$ztags" 
$zargs -te; sleep 2 ;;
-            'xd') printf ">>>>>>> INDENT     : ";
-                  go test "-tags=$ztags" -run=JsonCodecsTable -td=-1 $zargs;
-                  go test "-tags=$ztags" -run=JsonCodecsTable -td=8 $zargs;
-                  sleep 2 ;;
-            *) ;;
-        esac
-    done
-    shift $((OPTIND-1))
-
-    OPTIND=1
-}
-
-# echo ">>>>>>> RUNNING VARIATIONS OF TESTS"    
-if [[ "x$@" = "x"  || "x$@" = "x-A" ]]; then
-    # All: r, x, g, gu
-    _run "-_tcinsed_ml"  # regular
-    _run "-_tcinsed_ml_z" # regular with reset
-    _run "-w_tcinsed_ml"  # regular with max init len
-    _run "-_tcinsed_ml_f" # regular with no fastpath (notfastpath)
-    _run "-x_tcinsed_ml" # external
-    _run "-gx_tcinsed_ml" # codecgen: requires external
-    _run "-gxu_tcinsed_ml" # codecgen + unsafe
-elif [[ "x$@" = "x-Z" ]]; then
-    # Regular
-    _run "-_tcinsed_ml"  # regular
-    _run "-_tcinsed_ml_z" # regular with reset
-elif [[ "x$@" = "x-F" ]]; then
-    # regular with notfastpath
-    _run "-_tcinsed_ml_f"  # regular
-    _run "-_tcinsed_ml_zf" # regular with reset
-elif [[ "x$@" = "x-C" ]]; then
-    # codecgen
-    _run "-gx_tcinsed_ml" # codecgen: requires external
-    _run "-gxu_tcinsed_ml" # codecgen + unsafe
-    _run "-gxuw_tcinsed_ml" # codecgen + unsafe + maxinitlen
-elif [[ "x$@" = "x-X" ]]; then
-    # external
-    _run "-x_tcinsed_ml" # external
-elif [[ "x$@" = "x-h" || "x$@" = "x-?" ]]; then
-    cat <<EOF
-Usage: tests.sh [options...]
-  -A run through all tests (regular, external, codecgen)
-  -Z regular tests only 
-  -F regular tests only (without fastpath, so they run quickly)
-  -C codecgen only 
-  -X external only 
-  -h show help (usage)
-  -? same as -h
-  (no options) 
-      same as -A
-  (unrecognized options)
-      just pass on the options from the command line 
-EOF
-else
-    # e.g. ./tests.sh "-w_tcinsed_ml"
-    _run "$@"
-fi

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/github.com/ugorji/go/codec/time.go
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/github.com/ugorji/go/codec/time.go 
b/newtmgr/vendor/github.com/ugorji/go/codec/time.go
deleted file mode 100644
index 718b731..0000000
--- a/newtmgr/vendor/github.com/ugorji/go/codec/time.go
+++ /dev/null
@@ -1,233 +0,0 @@
-// Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
-// Use of this source code is governed by a MIT license found in the LICENSE 
file.
-
-package codec
-
-import (
-       "fmt"
-       "reflect"
-       "time"
-)
-
-var (
-       timeDigits   = [...]byte{'0', '1', '2', '3', '4', '5', '6', '7', '8', 
'9'}
-       timeExtEncFn = func(rv reflect.Value) (bs []byte, err error) {
-               defer panicToErr(&err)
-               bs = timeExt{}.WriteExt(rv.Interface())
-               return
-       }
-       timeExtDecFn = func(rv reflect.Value, bs []byte) (err error) {
-               defer panicToErr(&err)
-               timeExt{}.ReadExt(rv.Interface(), bs)
-               return
-       }
-)
-
-type timeExt struct{}
-
-func (x timeExt) WriteExt(v interface{}) (bs []byte) {
-       switch v2 := v.(type) {
-       case time.Time:
-               bs = encodeTime(v2)
-       case *time.Time:
-               bs = encodeTime(*v2)
-       default:
-               panic(fmt.Errorf("unsupported format for time conversion: 
expecting time.Time; got %T", v2))
-       }
-       return
-}
-func (x timeExt) ReadExt(v interface{}, bs []byte) {
-       tt, err := decodeTime(bs)
-       if err != nil {
-               panic(err)
-       }
-       *(v.(*time.Time)) = tt
-}
-
-func (x timeExt) ConvertExt(v interface{}) interface{} {
-       return x.WriteExt(v)
-}
-func (x timeExt) UpdateExt(v interface{}, src interface{}) {
-       x.ReadExt(v, src.([]byte))
-}
-
-// EncodeTime encodes a time.Time as a []byte, including
-// information on the instant in time and UTC offset.
-//
-// Format Description
-//
-//   A timestamp is composed of 3 components:
-//
-//   - secs: signed integer representing seconds since unix epoch
-//   - nsces: unsigned integer representing fractional seconds as a
-//     nanosecond offset within secs, in the range 0 <= nsecs < 1e9
-//   - tz: signed integer representing timezone offset in minutes east of UTC,
-//     and a dst (daylight savings time) flag
-//
-//   When encoding a timestamp, the first byte is the descriptor, which
-//   defines which components are encoded and how many bytes are used to
-//   encode secs and nsecs components. *If secs/nsecs is 0 or tz is UTC, it
-//   is not encoded in the byte array explicitly*.
-//
-//       Descriptor 8 bits are of the form `A B C DDD EE`:
-//           A:   Is secs component encoded? 1 = true
-//           B:   Is nsecs component encoded? 1 = true
-//           C:   Is tz component encoded? 1 = true
-//           DDD: Number of extra bytes for secs (range 0-7).
-//                If A = 1, secs encoded in DDD+1 bytes.
-//                    If A = 0, secs is not encoded, and is assumed to be 0.
-//                    If A = 1, then we need at least 1 byte to encode secs.
-//                    DDD says the number of extra bytes beyond that 1.
-//                    E.g. if DDD=0, then secs is represented in 1 byte.
-//                         if DDD=2, then secs is represented in 3 bytes.
-//           EE:  Number of extra bytes for nsecs (range 0-3).
-//                If B = 1, nsecs encoded in EE+1 bytes (similar to secs/DDD 
above)
-//
-//   Following the descriptor bytes, subsequent bytes are:
-//
-//       secs component encoded in `DDD + 1` bytes (if A == 1)
-//       nsecs component encoded in `EE + 1` bytes (if B == 1)
-//       tz component encoded in 2 bytes (if C == 1)
-//
-//   secs and nsecs components are integers encoded in a BigEndian
-//   2-complement encoding format.
-//
-//   tz component is encoded as 2 bytes (16 bits). Most significant bit 15 to
-//   Least significant bit 0 are described below:
-//
-//       Timezone offset has a range of -12:00 to +14:00 (ie -720 to +840 
minutes).
-//       Bit 15 = have\_dst: set to 1 if we set the dst flag.
-//       Bit 14 = dst\_on: set to 1 if dst is in effect at the time, or 0 if 
not.
-//       Bits 13..0 = timezone offset in minutes. It is a signed integer in 
Big Endian format.
-//
-func encodeTime(t time.Time) []byte {
-       //t := rv.Interface().(time.Time)
-       tsecs, tnsecs := t.Unix(), t.Nanosecond()
-       var (
-               bd   byte
-               btmp [8]byte
-               bs   [16]byte
-               i    int = 1
-       )
-       l := t.Location()
-       if l == time.UTC {
-               l = nil
-       }
-       if tsecs != 0 {
-               bd = bd | 0x80
-               bigen.PutUint64(btmp[:], uint64(tsecs))
-               f := pruneSignExt(btmp[:], tsecs >= 0)
-               bd = bd | (byte(7-f) << 2)
-               copy(bs[i:], btmp[f:])
-               i = i + (8 - f)
-       }
-       if tnsecs != 0 {
-               bd = bd | 0x40
-               bigen.PutUint32(btmp[:4], uint32(tnsecs))
-               f := pruneSignExt(btmp[:4], true)
-               bd = bd | byte(3-f)
-               copy(bs[i:], btmp[f:4])
-               i = i + (4 - f)
-       }
-       if l != nil {
-               bd = bd | 0x20
-               // Note that Go Libs do not give access to dst flag.
-               _, zoneOffset := t.Zone()
-               //zoneName, zoneOffset := t.Zone()
-               zoneOffset /= 60
-               z := uint16(zoneOffset)
-               bigen.PutUint16(btmp[:2], z)
-               // clear dst flags
-               bs[i] = btmp[0] & 0x3f
-               bs[i+1] = btmp[1]
-               i = i + 2
-       }
-       bs[0] = bd
-       return bs[0:i]
-}
-
-// DecodeTime decodes a []byte into a time.Time.
-func decodeTime(bs []byte) (tt time.Time, err error) {
-       bd := bs[0]
-       var (
-               tsec  int64
-               tnsec uint32
-               tz    uint16
-               i     byte = 1
-               i2    byte
-               n     byte
-       )
-       if bd&(1<<7) != 0 {
-               var btmp [8]byte
-               n = ((bd >> 2) & 0x7) + 1
-               i2 = i + n
-               copy(btmp[8-n:], bs[i:i2])
-               //if first bit of bs[i] is set, then fill btmp[0..8-n] with 
0xff (ie sign extend it)
-               if bs[i]&(1<<7) != 0 {
-                       copy(btmp[0:8-n], bsAll0xff)
-                       //for j,k := byte(0), 8-n; j < k; j++ { btmp[j] = 0xff }
-               }
-               i = i2
-               tsec = int64(bigen.Uint64(btmp[:]))
-       }
-       if bd&(1<<6) != 0 {
-               var btmp [4]byte
-               n = (bd & 0x3) + 1
-               i2 = i + n
-               copy(btmp[4-n:], bs[i:i2])
-               i = i2
-               tnsec = bigen.Uint32(btmp[:])
-       }
-       if bd&(1<<5) == 0 {
-               tt = time.Unix(tsec, int64(tnsec)).UTC()
-               return
-       }
-       // In stdlib time.Parse, when a date is parsed without a zone name, it 
uses "" as zone name.
-       // However, we need name here, so it can be shown when time is printed.
-       // Zone name is in form: UTC-08:00.
-       // Note that Go Libs do not give access to dst flag, so we ignore dst 
bits
-
-       i2 = i + 2
-       tz = bigen.Uint16(bs[i:i2])
-       i = i2
-       // sign extend sign bit into top 2 MSB (which were dst bits):
-       if tz&(1<<13) == 0 { // positive
-               tz = tz & 0x3fff //clear 2 MSBs: dst bits
-       } else { // negative
-               tz = tz | 0xc000 //set 2 MSBs: dst bits
-               //tzname[3] = '-' (TODO: verify. this works here)
-       }
-       tzint := int16(tz)
-       if tzint == 0 {
-               tt = time.Unix(tsec, int64(tnsec)).UTC()
-       } else {
-               // For Go Time, do not use a descriptive timezone.
-               // It's unnecessary, and makes it harder to do a 
reflect.DeepEqual.
-               // The Offset already tells what the offset should be, if not 
on UTC and unknown zone name.
-               // var zoneName = timeLocUTCName(tzint)
-               tt = time.Unix(tsec, int64(tnsec)).In(time.FixedZone("", 
int(tzint)*60))
-       }
-       return
-}
-
-func timeLocUTCName(tzint int16) string {
-       if tzint == 0 {
-               return "UTC"
-       }
-       var tzname = []byte("UTC+00:00")
-       //tzname := fmt.Sprintf("UTC%s%02d:%02d", tzsign, tz/60, tz%60) //perf 
issue using Sprintf. inline below.
-       //tzhr, tzmin := tz/60, tz%60 //faster if u convert to int first
-       var tzhr, tzmin int16
-       if tzint < 0 {
-               tzname[3] = '-' // (TODO: verify. this works here)
-               tzhr, tzmin = -tzint/60, (-tzint)%60
-       } else {
-               tzhr, tzmin = tzint/60, tzint%60
-       }
-       tzname[4] = timeDigits[tzhr/10]
-       tzname[5] = timeDigits[tzhr%10]
-       tzname[7] = timeDigits[tzmin/10]
-       tzname[8] = timeDigits[tzmin%10]
-       return string(tzname)
-       //return time.FixedZone(string(tzname), int(tzint)*60)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/golang.org/x/sys/LICENSE
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/golang.org/x/sys/LICENSE 
b/newtmgr/vendor/golang.org/x/sys/LICENSE
deleted file mode 100644
index 6a66aea..0000000
--- a/newtmgr/vendor/golang.org/x/sys/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) 2009 The Go Authors. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-   * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-   * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-   * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/golang.org/x/sys/PATENTS
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/golang.org/x/sys/PATENTS 
b/newtmgr/vendor/golang.org/x/sys/PATENTS
deleted file mode 100644
index 7330990..0000000
--- a/newtmgr/vendor/golang.org/x/sys/PATENTS
+++ /dev/null
@@ -1,22 +0,0 @@
-Additional IP Rights Grant (Patents)
-
-"This implementation" means the copyrightable works distributed by
-Google as part of the Go project.
-
-Google hereby grants to You a perpetual, worldwide, non-exclusive,
-no-charge, royalty-free, irrevocable (except as stated in this section)
-patent license to make, have made, use, offer to sell, sell, import,
-transfer and otherwise run, modify and propagate the contents of this
-implementation of Go, where such license applies only to those patent
-claims, both currently owned or controlled by Google and acquired in
-the future, licensable by Google that are necessarily infringed by this
-implementation of Go.  This grant does not include claims that would be
-infringed only as a consequence of further modification of this
-implementation.  If you or your agent or exclusive licensee institute or
-order or agree to the institution of patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit) alleging
-that this implementation of Go or any code incorporated within this
-implementation of Go constitutes direct or contributory patent
-infringement, or inducement of patent infringement, then any patent
-rights granted to you under this License for this implementation of Go
-shall terminate as of the date such litigation is filed.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/9975ef7a/newtmgr/vendor/golang.org/x/sys/unix/.gitignore
----------------------------------------------------------------------
diff --git a/newtmgr/vendor/golang.org/x/sys/unix/.gitignore 
b/newtmgr/vendor/golang.org/x/sys/unix/.gitignore
deleted file mode 100644
index e482715..0000000
--- a/newtmgr/vendor/golang.org/x/sys/unix/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-_obj/


Reply via email to