code: func EncodeUvarint(out io.Writer, n int) error {
  	var buf [16]byte
  	var err error
  	i := 0
  	if (n & 0xffffff80) != 0 {
  		buf[i] = byte((n | 0x80) & 0xff)
  		i++
  		n >>= 7
  		if (n & 0xffffff80) != 0 {
  			buf[i] = byte((n | 0x80) & 0xff)
  			i++
  			n >>= 7
  			if (n & 0xffffff80) != 0 {
  				buf[i] = byte((n | 0x80) & 0xff)
  				i++
  				n >>= 7
  				if (n & 0xffffff80) != 0 {
  					buf[i] = byte((n | 0x80) & 0xff)
  					i++
  					n >>= 7
  				}
  			}
  		}
  	}
  	buf[i] = byte(n)
  	_, err = out.Write(buf[:i+1])
  	return err
  }
docs: // EncodeUvarint encodes the uvarint to the Writer.