var decodeMsgpack=function(){"use strict";function r(r){function t(r){for(var t={},e=0;r>e;e++){var n=a();t[n]=a()}return t}function e(t){var e=r.subarray(i,i+t);return i+=t,e}function n(t){var e=r.subarray(i,i+t);i+=t;var n=65535;if(t>n){for(var u=[],a=0;a<e.length;a+=n)u.push(String.fromCharCode.apply(null,e.subarray(a,a+n)));return u.join("")}return String.fromCharCode.apply(null,e)}function u(r){for(var t=new Array(r),e=0;r>e;e++)t[e]=a();return t}function a(){var a,s,g,U=r[i];if(0===(128&U))return i++,U;if(128===(240&U))return s=15&U,i++,t(s);if(144===(240&U))return s=15&U,i++,u(s);if(160===(224&U))return s=31&U,i++,n(s);if(224===(224&U))return a=c.getInt8(i),i++,a;switch(U){case 192:return i++,null;case 194:return i++,!1;case 195:return i++,!0;case 196:return s=c.getUint8(i+1),i+=2,e(s);case 197:return s=c.getUint16(i+1),i+=3,e(s);case 198:return s=c.getUint32(i+1),i+=5,e(s);case 199:return s=c.getUint8(i+1),g=c.getUint8(i+2),i+=3,[g,e(s)];case 200:return s=c.getUint16(i+1),g=c.getUint8(i+3),i+=4,[g,e(s)];case 201:return s=c.getUint32(i+1),g=c.getUint8(i+5),i+=6,[g,e(s)];case 202:return a=c.getFloat32(i+1),i+=5,a;case 203:return a=c.getFloat64(i+1),i+=9,a;case 204:return a=r[i+1],i+=2,a;case 205:return a=c.getUint16(i+1),i+=3,a;case 206:return a=c.getUint32(i+1),i+=5,a;case 207:return i+=9,0;case 208:return a=c.getInt8(i+1),i+=2,a;case 209:return a=c.getInt16(i+1),i+=3,a;case 210:return a=c.getInt32(i+1),i+=5,a;case 211:return i+=9,0;case 212:return g=c.getUint8(i+1),i+=2,[g,e(1)];case 213:return g=c.getUint8(i+1),i+=2,[g,e(2)];case 214:return g=c.getUint8(i+1),i+=2,[g,e(4)];case 215:return g=c.getUint8(i+1),i+=2,[g,e(8)];case 216:return g=c.getUint8(i+1),i+=2,[g,e(16)];case 217:return s=c.getUint8(i+1),i+=2,n(s);case 218:return s=c.getUint16(i+1),i+=3,n(s);case 219:return s=c.getUint32(i+1),i+=5,n(s);case 220:return s=c.getUint16(i+1),i+=3,u(s);case 221:return s=c.getUint32(i+1),i+=5,u(s);case 222:return s=c.getUint16(i+1),i+=3,t(s);case 223:return s=c.getUint32(i+1),i+=5,t(s)}throw new Error("Unknown type 0x"+U.toString(16))}var i=0,c=new DataView(r.buffer);return a()}return r}();