func MarshalVarInt64s(dst []byte, vs []int64) []byte {
	for _, v := range vs {
		if v < 0x40 && v > -0x40 {
			// Fast path
			c := int8(v)
			v := (c << 1) ^ (c >> 7) // zig-zag encoding without branching.
			dst = append(dst, byte(v))
			continue
		}

		v = (v << 1) ^ (v >> 63) // zig-zag encoding without branching.
		u := uint64(v)
		for u > 0x7f {
			dst = append(dst, 0x80|byte(u))
			u >>= 7
		}
		dst = append(dst, byte(u))
	}
	return dst
}
// MarshalVarInt64s appends marshaled vs to dst and returns the result.
MarshalVarInt64s appends marshaled vs to dst and returns the result.
// MarshalVarInt64s appends marshaled vs to dst and returns the result .
func MarshalVarInt64s(dst []byte, vs []int64) []byte {
	for _, v := range vs {
		if v < 0x40 && v > -0x40 {
			c := int8(v)
			v := (c << 1) ^ (c >> 7) 
			dst = append(dst, byte(v))
			continue
		}
		v = (v << 1) ^ (v >> 63) 
		u := uint64(v)
		for u > 0x7f {
			dst = append(dst, 0x80|byte(u))
			u >>= 7
		}
		dst = append(dst, byte(u))
	}
	return dst
}
func MarshalVarInt64s ( dst [ ] byte , vs [ ] int64 ) [ ] byte { for _ , v := range vs { if v < 0x40 && v > - 0x40 { c := int8 ( v ) v := ( c << 1 ) ^ ( c >> 7 ) dst = append ( dst , byte ( v ) ) continue } v = ( v << 1 ) ^ ( v >> 63 ) u := uint64 ( v ) for u > 0x7f { dst = append ( dst , 0x80 | byte ( u ) ) u >>= 7 } dst = append ( dst , byte ( u ) ) } return dst }
MarshalVarInt64s appends marshaled vs to dst and returns the result.
MarshalVarInt64s appends marshaled vs to dst and returns the result .
// Fast path // zig-zag encoding without branching. // zig-zag encoding without branching.