From 1671e67fb2febe8e3b26a6f49ddc4e859bdad75e Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 24 Jun 2014 18:29:19 +0200 Subject: [PATCH 01/91] Properly handle UTF-16 in vstring, istring and cstring, fixes #24 --- bower.json | 2 +- dist/ByteBufferAB.js | 41 ++++++++++----- dist/ByteBufferAB.min.js | 88 ++++++++++++++++---------------- dist/ByteBufferAB.min.js.gz | Bin 7568 -> 7589 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 12 ++--- docs/ByteBuffer.html | 10 ++-- package.json | 2 +- src/types/strings/cstring.js | 11 +++- src/types/strings/istring.js | 9 +++- src/types/strings/utf8string.js | 10 ++-- src/types/strings/vstring.js | 9 +++- 12 files changed, 115 insertions(+), 81 deletions(-) diff --git a/bower.json b/bower.json index 24ab6aa..fb1c553 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.0.1", + "version": "3.0.2", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "ByteBuffer.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index d48d982..6800f67 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.0.1"; + ByteBuffer.VERSION = "3.0.2"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1406,8 +1406,15 @@ if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - for (i=0, k=str.length; i= 0xD800 && cp <= 0xDFFF) { + cp = str.codePointAt(i); + if (cp > 0xFFFF) i++; + } + offset += utf8_encode_char(cp, this, offset); + } this.view.setUint8(offset++, 0); if (relative) { this.offset = offset; @@ -1490,8 +1497,13 @@ this.view.setUint32(offset, k, this.littleEndian); offset += 4; k = str.length; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { + cp = str.codePointAt(i); + if (cp > 0xFFFF) i++; + } + offset += utf8_encode_char(cp, this, offset); } if (relative) { this.offset = offset; @@ -1546,16 +1558,16 @@ // types/strings/utf8string /** - * Metrics representing number of UTF8 characters. Evaluates to `1`. - * @type {number} + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} * @const * @expose */ ByteBuffer.METRICS_CHARS = 'c'; /** - * Metrics representing number of bytes. Evaluates to `2`. - * @type {number} + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} * @const * @expose */ @@ -1644,7 +1656,7 @@ /** * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read + * @param {number} length Number of characters or bytes to read. * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to * {@link ByteBuffer.METRICS_CHARS}. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes @@ -1770,8 +1782,13 @@ offset -= l+k; offset += this.writeVarint32(k, offset); k = str.length; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { + cp = str.codePointAt(i); + if (cp > 0xFFFF) i++; + } + offset += utf8_encode_char(cp, this, offset); } if (relative) { this.offset = offset; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index b53d9d8..8ee2a21 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -7,7 +7,7 @@ (function(r){function q(k){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?q:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function s(a,b){var c=b,e,d,f,g;e=a.view.getUint8(b++);if(0!==(e&128))if(192===(e&224))d=a.view.getUint8(b++),e=(e&31)<<6|d&63;else if(224===(e&240))d=a.view.getUint8(b++),f=a.view.getUint8(b++),e=(e&15)<<12|(d&63)<<6|f&63;else if(240===(e&248))d=a.view.getUint8(b++),f=a.view.getUint8(b++),g=a.view.getUint8(b++),e=(e&7)<<18|(d&63)<<12|(f&63)<<6|g&63;else throw RangeError("Illegal code point at offset "+ b+": "+e);return{codePoint:e,length:b-c}}function r(a){if(0>a)throw RangeError("Illegal code point: "+a);if(128>a)return 1;if(2048>a)return 2;if(65536>a)return 3;if(1114112>a)return 4;throw RangeError("Illegal code point: "+a);}function t(a){for(var b,c=0,e=0;e=b&&(b=a.codePointAt(e),65535a)throw RangeError("Illegal code point: "+a);if(128>a)b.view.setUint8(c++,a&127);else if(2048>a)b.view.setUint8(c++, -a>>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.1";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=k||null; +a>>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.2";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=k||null; var q=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,l;f=l||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=l);b.limit=b.offset;b.offset= 0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object"); if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>0,f=a.shiftRightUnsigne 0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g= this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=k.from28Bits(e,d,f,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString= function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var f=b,d= -t(a);b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;e=0;for(d=a.length;e>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); -}var c=a,e,d=[];do{e=s(this,a);a+=e.length;if(0===e.codePoint)break;d.push(e.codePoint)}while(1);return b?(this.offset=a,String.fromCodePoint.apply(String,d)):{string:String.fromCodePoint.apply(String,d),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0> -b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=t(a);b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;d=a.length;for(f=0;f>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;for(var d=a+c,f=[];a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=t(a);b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;for(f=0;f=e&&(e=a.codePointAt(f),65535=c&&(c=a.codePointAt(e),65535>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){for(b=[];h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}a=c+a;for(b=[];c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=t(a);f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h, -b);h=a.length;for(f=0;f>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;for(var c=c.value,d=a+c,f=[];a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); -}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset= -0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=q,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a, -b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit: -e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0; -var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this; -Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== -typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; -if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return q;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, -c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.a();default:throw Error("Unsupported encoding: "+ -a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ -this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,l,k="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),k+=m.charAt(l)+m.charAt(c)+m.charAt(e)+m.charAt(d);return k};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%4)throw TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f; -for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>l||0>k))throw TypeError("Illegal str: Contains non-base64 characters");n.view.setUint8(b++,h<<2|g>>4);64!==l&&(n.view.setUint8(b++,g<<4&240|l>>2,b),64!==k&&n.view.setUint8(b++, -l<<6&192|k))}n.limit=b;return n};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCodePoint(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+= -" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,l=!1,k=!1,n=!1,m=!1,p=!1;h":if(!c){if(m){p=!0;break}m=!0}b.limit=f;l=!1;break;case "'":if(!c){if(n){p=!0;break}n=!0}b.markedOffset=f;l=!1;break;case " ":l=!1;break;default:if(!c&&l){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255d||1114111=d?a.push(d):(d-=65536,b=(d>>10)+55296,d=d%1024+56320,a.push(b,d));if(k+1==m||16384d||d>=e))return a=c.charCodeAt(d),55296<=a&&56319>=a&&e>d+1&&(c=c.charCodeAt(d+1),56320<=c&&57343>=c)?1024*(a-55296)+c-56320+65536:a}Object.defineProperty?Object.defineProperty(String.prototype,"codePointAt",{value:a,configurable:!0,writable:!0}): -String.prototype.codePointAt=a}();d.prototype.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=[],d;a=c&&(c=a.codePointAt(e),65535e&&this.resize((e*=2)>b?e:b);b-=d+1;var g,d=a.length;for(e=0;e=g&&(g=a.codePointAt(e),65535>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=[];do{e=s(this,a);a+=e.length;if(0===e.codePoint)break;d.push(e.codePoint)}while(1);return b?(this.offset=a,String.fromCodePoint.apply(String,d)):{string:String.fromCodePoint.apply(String,d),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=t(a);b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;d=a.length;for(var f=0,g;f=g&&(g=a.codePointAt(f),65535>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;for(var d=a+c,f=[];a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=t(a);b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;for(f=0;f=e&&(e=a.codePointAt(f), +65535=c&&(c=a.codePointAt(e),65535>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){for(b=[];h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}a=c+a;for(b=[];c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}var e=b,h,f;h=t(a);f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);h=a.length;for(f=0;f=g&&(g=a.codePointAt(f),65535>>=0;if(0> +a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;for(var c=c.value,d=a+c,f=[];a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a, +b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view); +b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); +}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=q,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e, +0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength); +var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean"); +this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== +typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return q;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+ +this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.a();default:throw Error("Unsupported encoding: "+a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,l,k="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<< +2|d>>6,d&=63,g||(d=64,f||(e=64)),k+=m.charAt(l)+m.charAt(c)+m.charAt(e)+m.charAt(d);return k};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%4)throw TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>l||0>k))throw TypeError("Illegal str: Contains non-base64 characters");n.view.setUint8(b++,h<<2|g>>4);64!==l&&(n.view.setUint8(b++,g<<4&240|l>>2,b),64!==k&&n.view.setUint8(b++,l<<6&192|k))}n.limit=b;return n};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset: +a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCodePoint(e): +"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,l=!1,k=!1,n=!1,m=!1,p=!1;h":if(!c){if(m){p=!0;break}m=!0}b.limit=f;l=!1;break;case "'":if(!c){if(n){p=!0;break}n=!0}b.markedOffset=f;l=!1;break;case " ":l=!1; +break;default:if(!c&&l){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")}; +d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255d||1114111=d?a.push(d):(d-=65536,b=(d>>10)+55296,d=d%1024+56320,a.push(b,d));if(k+1==m||16384d||d>=e))return a=c.charCodeAt(d),55296<=a&&56319>=a&&e>d+1&&(c=c.charCodeAt(d+1),56320<=c&&57343>=c)?1024*(a-55296)+c-56320+65536:a}Object.defineProperty?Object.defineProperty(String.prototype,"codePointAt",{value:a,configurable:!0,writable:!0}):String.prototype.codePointAt=a}();d.prototype.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b= +this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=[],d;a=c&&(c=a.codePointAt(e),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 HLZtuzCr#_| literal 7568 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 28de19e..a93b6eb 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":88, -"mappings":"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", +"mappings":"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", "sources":["dist\\ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","utf8_decode_char","bb","start","a","b","c","d","getUint8","codePoint","utf8_calc_char","utf8_calc_string","str","cp","n","i","length","charCodeAt","codePointAt","utf8_encode_char","setUint8","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","Error","from28Bits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","capacity12","readCString","ByteBuffer.prototype.readCString","out","push","String","fromCodePoint","apply","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","console","log","bind","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","fromCharCode","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","codeUnits","highSurrogate","lowSurrogate","index","arguments","result","Number","floor","MAX_SIZE","stringFromCharCode","defineProperty","object","$defineProperty","error","Math","position","string","first","second","ByteBuffer.prototype.toUTF8","ByteBuffer.fromUTF8","module","require","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 95ca234..0fcf1db 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.0.1"; + ByteBuffer.VERSION = "3.0.2"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1715,16 +1715,16 @@ module.exports = (function() { // types/strings/utf8string /** - * Metrics representing number of UTF8 characters. Evaluates to `1`. - * @type {number} + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} * @const * @expose */ ByteBuffer.METRICS_CHARS = 'c'; /** - * Metrics representing number of bytes. Evaluates to `2`. - * @type {number} + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} * @const * @expose */ @@ -1805,7 +1805,7 @@ module.exports = (function() { /** * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read + * @param {number} length Number of characters or bytes to read. * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to * {@link ByteBuffer.METRICS_CHARS}. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes diff --git a/docs/ByteBuffer.html b/docs/ByteBuffer.html index 6cc018c..cf8e290 100644 --- a/docs/ByteBuffer.html +++ b/docs/ByteBuffer.html @@ -605,14 +605,14 @@

<static
-

<static, constant> METRICS_BYTES :number

+

<static, constant> METRICS_BYTES :string

-

Metrics representing number of bytes. Evaluates to 2.

+

Metrics representing number of bytes. Evaluates to b.

@@ -650,14 +650,14 @@

<static, con
-

<static, constant> METRICS_CHARS :number

+

<static, constant> METRICS_CHARS :string

-

Metrics representing number of UTF8 characters. Evaluates to 1.

+

Metrics representing number of UTF8 characters. Evaluates to c.

@@ -9994,7 +9994,7 @@
Parameters:
-

Number of characters or bytes to read

+

Number of characters or bytes to read.

diff --git a/package.json b/package.json index 0f594bf..621af24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.0.1", + "version": "3.0.2", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "ByteBuffer.js", diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index f0cc9e6..f832bdc 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -36,8 +36,15 @@ ByteBuffer.prototype.writeCString = function(str, offset) { //? } else { k = utf8_calc_string(str); //? ENSURE_CAPACITY('k+1'); - for (i=0, k=str.length; i= 0xD800 && cp <= 0xDFFF) { + cp = str.codePointAt(i); + if (cp > 0xFFFF) i++; + } + offset += utf8_encode_char(cp, this, offset); + } this.view.setUint8(offset++, 0); //? } if (relative) { diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index 20e8006..d2fe3dc 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -33,8 +33,13 @@ ByteBuffer.prototype.writeIString = function(str, offset) { this.view.setUint32(offset, k, this.littleEndian); offset += 4; k = str.length; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { + cp = str.codePointAt(i); + if (cp > 0xFFFF) i++; + } + offset += utf8_encode_char(cp, this, offset); } //? } if (relative) { diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index 893e50f..e6c7f1d 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -2,16 +2,16 @@ // types/strings/utf8string /** - * Metrics representing number of UTF8 characters. Evaluates to `1`. - * @type {number} + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} * @const * @expose */ ByteBuffer.METRICS_CHARS = 'c'; /** - * Metrics representing number of bytes. Evaluates to `2`. - * @type {number} + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} * @const * @expose */ @@ -105,7 +105,7 @@ ByteBuffer.calculateUTF8Bytes = utf8_calc_string; /** * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read + * @param {number} length Number of characters or bytes to read. * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to * {@link ByteBuffer.METRICS_CHARS}. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index ebbb66a..85e6037 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -33,8 +33,13 @@ ByteBuffer.prototype.writeVString = function(str, offset) { //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(k, offset); k = str.length; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { + cp = str.codePointAt(i); + if (cp > 0xFFFF) i++; + } + offset += utf8_encode_char(cp, this, offset); } //? } if (relative) { From f316ff973892693f0a8e274800a737c98722b291 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Thu, 26 Jun 2014 16:09:28 +0200 Subject: [PATCH 02/91] Add BBAB for browserify, fix node package --- bower.json | 2 +- dist/ByteBufferAB.js | 326 ++++++++++++++++---------------- dist/ByteBufferAB.min.js | 67 +++---- dist/ByteBufferAB.min.js.gz | Bin 7589 -> 7567 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferNB.js | 324 +++++++++++++++---------------- docs/ByteBuffer.html | 4 +- package.json | 5 +- src/ByteBuffer.js | 6 +- src/encodings/base64.js | 8 +- src/encodings/binary.js | 4 +- src/encodings/debug.js | 8 +- src/encodings/hex.js | 6 +- src/encodings/utf8.js | 4 +- src/encodings/utf8/codepoint.js | 6 +- src/encodings/utf8/native.js | 18 +- src/helpers.js | 14 +- src/macros.js | 14 +- src/methods/copy.js | 6 +- src/methods/order.js | 2 +- src/methods/resize.js | 2 +- src/methods/skip.js | 2 +- src/methods/static/wrap.js | 8 +- src/methods/toString.js | 2 +- src/types/floats/float32.js | 2 +- src/types/floats/float64.js | 2 +- src/types/strings/cstring.js | 6 +- src/types/strings/istring.js | 4 +- src/types/strings/utf8string.js | 6 +- src/types/strings/vstring.js | 4 +- src/types/varints/varint64.js | 6 +- tests/suite.js | 1 + 32 files changed, 438 insertions(+), 435 deletions(-) diff --git a/bower.json b/bower.json index fb1c553..cb4cdbc 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.0.2", + "version": "3.0.3", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "ByteBuffer.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 6800f67..26da40f 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -49,11 +49,11 @@ if (!noAssert) { capacity = capacity | 0; if (capacity < 0) - throw(new RangeError("Illegal capacity: 0 <= "+capacity)); + throw new RangeError("Illegal capacity: 0 <= "+capacity); if (typeof littleEndian !== 'boolean') - throw(new TypeError("Illegal littleEndian: Not a boolean")); + throw new TypeError("Illegal littleEndian: Not a boolean"); if (typeof noAssert !== 'boolean') - throw(new TypeError("Illegal noAssert: Not a boolean")); + throw new TypeError("Illegal noAssert: Not a boolean"); } /** @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.0.2"; + ByteBuffer.VERSION = "3.0.3"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -282,11 +282,11 @@ case "debug": return ByteBuffer.fromDebug(buffer, littleEndian); default: - throw(new TypeError("Unsupported encoding: "+encoding)); + throw new TypeError("Unsupported encoding: "+encoding); } } if (buffer === null || typeof buffer !== 'object') - throw(new TypeError("Illegal buffer: null or non-object")); + throw new TypeError("Illegal buffer: null or non-object"); var bb; if (ByteBuffer.isByteBuffer(buffer)) { bb = ByteBuffer.prototype.clone.call(buffer); @@ -315,7 +315,7 @@ for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 1; var capacity0 = this.buffer.byteLength; @@ -372,10 +372,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var value = this.view.getInt8(offset); if (relative) this.offset += 1; @@ -403,13 +403,13 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 1; var capacity1 = this.buffer.byteLength; @@ -432,10 +432,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var value = this.view.getUint8(offset); if (relative) this.offset += 1; @@ -457,13 +457,13 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 2; var capacity2 = this.buffer.byteLength; @@ -499,10 +499,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } var value = this.view.getInt16(offset, this.littleEndian); if (relative) this.offset += 2; @@ -533,13 +533,13 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 2; var capacity3 = this.buffer.byteLength; @@ -564,10 +564,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } var value = this.view.getUint16(offset, this.littleEndian); if (relative) this.offset += 2; @@ -587,13 +587,13 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 4; var capacity4 = this.buffer.byteLength; @@ -624,10 +624,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = this.view.getInt32(offset, this.littleEndian); if (relative) this.offset += 4; @@ -653,13 +653,13 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 4; var capacity5 = this.buffer.byteLength; @@ -682,10 +682,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = this.view.getUint32(offset, this.littleEndian); if (relative) this.offset += 4; @@ -710,12 +710,12 @@ if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -755,10 +755,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } var value = this.littleEndian ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) @@ -789,12 +789,12 @@ if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -825,10 +825,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } var value = this.littleEndian ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) @@ -854,12 +854,12 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw(new TypeError("Illegal value: "+value+" (not a number)")); + throw new TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 4; var capacity8 = this.buffer.byteLength; @@ -892,10 +892,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = this.view.getFloat32(offset, this.littleEndian); if (relative) this.offset += 4; @@ -925,12 +925,12 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw(new TypeError("Illegal value: "+value+" (not a number)")); + throw new TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 8; var capacity9 = this.buffer.byteLength; @@ -963,10 +963,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } var value = this.view.getFloat64(offset, this.littleEndian); if (relative) this.offset += 8; @@ -1042,13 +1042,13 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var size = ByteBuffer.calculateVarint32(value), b; @@ -1121,10 +1121,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } // ref: src/google/protobuf/io/coded_stream.cc var size = 0, @@ -1249,12 +1249,12 @@ if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (typeof value === 'number') value = Long.fromNumber(value, false); @@ -1314,10 +1314,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } // ref: src/google/protobuf/io/coded_stream.cc var start = offset, @@ -1335,7 +1335,7 @@ b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw(new Error("Data must be corrupt: Buffer overrun")); }}}}}}}}}} + throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} var value = Long.from28Bits(part0, part1, part2, false); if (relative) { this.offset = offset; @@ -1387,16 +1387,16 @@ k = str.length; if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: @@ -1437,10 +1437,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var start = offset, temp; @@ -1479,12 +1479,12 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, k; @@ -1526,10 +1526,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var temp = 0, start = offset, @@ -1585,10 +1585,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var k; var start = offset, @@ -1657,7 +1657,7 @@ /** * Reads an UTF8 encoded string. * @param {number} length Number of characters or bytes to read. - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to * {@link ByteBuffer.METRICS_CHARS}. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * read if omitted. @@ -1675,13 +1675,13 @@ if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw(new TypeError("Illegal length: "+length+" (not an integer)")); + throw new TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var out, i = 0, @@ -1707,10 +1707,10 @@ } else if (metrics === ByteBuffer.METRICS_BYTES) { if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); } var k = offset + length; out = []; @@ -1720,7 +1720,7 @@ out.push(temp['codePoint']); } if (offset !== k) - throw(new RangeError("Illegal range: Truncated character at "+k)); + throw new RangeError("Illegal range: Truncated character at "+k); if (relative) { this.offset = offset; return String.fromCodePoint.apply(String, out); @@ -1731,7 +1731,7 @@ }; } } else - throw(new TypeError("Unsupported metrics: "+metrics)); + throw new TypeError("Unsupported metrics: "+metrics); }; /** @@ -1764,12 +1764,12 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, k, l; @@ -1811,10 +1811,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var temp = this.readVarint32(offset), start = offset, @@ -1863,10 +1863,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -1970,13 +1970,13 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === 0 && end === this.buffer.byteLength) return this; // Already compacted @@ -2012,13 +2012,13 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === end) return new ByteBuffer(0, this.littleEndian, this.noAssert); @@ -2048,16 +2048,16 @@ targetRelative; if (!this.noAssert) { if (!ByteBuffer.isByteBuffer(target)) - throw(new TypeError("Illegal target: Not a ByteBuffer")); + throw new TypeError("Illegal target: Not a ByteBuffer"); } targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; if (targetOffset < 0 || targetOffset > target.buffer.byteLength) - throw(new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength)); + throw new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) - throw(new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); var len = sourceLimit - sourceOffset; if (len === 0) @@ -2108,16 +2108,16 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin >= end) return this; // Nothing to fill while (begin < end) this.view.setUint8(begin++, value); @@ -2151,10 +2151,10 @@ offset = typeof offset === 'undefined' ? this.offset : offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } this.markedOffset = offset; return this; @@ -2168,7 +2168,7 @@ ByteBuffer.prototype.order = function(littleEndian) { if (!this.noAssert) { if (typeof littleEndian !== 'boolean') - throw(new TypeError("Illegal littleEndian: Not a boolean")); + throw new TypeError("Illegal littleEndian: Not a boolean"); } this.littleEndian = !!littleEndian; return this; @@ -2218,10 +2218,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -2316,10 +2316,10 @@ ByteBuffer.prototype.resize = function(capacity) { if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) - throw(new TypeError("Illegal capacity: "+capacity+" (not an integer)")); + throw new TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; if (capacity < 0) - throw(new RangeError("Illegal capacity: 0 <= "+capacity)); + throw new RangeError("Illegal capacity: 0 <= "+capacity); } if (this.buffer.byteLength < capacity) { var buffer = new ArrayBuffer(capacity); @@ -2341,13 +2341,13 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === end) return this; // Nothing to reverse @@ -2364,13 +2364,13 @@ ByteBuffer.prototype.skip = function(length) { if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw(new TypeError("Illegal length: "+length+" (not an integer)")); + throw new TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; } var offset = this.offset + length; if (!this.noAssert) { if (offset < 0 || offset > this.buffer.byteLength) - throw(new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); } this.offset = offset; return this; @@ -2388,13 +2388,13 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var bb = this.clone(); bb.offset = begin; @@ -2420,13 +2420,13 @@ } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: Not an integer")); + throw new TypeError("Illegal offset: Not an integer"); offset >>>= 0; if (typeof limit !== 'number' || limit % 1 !== 0) - throw(new TypeError("Illegal limit: Not an integer")); + throw new TypeError("Illegal limit: Not an integer"); limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); } // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: @@ -2481,7 +2481,7 @@ case "columns": return this.toColumns(); default: - throw(new Error("Unsupported encoding: "+encoding)); + throw new Error("Unsupported encoding: "+encoding); } }; @@ -2507,13 +2507,13 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === end) return ""; var b1, b2, b3, // input bytes @@ -2550,9 +2550,9 @@ ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + throw new TypeError("Illegal str: Not a string"); if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); + throw new TypeError("Illegal str: Length not a multiple of 4"); } var len = str.length, suffix = 0, @@ -2562,7 +2562,7 @@ else break; } if (suffix > 2) - throw TypeError("Illegal str: Suffix is too large"); + throw new TypeError("Illegal str: Suffix is too large"); if (len === 0) return new ByteBuffer(0, littleEndian, noAssert); var b1, b2, b3, b4, // input bytes @@ -2575,7 +2575,7 @@ b4 = (h4 = i < len) ? B64.indexOf(str.charAt(i++)) : 0; if (!noAssert) { if (b1 < 0 || b2 < 0 || b3 < 0 || b4 < 0) - throw TypeError("Illegal str: Contains non-base64 characters"); + throw new TypeError("Illegal str: Contains non-base64 characters"); } bb.view.setUint8(j++, (b1 << 2) | (b2 >> 4)); if (b3 !== 64) { @@ -2626,13 +2626,13 @@ end = typeof end === 'undefined' ? this.limit : end; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === end) return ""; var out = []; @@ -2654,14 +2654,14 @@ ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); } var i = 0, k = str.length, charCode, bb = new ByteBuffer(k, littleEndian, noAssert); while (i 255) - throw(new TypeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255")); + throw new TypeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); bb.view.setUint8(i++, charCode); } bb.limit = k; @@ -2829,19 +2829,19 @@ b = parseInt(ch+str.charAt(i++), 16); if (!noAssert) { if (isNaN(b) || b < 0 || b > 255) - throw(new TypeError("Illegal str: Not a debug encoded string")); + throw new TypeError("Illegal str: Not a debug encoded string"); } bb.view.setUint8(j++, b); rs = true; } if (fail) - throw(new TypeError("Illegal str: Invalid symbol at "+i)); + throw new TypeError("Illegal str: Invalid symbol at "+i); } if (!noAssert) { if (!ho || !hl) - throw(new TypeError("Illegal str: Missing offset or limit")); + throw new TypeError("Illegal str: Missing offset or limit"); if (j>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var out = new Array(end - begin), b; @@ -2891,9 +2891,9 @@ ByteBuffer.fromHex = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); if (str.length % 2 !== 0) - throw(new TypeError("Illegal str: Length not a multiple of 2")); + throw new TypeError("Illegal str: Length not a multiple of 2"); } var k = str.length, bb = new ByteBuffer((k / 2) | 0, littleEndian), @@ -2902,7 +2902,7 @@ b = parseInt(str.substring(i, i+2), 16); if (!noAssert) { if (!isFinite(b) || b < 0 || b > 255) - throw(new TypeError("Illegal str: Contains non-hex characters")); + throw new TypeError("Illegal str: Contains non-hex characters"); } bb.view.setUint8(j++, b); } @@ -2945,7 +2945,7 @@ codePoint > 0x10FFFF || // not a valid Unicode code point floor(codePoint) != codePoint // not an integer ) { - throw RangeError('Invalid code point: ' + codePoint); + throw new RangeError('Invalid code point: ' + codePoint); } if (codePoint <= 0xFFFF) { // BMP code point codeUnits.push(codePoint); @@ -2980,8 +2980,8 @@ (function() { 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` var codePointAt = function(position) { - if (this == null) { - throw TypeError(); + if (this === null) { + throw new TypeError(); } var string = String(this); var size = string.length; @@ -3051,7 +3051,7 @@ d = bb.view.getUint8(offset++); codePoint = ((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F); } else - throw RangeError("Illegal code point at offset "+offset+": "+a); + throw new RangeError("Illegal code point at offset "+offset+": "+a); return { 'codePoint': codePoint, 'length': offset - start @@ -3067,12 +3067,12 @@ */ function utf8_calc_char(codePoint) { if (codePoint < 0) - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); if (codePoint < 0x80) return 1; else if (codePoint < 0x800) return 2; else if (codePoint < 0x10000) return 3; else if (codePoint < 0x110000) return 4; - else throw RangeError("Illegal code point: "+codePoint); + else throw new RangeError("Illegal code point: "+codePoint); } /** @@ -3107,7 +3107,7 @@ function utf8_encode_char(codePoint, bb, offset) { var start = offset; if (codePoint < 0) - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); if (codePoint < 0x80) { bb.view.setUint8(offset++, codePoint &0x7F) ; } else if (codePoint < 0x800) { @@ -3123,7 +3123,7 @@ bb.view.setUint8(offset++, ((codePoint>>6 )&0x3F)|0x80); bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); } else - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); return offset - start; } @@ -3142,13 +3142,13 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var out = [], temp; while (begin < end) { @@ -3158,7 +3158,7 @@ } if (!this.noAssert) { if (begin !== end) - throw(new RangeError("Illegal range: Truncated data")); + throw new RangeError("Illegal range: Truncated data"); } return String.fromCodePoint.apply(String, out); }; @@ -3176,7 +3176,7 @@ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); } var bb = new ByteBuffer(utf8_calc_string(str), littleEndian, noAssert), cp; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 8ee2a21..0fe0698 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,26 +5,26 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function q(k){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?q:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function s(a,b){var c=b,e,d,f,g;e=a.view.getUint8(b++);if(0!==(e&128))if(192===(e&224))d=a.view.getUint8(b++),e=(e&31)<<6|d&63;else if(224===(e&240))d=a.view.getUint8(b++),f=a.view.getUint8(b++),e=(e&15)<<12|(d&63)<<6|f&63;else if(240===(e&248))d=a.view.getUint8(b++),f=a.view.getUint8(b++),g=a.view.getUint8(b++),e=(e&7)<<18|(d&63)<<12|(f&63)<<6|g&63;else throw RangeError("Illegal code point at offset "+ -b+": "+e);return{codePoint:e,length:b-c}}function r(a){if(0>a)throw RangeError("Illegal code point: "+a);if(128>a)return 1;if(2048>a)return 2;if(65536>a)return 3;if(1114112>a)return 4;throw RangeError("Illegal code point: "+a);}function t(a){for(var b,c=0,e=0;e=b&&(b=a.codePointAt(e),65535a)throw RangeError("Illegal code point: "+a);if(128>a)b.view.setUint8(c++,a&127);else if(2048>a)b.view.setUint8(c++, -a>>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.2";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=k||null; -var q=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,l;f=l||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=l);b.limit=b.offset;b.offset= -0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object"); -if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a); -b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1; -var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.prototype.writeInt16= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian); -c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.readShort=d.prototype.readInt16; -d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b- -2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.writeInt32=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this}; -d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt=d.prototype.readInt32;d.prototype.writeUint32= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian); -c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64=function(a,b){var c="undefined"===typeof b;c&& -(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-= -8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function s(a,b){var c=b,e,d,f,g;e=a.view.getUint8(b++);if(0!==(e&128))if(192===(e&224))d=a.view.getUint8(b++),e=(e&31)<<6|d&63;else if(224===(e&240))d=a.view.getUint8(b++),f=a.view.getUint8(b++),e=(e&15)<<12|(d&63)<<6|f&63;else if(240===(e&248))d=a.view.getUint8(b++),f=a.view.getUint8(b++),g=a.view.getUint8(b++),e=(e&7)<<18|(d&63)<<12|(f&63)<<6|g&63;else throw new RangeError("Illegal code point at offset "+ +b+": "+e);return{codePoint:e,length:b-c}}function r(a){if(0>a)throw new RangeError("Illegal code point: "+a);if(128>a)return 1;if(2048>a)return 2;if(65536>a)return 3;if(1114112>a)return 4;throw new RangeError("Illegal code point: "+a);}function t(a){for(var b,c=0,e=0;e=b&&(b=a.codePointAt(e),65535a)throw new RangeError("Illegal code point: "+a);if(128>a)b.view.setUint8(c++,a&127);else if(2048> +a)b.view.setUint8(c++,a>>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw new RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.3";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT= +!1;d.Long=k||null;var q=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,l;f=l||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=l);b.limit= +b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null=== +a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+ +this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a); +b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+= +2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength; +b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a}; +d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b- +4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt= +d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength; +b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64,d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this}, d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32= @@ -73,16 +73,17 @@ typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0 c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return q;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+ this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.a();default:throw Error("Unsupported encoding: "+a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit); if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,l,k="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<< -2|d>>6,d&=63,g||(d=64,f||(e=64)),k+=m.charAt(l)+m.charAt(c)+m.charAt(e)+m.charAt(d);return k};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%4)throw TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>l||0>k))throw TypeError("Illegal str: Contains non-base64 characters");n.view.setUint8(b++,h<<2|g>>4);64!==l&&(n.view.setUint8(b++,g<<4&240|l>>2,b),64!==k&&n.view.setUint8(b++,l<<6&192|k))}n.limit=b;return n};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset: -a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCodePoint(e): -"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,l=!1,k=!1,n=!1,m=!1,p=!1;h":if(!c){if(m){p=!0;break}m=!0}b.limit=f;l=!1;break;case "'":if(!c){if(n){p=!0;break}n=!0}b.markedOffset=f;l=!1;break;case " ":l=!1; -break;default:if(!c&&l){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")}; -d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255d||1114111=d?a.push(d):(d-=65536,b=(d>>10)+55296,d=d%1024+56320,a.push(b,d));if(k+1==m||16384d||d>=e))return a=c.charCodeAt(d),55296<=a&&56319>=a&&e>d+1&&(c=c.charCodeAt(d+1),56320<=c&&57343>=c)?1024*(a-55296)+c-56320+65536:a}Object.defineProperty?Object.defineProperty(String.prototype,"codePointAt",{value:a,configurable:!0,writable:!0}):String.prototype.codePointAt=a}();d.prototype.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b= -this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=[],d;a=c&&(c=a.codePointAt(e),65535>6,d&=63,g||(d=64,f||(e=64)),k+=m.charAt(l)+m.charAt(c)+m.charAt(e)+m.charAt(d);return k};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>l||0>k))throw new TypeError("Illegal str: Contains non-base64 characters");n.view.setUint8(b++,h<<2|g>>4);64!==l&&(n.view.setUint8(b++,g<<4&240|l>>2,b),64!==k&&n.view.setUint8(b++,l<<6&192|k))}n.limit=b;return n};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a, +b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+= +32e?String.fromCodePoint(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,l=!1,k=!1,n=!1, +m=!1,p=!1;h":if(!c){if(m){p=!0;break}m=!0}b.limit=f;l=!1;break;case "'":if(!c){if(n){p= +!0;break}n=!0}b.markedOffset=f;l=!1;break;case " ":l=!1;break;default:if(!c&&l){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0", +e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255d||1114111=d?a.push(d):(d-=65536,b=(d>>10)+55296,d=d%1024+56320,a.push(b,d));if(k+1==m||16384d||d>=e))return a=c.charCodeAt(d),55296<=a&&56319>=a&&e>d+1&&(c=c.charCodeAt(d+1),56320<=c&&57343>=c)?1024*(a-55296)+c-56320+65536:a}Object.defineProperty?Object.defineProperty(String.prototype,"codePointAt",{value:a,configurable:!0,writable:!0}):String.prototype.codePointAt=a}();d.prototype.toUTF8= +function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=[],d;a=c&&(c=a.codePointAt(e),65535efR5m02lxRK4d9pJ4#h#5a@Ye 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 literal 7589 zcmV;W9a`caiwFn_r>Ro{144OpWkPjkW@U0gLN0A-ZZ2wb0PJ0RciT3y|DT_N);a4# zmb4;DvaE=re4WJI`d&BbO`Pm@yWJiT0x8xs=}1%_jr`s30N?{8K|LI&H*wu_>QLn1 zLCnl=W{OkQ9wfVAHh8NLmf|XJSG3d z{!MUi?kpQDfbwyK>x(N(ligJhw)2ww(~ue$sZ zil!=5hvTbjlmu=_)b~L$Q?H=4d8E4Y`27M}YAfnX5)!l^Q*{}^BQ=>3_2e31_~$&p zBw7$teUtX7+wLgpf{>9qOOorw=+Pq|>Rh^QXyp-mk+T<%%DwjDxjH2Y3c`i*-6KWw zmJv>%E^V%V%C6P7+NJPosv*-gvHqz=d*lTXnYJ9qNj_c^7!uOVmJes=o($?Nlr z-=3cQbn^7<;%D8KlDk0e3goBHpPijNZy?4%j0NK7FHT;)I(>Pe+kvO;L66YN>Co%W z1nJ2P#!!vOd-WxXd~!OU$8)W97KX$}p^6cVVUTgRf*SE8O0|HV181s?j`{dY;y^6IxsNk`0a?+ zA_$!ZZ^Fpl1>}876fMJ$(LF;6dIR@0p(5Q@*ss|079@cIWWTP^{E|#x@OuXqzZnKs zLE@n7NAc#4z%OCwj`#N5(Oz0Odo5>g58vd{w4l_Y&<(qzee`0?oij^r}en&up8ZOU)QJ7VkV&kJxd>t2dnA+pl6eCK~yLW zh0@afPGf0rO{LZ$RBCls8m*Sq@0IHBce472yVmcoY4(V=I?P+89q_Ua_<0Aolu5-O zut2?zp;i?oD(5^Xf#Mpi5&TPZdrp$&Jo-clf1-3FVumF0liA2Uz&8c|sJwkDsoeVZ zM!Bv52cZmaN44mkZl^EY>e5?-!^7U7xYuI^Evs)?-QsTF-l659>j~{T0H8*N4-n1i zz~FXlGDdCwsy2ZEcYzIfhUQP9qLV};x_NlmeLNUD09}Viy?$@va1aBsY_K>T?fc;v z9@1(|Y&dhx%?4H#RA89_D(wexu>Bds>2i@-WFmtN!$hDgM|vTXe3WIB3Yts?peQTQ zD&3UVHR!FV?&Z~G9FkH`CRP`8WJQ(JY@irqRc_f}!TzQuhxs?cV0pVl_HW1n{5 zQ^x!Qax-neIeq!+?8S4Z)oXX!-IhIVpPyY^oS&vf(An$2ttV%H&wpEX-L5*;z^+U#q@x2N3d0zqggCi#kjiWNHndRY6x;wkjw2wi zP@9CoL~acQ7htt&Es{C-MkT8YieOTU;5zT(V5)ZPOjBo|ryl%I@saDP8QR|1w++M7 zr|n=-csLsR#rsuXt=PXXD(~m$nq7m*(aq4Im)xiwuuBevW@j9NM$Zf<f9$qUPo%mUbRG&HAZh+OT2#3O&GS^EhvN;)Kv)LM2YqD)r&4 zKE1tIx+uMumQ1UnBFpa-SL{vP)O=?*?d-x)I+m68e`r@jE!8PBve4rXhac*B-XJq--bwAymv z@1WlrrQMviy?K1~gx!R0Vcq6rGxDKA^8@)H61YKx<{zu|u$v+oYrahM`r`YcNHQhv z(y!1wqxU!wyct@C$w=xszK#~l>+5))K$t)xKphw%ia20yZeYx)hEqQf6fJgtCpZxX z8m;$5xx9^3T7?R+LKH^_X&vA1mv>fUYaiD zZAq#MvDY&-<5~ymnJGTyZRQT6^dc8}dIvhj+b}cf7jGIlfVio*oY#C@@|Lr@^${J1 z!W5M{EQq?S$F$k=dasM_b}D^5uXU}sTj^f4U#(v_k9ePcrRwm4-4HmE#IKkpWlYg2 zL}mTX2ZnXO=vR7I322;E_(_Hl)QoXpqF;hvOD1xyjJ5O<2o)WDKMxXe233}TBMTYi zN^fJP_Cj34W5iM*!VOZiymFy+K_gZx8e^cpS?g8f9SWC(*>$6(Y7q_9B9MoK_#goA zHd!!QZ^7j)xSLwwJ!gt6Z^E5SCRxM_mAXb}A_R7VyljYuvxd@Gn6+kfbpETMMq9aY z4ac&%(<&!|4wC(S_H0fT!5>7^$ahXxpSZ_lr6`L~_;s6$apG4UwFb~?vrGws< z2nfX>M=CZY+BrefiY#$Sa^;eQY?n=Fd{Id%_}nB)0-vE$WLS5?XV#iwZQ%1w`u15Y z%J>94Qru=Hp_|&M*BF$sqRvYOAm5s{=PbIf`p(r|xifuF=QM7i@KkcDGV-9syJ;~W zeHi)ewKzjmYv3pkrub`9&F-CAVru}J*)@?_o9YGNuPJMHlXZSIgW$xG3zN(~gNS|G zs@=Uq)$ZH*98UcZ>hiiivB7xsd40@B(v=$0s9tpy?=+g z-rwD}1M{|1_5M2BUgcTN9Cvc^zvqN5VwyFn(|Db#znq*Z??b&jNo&DfCfO6`aCaQwM9r z(j^|su#7`yP4L-L2e~?!5+hhrl5Y{ShIb;C3J0y>mY`LV6xzh4CUsrPf>JyHCeug2 z;!$&HN@U5)vj^~h9T|rLGS>KAlZ{*mOsOZdGlG800IED7=&cd-8wOBC=E*&vqTtE> z*`V0@EKuxh07bnX^nD-3=+BJ$c1ACi*KyySzPpX_Qm*bW`=j(XecNGmI!yvp3koyA zdWZ^d8x>|uyn|VwI`0G)NoM-klP~N6J%GYCpfJ2+P#E+96o%W*{0ujN!n1hkhQw(S zAh{quco?_vFiNPvRxfXZ3d41%kTOqcU=q;(c=FHR-kiKVdw$XD{`TbOi_=%mAzk^8 zLc9!7Lf)WxeeN$Eu58B--LGGtyX6rCqcBa{y75rLQ^?d6vA; zUv1%w@>N11M?s0`v9(QxLu|fhq!A})6`Y)H~3`cyND5?!mgM30ro^oNy^()H;^r|yt$VT89itVWg@ znF95(4P-#n*PE!i1yQe&$SR1sO+*Dru?`I%m%)p$7uQE*jiUaG>3l_91)Ei-)~fKr zb}8s}Xp{omUv=f7vgOi4j*@J5r8%{yu{xEmMKrK(9!@A~l9i)PnH-GAN8e$J?yDW__4wDf^KLXv0o4>yH<9rRQCYQfl5QLf@JZ9Tok1s1iF_$*2^W+zPyzZbK> zOI`;4EO{L*0v|+KgAo?VY~(0Xy2C-4E`6g8-F^;#@G-aZ?lHCd@OM<$dl&3|KlKAJ zdybC}M}z!1K0X=^N8Dd{JhD1;4p-FH&7*K!9RoJYyk}A6YA@4QU_(X6pjR%ax2RUVr@GAUW^xEhD;fYi&_r%DcY}WkcVUZ3=AF`RT5m_qOi5SMR)@|HlO>l^?o4TD@8>64fOtj_32` zHAqpKnk#-s;08^qL{d}O9X<(?g~l@w?G@2yIi#QxRgWkT&56^fx00Abs|6KI{dI6} zc%)EravI_aTBIqiVAZYt!uOQ#|NdORj(G&;G~XQF1T?i24;yCpfj&!sl@{e$G84%;UXy?dR8>jAU)_aKzocwfF2Erd z9^9nUJk1cCrmmo{{WL4qM%UNjM~y!+r#hfC2aeG;)FmXBY>cT1#~sGNcL9xmfk}Rs zP98cLZ1s()&C#q8y1WW>c`0;xDRj{)q)Xtz1(1D2qf0R=Ajf+EUZw2;)OmHN^R|RK zPk=g40(F}JjYzh5>A}8LYf!T*L+F;R4YJL$n`HFJ7KKef8VZA5LDra$2}0+~ZTsO3Q6Yw*Opw zKm3yDcb{D?Y8PGVU6sB@egB(4>pcb`Jf7bT#|^Kv>YhgLl=CvI{nasI+QUvPsZjya_C5 zGE|E1NR#pQn#{9KVled32^Y9f9r#Z?e;R=PY>aGh15(h(EcL5jWSV23?+c)B8pbRW zK~mN;yoIOh?&RsZpzzseP>6zVYH!0#0h5`n#OTYh7~LU@ne1*}Pz8a8B=y)QkC&rb#7JHJ^N-xtPT?v0q#m6gQ81m@sTiE_p?uAYNp-CF>bO>d0S) zOUZ(bzer^Db*AvkA}jDl?HPAdJn3qx8S`H}Kq@xb)9k_c6%WQwJs3arU}zOklVlCf zjQSh1a(u--o!M6wS-ttzr;3#SukSIkl{7TivW37X52P^MV$<8^R~k|kQUSG*Xj*dy zr7Ij75?+^*UGM54?qIH!`{0t56HwC(-+6j(Y6ES$x+zWUou#{GJ#}1N_#SJ6Nq5&T z5XB7(MDa1$Ox><#=oV@*@qtSdbxZPiBS{|bteJHQAh758n;(LmbKx)b*0bbGowW3~$Xv?gG_!h!C|FX6b-QMMe z>_)W0YcMFj{`h58NO{nqJJ2DjLI{T0tsV!m(MaT~WRldf;LU|dAx9(^A`nJWl|<4Y zhE%RDVvU$e$3%j`Cw1{Fdkg8o9LzO>(6A;v`}=$KlONXdG(mHp33Gl)W=0!_@z+)%WpVrvMcTyyRz*hwA`-X$`l+6XYazU|U{H5ZfJNTW?tBM0ZA%)v6X1miF*^VQ^iGt7@)S#er$mNosK_`=sPPO9`0KSFoa> zbBFU@8)qu&!RVUEIi61|XKqO>ujE8g^f`x=D)r+$_tu5?=cn~~fz5}3qGPCZw6{i} zp4_%xM9&y)toC|NzL~kXuX<`u`E%#y__UmRfVuzK8PB*4_P3mCF=q5zM#W2^UdL|k zOVdP-TMi%nrtr}(MTCYk+d7&AT3v`AX;BP+ZrEw!W^tRq_NxQ7wc*8a+#5a1+nw!wBUj@w7oGYM+KuzH>tI8~3I~}D zfPnP1X_M&z^W>|UPE{V}g0`LuVpfZZMV+Dil*QdAC+p%u7xcNoM1g$P~)=0i^&&T^!!EUNBEp*y>8_z znIhSvGiVfY_xJHuU$D}r*_zFKe&wxQH~P%)Z8G~?A~y{zh3#jkDpo>!j!fVxMe2wcg5-E1>L@ z?b5N=siVx!z0Qx%E+504lBDNw%MRgADd;KO4M%Wib?`H|<)>?xeD;h4$KmoST9k>9 zRy}%q!;#z6*Suk|>y^_wdGhqx>GyyC;q1Tv=lsX#FMj&pm#;2fzxl^MfBqM8F;wf% zg5NL0t0=yHJ6|Nrcke%Z{G(%ad;P<~(eSbH$N^S4S4OKFsuBQndK=UpbCk^lS^zpdAB9lp< zR!?Xyxbax&uBMa8z?|+ogP!THR@&4V^i2;g2wXs%b7?qN?90VTqJ_GVUt{5#2-njb z5icns(uH^u5l$!N_V9+ayW6kZWpbH*Z~0q)LvhYBmFJPY0)-E*Ljv|z?YHtRi1`WV zY&$@@LN&X2V9}`^&ptTt=+5+()8c#6`51V*J~IrS%82iL1)A=7wxL(AK&FBZYOqj~ zI95aYxiNh=x|_E88Jdn^x*HpW%8b%a&E!%4yWYW!KjsVE`NCRa>z`)8%K#wZ!wV4A zytg1LfB|58#^ku^`KV)un+Ps95ipLk2w(=vKJn?Fkp9V2J2eeWzJ))EqXTY9)Y3-& zNb=2OHXe6ZJ_x*S4``;E5So_J`Jfp4-F{~kQe|;nMYG?;MNN1g7u@NP!hXqN^weFDz$etN0!~MPQz{UrAGO`_O7otaU6)h z^C`g6vhgLb3ElQ|0mH*dEA7MX-pf5zeQ&ZN_nWaDCk~;dQum&!s%dcX z;6LM;-%Mr(K0XuA9MzwoNAJ;DzgkhKuxC^bD!loOY&Sx-9`CFlFWceHb85u!343%Z zIo$8RS=A0DK7FqW@AncdoU~YqCkqfpQ8TNrln9va1oMc?P53foxk)Jgj%v zAwvSJu?h8MIG@%Se}uQ>-YGpo1MyE5k__f|+>3 zt$x~J8swtm98HVm*d{#^lAO@6LE)Jmx6or!@A1+{+(Cya!8JVhj*leN!Yk4XFoUUv zgwR5*5xjy{aoMtz6~_214Mlkno6J>@IWZYAWl%EkY(PI<<$k5ns~kli5hd#d04m|K z!Apjh9bCo>sq(d*mR9Iwf$~FJZLs7O3|r-SXOrg{eS-e}SR$8V#WoCR`h^KDZUhvU z;ls%oN1}RZGb?XUZ&Gg3Jxl1eL1=R_#AgQBLT_TxYY?lGYUz7d@0&Hpl9gl8z~IH9 zOf7N^S~W^7T|d^l+QZO;c`Isg1}h4>;h8XmWKn3OZ(@rw5Z%7h1HWu^em8g{rtPIrrqVSyNG|zD2zHm4To9} zM&BN&FP$cr;=qm_vh$7u|34g9p+4nlj0Tt?r|@5V);S=Nf`*5H7Cajb&~RQ>S+bgq z`+N8gsDB6b8AgnuK58<{rN;T|5^F63eRKhdvqt*p)JQk#GX69|RasM%Wi?1?0w?&b z=wJpLQO41stA^<$UgC~yY1UgFzAQJ(W9%%XL|Z6{wzx#1SvD&iUfW=8inJ6BR%*n3 zTFb#{gKv3WixVhsyWCMYf`b|1VQHfkqScJ?efp5ao8zHeF6r^hPVJ8kVpi8(O)`KE zf|VtM%kH^1We1_i%++u4F5RzIV>%?dwjN+}k!+D?|Re*htS-Vpv zW?V6^prIoM44ZGfh&f_94Sed#Bwzr`;zQt%KD*a9S0mrkT_UUlhJ#zV0b`(;)i*Dc z96~pkJE}}0nYn`Lr22o%FO2=JFn&F9a{s8;^r?WM{E(I4he|^Jwci5pK0bm$5W&fT z9}1wcm~&ls*c6y80GQj!soH??V)l(67sF(|-R{THEGq3bVr@6^bQwzS&9|FmnLg}! zw2s4`?_pxKzAtENAppkV<4Z28X9AeSX#jrh?4+JT;Cd;reB!1lvmLagk?(;ynJitw z_{$c8XTb<@gdZf0LuidHE{ZKn*t8{#r^7fAb zI`6r6zfP-z5Ee?Ci&_%9*3Y6|7KVe#c($l&zt3?+UR!HK@FOR!j-oRaLMm6$39r4i zpQu#VM_C8EZrCc%kt!%(mVlZhvIOi~m4RAdQHVKwEEc+Gx`II8mX6oL3PRSC&9>rU z9ryd{?=b#}4+al2`z5<~_VNA0avwWny~P>Rur;DtweyhO z@EZ)soo6;?Wt_zKa1S!Y*$)Ly{p*iBukJx{QO~>@R)lewrdfVH0uWI$eBAjD=)*l# HLZtuzCr#_| diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index a93b6eb..4476445 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":88, -"mappings":"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", +"lineCount":89, +"mappings":"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", "sources":["dist\\ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","utf8_decode_char","bb","start","a","b","c","d","getUint8","codePoint","utf8_calc_char","utf8_calc_string","str","cp","n","i","length","charCodeAt","codePointAt","utf8_encode_char","setUint8","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","Error","from28Bits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","capacity12","readCString","ByteBuffer.prototype.readCString","out","push","String","fromCodePoint","apply","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","console","log","bind","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","fromCharCode","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","codeUnits","highSurrogate","lowSurrogate","index","arguments","result","Number","floor","MAX_SIZE","stringFromCharCode","defineProperty","object","$defineProperty","error","Math","position","string","first","second","ByteBuffer.prototype.toUTF8","ByteBuffer.fromUTF8","module","require","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 0fcf1db..d200aa4 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -48,11 +48,11 @@ module.exports = (function() { if (!noAssert) { capacity = capacity | 0; if (capacity < 0) - throw(new RangeError("Illegal capacity: 0 <= "+capacity)); + throw new RangeError("Illegal capacity: 0 <= "+capacity); if (typeof littleEndian !== 'boolean') - throw(new TypeError("Illegal littleEndian: Not a boolean")); + throw new TypeError("Illegal littleEndian: Not a boolean"); if (typeof noAssert !== 'boolean') - throw(new TypeError("Illegal noAssert: Not a boolean")); + throw new TypeError("Illegal noAssert: Not a boolean"); } /** @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.0.2"; + ByteBuffer.VERSION = "3.0.3"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -272,11 +272,11 @@ module.exports = (function() { case "debug": return ByteBuffer.fromDebug(buffer, littleEndian); default: - throw(new TypeError("Unsupported encoding: "+encoding)); + throw new TypeError("Unsupported encoding: "+encoding); } } if (buffer === null || typeof buffer !== 'object') - throw(new TypeError("Illegal buffer: null or non-object")); + throw new TypeError("Illegal buffer: null or non-object"); var bb; if (ByteBuffer.isByteBuffer(buffer)) { bb = ByteBuffer.prototype.clone.call(buffer); @@ -308,7 +308,7 @@ module.exports = (function() { buffer = b; } else if (!(buffer instanceof Buffer)) { // Create from octets if it is an error, otherwise fail if (Object.prototype.toString.call(buffer) !== "[object Array]") - throw(new TypeError("Illegal buffer")); + throw new TypeError("Illegal buffer"); buffer = new Buffer(buffer); } bb = new ByteBuffer(0, littleEndian, noAssert); @@ -333,13 +333,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 1; var capacity0 = this.buffer.length; @@ -372,10 +372,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var value = this.buffer[offset]; if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed @@ -404,13 +404,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 1; var capacity1 = this.buffer.length; @@ -433,10 +433,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var value = this.buffer[offset]; if (relative) this.offset += 1; @@ -458,13 +458,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 2; var capacity2 = this.buffer.length; @@ -506,10 +506,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -548,13 +548,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 2; var capacity3 = this.buffer.length; @@ -585,10 +585,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -615,13 +615,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 4; var capacity4 = this.buffer.length; @@ -662,10 +662,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -703,13 +703,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 4; var capacity5 = this.buffer.length; @@ -742,10 +742,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -781,12 +781,12 @@ module.exports = (function() { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -842,10 +842,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); } var lo = 0, hi = 0; @@ -897,12 +897,12 @@ module.exports = (function() { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -949,10 +949,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); } var lo = 0, hi = 0; @@ -999,12 +999,12 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw(new TypeError("Illegal value: "+value+" (not a number)")); + throw new TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 4; var capacity8 = this.buffer.length; @@ -1039,10 +1039,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var value = this.littleEndian ? this.buffer.readFloatLE(offset, true) @@ -1074,12 +1074,12 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw(new TypeError("Illegal value: "+value+" (not a number)")); + throw new TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 8; var capacity9 = this.buffer.length; @@ -1114,10 +1114,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); } var value = this.littleEndian ? this.buffer.readDoubleLE(offset, true) @@ -1195,13 +1195,13 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var size = ByteBuffer.calculateVarint32(value), b; @@ -1274,10 +1274,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } // ref: src/google/protobuf/io/coded_stream.cc var size = 0, @@ -1402,12 +1402,12 @@ module.exports = (function() { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (typeof value === 'number') value = Long.fromNumber(value, false); @@ -1467,10 +1467,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } // ref: src/google/protobuf/io/coded_stream.cc var start = offset, @@ -1488,7 +1488,7 @@ module.exports = (function() { b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw(new Error("Data must be corrupt: Buffer overrun")); }}}}}}}}}} + throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} var value = Long.from28Bits(part0, part1, part2, false); if (relative) { this.offset = offset; @@ -1540,16 +1540,16 @@ module.exports = (function() { k = str.length; if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: @@ -1585,17 +1585,17 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var start = offset, temp; // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: do { if (offset >= this.buffer.length) - throw(new RangeError("Index out of range: "+offset+" <= "+this.buffer.length)); + throw new RangeError("Index out of range: "+offset+" <= "+this.buffer.length); temp = this.buffer[offset++]; } while (temp !== 0); var str = this.buffer.slice(start, offset-1).toString("utf8"); @@ -1626,12 +1626,12 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, k; @@ -1677,10 +1677,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var temp = 0, start = offset, @@ -1698,7 +1698,7 @@ module.exports = (function() { } offset += 4; if (offset + temp > this.buffer.length) - throw(new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length)); + throw new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); str = this.buffer.slice(offset, offset + temp).toString("utf8"); offset += temp; if (relative) { @@ -1742,10 +1742,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var k; var buffer = new Buffer(str, 'utf8'); @@ -1806,7 +1806,7 @@ module.exports = (function() { /** * Reads an UTF8 encoded string. * @param {number} length Number of characters or bytes to read. - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to * {@link ByteBuffer.METRICS_CHARS}. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * read if omitted. @@ -1824,13 +1824,13 @@ module.exports = (function() { if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw(new TypeError("Illegal length: "+length+" (not an integer)")); + throw new TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var out, i = 0, @@ -1856,10 +1856,10 @@ module.exports = (function() { } else if (metrics === ByteBuffer.METRICS_BYTES) { if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); } temp = this.buffer.slice(offset, offset+length).toString("utf8"); if (relative) { @@ -1872,7 +1872,7 @@ module.exports = (function() { }; } } else - throw(new TypeError("Unsupported metrics: "+metrics)); + throw new TypeError("Unsupported metrics: "+metrics); }; /** @@ -1905,12 +1905,12 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, k, l; @@ -1946,10 +1946,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var temp = this.readVarint32(offset), start = offset, @@ -1957,7 +1957,7 @@ module.exports = (function() { offset += temp['length']; temp = temp['value']; if (offset + temp > this.buffer.length) - throw(new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length)); + throw new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); str = this.buffer.slice(offset, offset + temp).toString("utf8"); offset += temp; if (relative) { @@ -1994,10 +1994,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -2099,13 +2099,13 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin === 0 && end === this.buffer.length) return this; // Already compacted @@ -2139,13 +2139,13 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin === end) return new ByteBuffer(0, this.littleEndian, this.noAssert); @@ -2175,16 +2175,16 @@ module.exports = (function() { targetRelative; if (!this.noAssert) { if (!ByteBuffer.isByteBuffer(target)) - throw(new TypeError("Illegal target: Not a ByteBuffer")); + throw new TypeError("Illegal target: Not a ByteBuffer"); } targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; if (targetOffset < 0 || targetOffset > target.buffer.length) - throw(new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.length)); + throw new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.length); if (sourceOffset < 0 || sourceLimit > this.buffer.length) - throw(new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.length)); + throw new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.length); var len = sourceLimit - sourceOffset; if (len === 0) @@ -2235,16 +2235,16 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+value+" (not an integer)")); + throw new TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin >= end) return this; // Nothing to fill this.buffer.fill(value, begin, end); @@ -2279,10 +2279,10 @@ module.exports = (function() { offset = typeof offset === 'undefined' ? this.offset : offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } this.markedOffset = offset; return this; @@ -2296,7 +2296,7 @@ module.exports = (function() { ByteBuffer.prototype.order = function(littleEndian) { if (!this.noAssert) { if (typeof littleEndian !== 'boolean') - throw(new TypeError("Illegal littleEndian: Not a boolean")); + throw new TypeError("Illegal littleEndian: Not a boolean"); } this.littleEndian = !!littleEndian; return this; @@ -2346,10 +2346,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw(new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length)); + throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -2438,10 +2438,10 @@ module.exports = (function() { ByteBuffer.prototype.resize = function(capacity) { if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) - throw(new TypeError("Illegal capacity: "+capacity+" (not an integer)")); + throw new TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; if (capacity < 0) - throw(new RangeError("Illegal capacity: 0 <= "+capacity)); + throw new RangeError("Illegal capacity: 0 <= "+capacity); } if (this.buffer.length < capacity) { var buffer = new Buffer(capacity); @@ -2462,13 +2462,13 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin === end) return this; // Nothing to reverse @@ -2484,13 +2484,13 @@ module.exports = (function() { ByteBuffer.prototype.skip = function(length) { if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw(new TypeError("Illegal length: "+length+" (not an integer)")); + throw new TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; } var offset = this.offset + length; if (!this.noAssert) { if (offset < 0 || offset > this.buffer.length) - throw(new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.length)); + throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.length); } this.offset = offset; return this; @@ -2508,13 +2508,13 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } var bb = this.clone(); bb.offset = begin; @@ -2540,13 +2540,13 @@ module.exports = (function() { } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: Not an integer")); + throw new TypeError("Illegal offset: Not an integer"); offset >>>= 0; if (typeof limit !== 'number' || limit % 1 !== 0) - throw(new TypeError("Illegal limit: Not an integer")); + throw new TypeError("Illegal limit: Not an integer"); limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); } if (forceCopy) { var buffer = new Buffer(limit - offset); @@ -2577,13 +2577,13 @@ module.exports = (function() { } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: Not an integer")); + throw new TypeError("Illegal offset: Not an integer"); offset >>>= 0; if (typeof limit !== 'number' || limit % 1 !== 0) - throw(new TypeError("Illegal limit: Not an integer")); + throw new TypeError("Illegal limit: Not an integer"); limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); } var ab = new ArrayBuffer(limit - offset); if (memcpy) { // Fast @@ -2624,7 +2624,7 @@ module.exports = (function() { case "columns": return this.toColumns(); default: - throw(new Error("Unsupported encoding: "+encoding)); + throw new Error("Unsupported encoding: "+encoding); } }; @@ -2642,13 +2642,13 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.slice(begin, end).toString("base64"); }; @@ -2666,9 +2666,9 @@ module.exports = (function() { ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + throw new TypeError("Illegal str: Not a string"); if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); + throw new TypeError("Illegal str: Length not a multiple of 4"); } var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, "base64"); @@ -2724,13 +2724,13 @@ module.exports = (function() { end = typeof end === 'undefined' ? this.limit : end; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.slice(begin, end).toString("binary"); }; @@ -2748,7 +2748,7 @@ module.exports = (function() { ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); } var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, 'binary'); @@ -2918,19 +2918,19 @@ module.exports = (function() { b = parseInt(ch+str.charAt(i++), 16); if (!noAssert) { if (isNaN(b) || b < 0 || b > 255) - throw(new TypeError("Illegal str: Not a debug encoded string")); + throw new TypeError("Illegal str: Not a debug encoded string"); } bb.buffer[j++] = b; rs = true; } if (fail) - throw(new TypeError("Illegal str: Invalid symbol at "+i)); + throw new TypeError("Illegal str: Invalid symbol at "+i); } if (!noAssert) { if (!ho || !hl) - throw(new TypeError("Illegal str: Missing offset or limit")); + throw new TypeError("Illegal str: Missing offset or limit"); if (j>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.slice(begin, end).toString("hex"); }; @@ -2973,9 +2973,9 @@ module.exports = (function() { ByteBuffer.fromHex = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); if (str.length % 2 !== 0) - throw(new TypeError("Illegal str: Length not a multiple of 2")); + throw new TypeError("Illegal str: Length not a multiple of 2"); } var bb = new ByteBuffer(0, littleEndian, true); bb.buffer = new Buffer(str, "hex"); @@ -2998,30 +2998,30 @@ module.exports = (function() { a, b, c, d, codePoint; if (offset+1 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); a = bb.buffer[offset++]; if ((a&0x80) === 0) { codePoint = a; } else if ((a&0xE0) === 0xC0) { if (offset+1 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); b = bb.buffer[offset++]; codePoint = ((a&0x1F)<<6) | (b&0x3F); } else if ((a&0xF0) === 0xE0) { if (offset+2 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 2 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 2 <= "+bb.buffer.length); b = bb.buffer[offset++]; c = bb.buffer[offset++]; codePoint = ((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F); } else if ((a&0xF8) === 0xF0) { if (offset+3 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 3 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 3 <= "+bb.buffer.length); b = bb.buffer[offset++]; c = bb.buffer[offset++]; d = bb.buffer[offset++]; codePoint = ((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F); } else - throw RangeError("Illegal code point at offset "+offset+": "+a); + throw new RangeError("Illegal code point at offset "+offset+": "+a); return { 'codePoint': codePoint, 'length': offset - start @@ -3037,12 +3037,12 @@ module.exports = (function() { */ function utf8_calc_char(codePoint) { if (codePoint < 0) - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); if (codePoint < 0x80) return 1; else if (codePoint < 0x800) return 2; else if (codePoint < 0x10000) return 3; else if (codePoint < 0x110000) return 4; - else throw RangeError("Illegal code point: "+codePoint); + else throw new RangeError("Illegal code point: "+codePoint); } /** @@ -3078,13 +3078,13 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: Not an integer")); + throw new TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: Not an integer")); + throw new TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw(new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length)); + throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.slice(begin, end).toString("utf8"); }; @@ -3102,7 +3102,7 @@ module.exports = (function() { ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); } var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, "utf8"); diff --git a/docs/ByteBuffer.html b/docs/ByteBuffer.html index cf8e290..88fd764 100644 --- a/docs/ByteBuffer.html +++ b/docs/ByteBuffer.html @@ -10007,7 +10007,7 @@
Parameters:
-number +string @@ -10025,7 +10025,7 @@
Parameters:
-

Metrics specifying what n is meant to count. Defaults to +

Metrics specifying what length is meant to count. Defaults to ByteBuffer.METRICS_CHARS.

diff --git a/package.json b/package.json index 621af24..84c4cb6 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { "name": "bytebuffer", - "version": "3.0.2", + "version": "3.0.3", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", - "main": "ByteBuffer.js", + "main": "index.js", + "browser": "dist/ByteBufferAB.js", "repository": { "type": "git", "url": "https://github.com/dcodeIO/ByteBuffer.js.git" diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index ad261cb..e08fcd4 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -18,11 +18,11 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { if (!noAssert) { capacity = capacity | 0; if (capacity < 0) - throw(new RangeError("Illegal capacity: 0 <= "+capacity)); + throw new RangeError("Illegal capacity: 0 <= "+capacity); if (typeof littleEndian !== 'boolean') - throw(new TypeError("Illegal littleEndian: Not a boolean")); + throw new TypeError("Illegal littleEndian: Not a boolean"); if (typeof noAssert !== 'boolean') - throw(new TypeError("Illegal noAssert: Not a boolean")); + throw new TypeError("Illegal noAssert: Not a boolean"); } //? if (NODE) { diff --git a/src/encodings/base64.js b/src/encodings/base64.js index 29555a0..fd67ed3 100644 --- a/src/encodings/base64.js +++ b/src/encodings/base64.js @@ -63,9 +63,9 @@ ByteBuffer.prototype.toBase64 = function(begin, end) { ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + throw new TypeError("Illegal str: Not a string"); if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); + throw new TypeError("Illegal str: Length not a multiple of 4"); } //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); @@ -82,7 +82,7 @@ ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { else break; } if (suffix > 2) - throw TypeError("Illegal str: Suffix is too large"); + throw new TypeError("Illegal str: Suffix is too large"); if (len === 0) return new ByteBuffer(0, littleEndian, noAssert); var b1, b2, b3, b4, // input bytes @@ -95,7 +95,7 @@ ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { b4 = (h4 = i < len) ? B64.indexOf(str.charAt(i++)) : 0; if (!noAssert) { if (b1 < 0 || b2 < 0 || b3 < 0 || b4 < 0) - throw TypeError("Illegal str: Contains non-base64 characters"); + throw new TypeError("Illegal str: Contains non-base64 characters"); } bb.view.setUint8(j++, (b1 << 2) | (b2 >> 4)); if (b3 !== 64) { diff --git a/src/encodings/binary.js b/src/encodings/binary.js index bf0c50d..ec8d072 100644 --- a/src/encodings/binary.js +++ b/src/encodings/binary.js @@ -55,7 +55,7 @@ ByteBuffer.prototype.toBinary = function(begin, end) { ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); } //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); @@ -70,7 +70,7 @@ ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { while (i 255) - throw(new TypeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255")); + throw new TypeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); //? if (NODE) bb.buffer[i++] = charCode; //? else diff --git a/src/encodings/debug.js b/src/encodings/debug.js index 13340f7..ade9c67 100644 --- a/src/encodings/debug.js +++ b/src/encodings/debug.js @@ -173,7 +173,7 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { b = parseInt(ch+str.charAt(i++), 16); if (!noAssert) { if (isNaN(b) || b < 0 || b > 255) - throw(new TypeError("Illegal str: Not a debug encoded string")); + throw new TypeError("Illegal str: Not a debug encoded string"); } //? if (NODE) bb.buffer[j++] = b; @@ -182,16 +182,16 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { rs = true; } if (fail) - throw(new TypeError("Illegal str: Invalid symbol at "+i)); + throw new TypeError("Illegal str: Invalid symbol at "+i); } if (!noAssert) { if (!ho || !hl) - throw(new TypeError("Illegal str: Missing offset or limit")); + throw new TypeError("Illegal str: Missing offset or limit"); //? if (NODE) if (j 255) - throw(new TypeError("Illegal str: Contains non-hex characters")); + throw new TypeError("Illegal str: Contains non-hex characters"); } bb.view.setUint8(j++, b); } diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index 9347482..8875dbe 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -28,7 +28,7 @@ ByteBuffer.prototype.toUTF8 = function(begin, end) { } if (!this.noAssert) { if (begin !== end) - throw(new RangeError("Illegal range: Truncated data")); + throw new RangeError("Illegal range: Truncated data"); } return String.fromCodePoint.apply(String, out); //? } @@ -47,7 +47,7 @@ ByteBuffer.prototype.toUTF8 = function(begin, end) { ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); } //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); diff --git a/src/encodings/utf8/codepoint.js b/src/encodings/utf8/codepoint.js index cd53816..110b1e6 100644 --- a/src/encodings/utf8/codepoint.js +++ b/src/encodings/utf8/codepoint.js @@ -33,7 +33,7 @@ if (!String.fromCodePoint) { codePoint > 0x10FFFF || // not a valid Unicode code point floor(codePoint) != codePoint // not an integer ) { - throw RangeError('Invalid code point: ' + codePoint); + throw new RangeError('Invalid code point: ' + codePoint); } if (codePoint <= 0xFFFF) { // BMP code point codeUnits.push(codePoint); @@ -68,8 +68,8 @@ if (!String.prototype.codePointAt) { (function() { 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` var codePointAt = function(position) { - if (this == null) { - throw TypeError(); + if (this === null) { + throw new TypeError(); } var string = String(this); var size = string.length; diff --git a/src/encodings/utf8/native.js b/src/encodings/utf8/native.js index 1ee9988..f590c73 100644 --- a/src/encodings/utf8/native.js +++ b/src/encodings/utf8/native.js @@ -14,7 +14,7 @@ function utf8_decode_char(bb, offset) { //? // Also required for node to extract codePoint; //? if (NODE) { if (offset+1 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); a = bb.buffer[offset++]; //? } else { a = bb.view.getUint8(offset++); @@ -24,7 +24,7 @@ function utf8_decode_char(bb, offset) { //? // Also required for node to extract } else if ((a&0xE0) === 0xC0) { //? if (NODE) { if (offset+1 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); b = bb.buffer[offset++]; //? } else { // getUint8 asserts on its own b = bb.view.getUint8(offset++); @@ -33,7 +33,7 @@ function utf8_decode_char(bb, offset) { //? // Also required for node to extract } else if ((a&0xF0) === 0xE0) { //? if (NODE) { if (offset+2 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 2 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 2 <= "+bb.buffer.length); b = bb.buffer[offset++]; c = bb.buffer[offset++]; //? } else { @@ -44,7 +44,7 @@ function utf8_decode_char(bb, offset) { //? // Also required for node to extract } else if ((a&0xF8) === 0xF0) { //? if (NODE) { if (offset+3 > bb.buffer.length) - throw RangeError("Index out of range: "+offset+" + 3 <= "+bb.buffer.length); + throw new RangeError("Index out of range: "+offset+" + 3 <= "+bb.buffer.length); b = bb.buffer[offset++]; c = bb.buffer[offset++]; d = bb.buffer[offset++]; @@ -55,7 +55,7 @@ function utf8_decode_char(bb, offset) { //? // Also required for node to extract //? } codePoint = ((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F); } else - throw RangeError("Illegal code point at offset "+offset+": "+a); + throw new RangeError("Illegal code point at offset "+offset+": "+a); return { 'codePoint': codePoint, 'length': offset - start @@ -71,12 +71,12 @@ function utf8_decode_char(bb, offset) { //? // Also required for node to extract */ function utf8_calc_char(codePoint) { if (codePoint < 0) - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); if (codePoint < 0x80) return 1; else if (codePoint < 0x800) return 2; else if (codePoint < 0x10000) return 3; else if (codePoint < 0x110000) return 4; - else throw RangeError("Illegal code point: "+codePoint); + else throw new RangeError("Illegal code point: "+codePoint); } /** @@ -112,7 +112,7 @@ function utf8_calc_string(str) { function utf8_encode_char(codePoint, bb, offset) { var start = offset; if (codePoint < 0) - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); //? // ByteBufferAB only, meta not necessary. if (codePoint < 0x80) { bb.view.setUint8(offset++, codePoint &0x7F) ; @@ -129,7 +129,7 @@ function utf8_encode_char(codePoint, bb, offset) { bb.view.setUint8(offset++, ((codePoint>>6 )&0x3F)|0x80); bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); } else - throw RangeError("Illegal code point: "+codePoint); + throw new RangeError("Illegal code point: "+codePoint); return offset - start; } diff --git a/src/helpers.js b/src/helpers.js index 75b4450..46ac8be 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -26,7 +26,7 @@ var EMPTY_BUFFER = new ArrayBuffer(0); */ function assertInteger(value, unsigned) { if (typeof value !== 'number' || value % 1 !== 0) - throw(new TypeError("Illegal value: "+offset+" (not an integer)")); + throw new TypeError("Illegal value: "+offset+" (not an integer)"); return unsigned ? value >>> 0 : value | 0; } @@ -48,7 +48,7 @@ function assertLong(value, unsigned) { } return value; } else - throw(new TypeError("Illegal value: "+value+" (not an integer or Long)")); + throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); } /** @@ -64,10 +64,10 @@ function assertLong(value, unsigned) { */ function assertOffset(offset, min, cap, size) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw(new TypeError("Illegal offset: "+offset+" (not an integer)")); + throw new TypeError("Illegal offset: "+offset+" (not an integer)"); offset = offset | 0; if (offset < min || offset > cap-size) - throw(new RangeError("Illegal offset: "+min+" <= "+value+" <= "+cap+"-"+size)); + throw new RangeError("Illegal offset: "+min+" <= "+value+" <= "+cap+"-"+size); return offset; } @@ -89,13 +89,13 @@ var rangeVal = new Array(2); */ function assertRange(begin, end, min, cap) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw(new TypeError("Illegal begin: "+begin+" (not a number)")); + throw new TypeError("Illegal begin: "+begin+" (not a number)"); begin = begin | 0; if (typeof end !== 'number' || end % 1 !== 0) - throw(new TypeError("Illegal end: "+range[1]+" (not a number)")); + throw new TypeError("Illegal end: "+range[1]+" (not a number)"); end = end | 0; if (begin < min || begin > end || end > cap) - throw(new RangeError("Illegal range: "+min+" <= "+begin+" <= "+end+" <= "+cap)); + throw new RangeError("Illegal range: "+min+" <= "+begin+" <= "+end+" <= "+cap); rangeVal[0] = begin; rangeVal[1] = end; } //? } diff --git a/src/macros.js b/src/macros.js index 7bc1995..a2f024f 100644 --- a/src/macros.js +++ b/src/macros.js @@ -9,7 +9,7 @@ ASSERT_INTEGER = function(varValue, unsigned) { if (VERBOSE_MS) writeln(__+'// '); if (INLINE) { writeln(__+'if (typeof '+varValue+' !== \'number\' || '+varValue+' % 1 !== 0)'); - writeln(__+' throw(new TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer)"));'); + writeln(__+' throw new TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer)");'); writeln(__+varValue+' '+(unsigned ? '>>>' : '|')+'= 0;'); } else { writeln(__+varValue+' = assertInteger('+varValue+(typeof unsigned !== 'undefined' ? ', '+unsigned : '')+');'); @@ -35,7 +35,7 @@ ASSERT_LONG = function(varValue, unsigned) { } else { writeln(__+'else if (!('+varValue+' && '+varValue+' instanceof Long))'); } - writeln(__+' throw(new TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer or Long)"));'); + writeln(__+' throw new TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer or Long)");'); } else { writeln(__+varValue+' = assertLong('+varValue+(typeof unsigned !== 'undefined' ? ', '+unsigned : '')+');'); } @@ -61,10 +61,10 @@ ASSERT_OFFSET = function(size, varOffset) { if (VERBOSE_MS) writeln(__+'// '); if (INLINE) { writeln(__+'if (typeof '+varOffset+' !== \'number\' || '+varOffset+' % 1 !== 0)'); - writeln(__+' throw(new TypeError("Illegal '+varOffset+': "+'+varOffset+'+" (not an integer)"));'); + writeln(__+' throw new TypeError("Illegal '+varOffset+': "+'+varOffset+'+" (not an integer)");'); writeln(__+varOffset+' >>>= 0;'); writeln(__+'if ('+varOffset+' < 0 || '+varOffset+' + '+size+' > '+CAPACITY+')'); - writeln(__+' throw(new RangeError("Illegal '+varOffset+': 0 <= "+'+varOffset+'+" (+"+'+size+'+") <= "+'+CAPACITY+'));'); + writeln(__+' throw new RangeError("Illegal '+varOffset+': 0 <= "+'+varOffset+'+" (+"+'+size+'+") <= "+'+CAPACITY+');'); } else { writeln(__+varOffset+' = assertOffset('+varOffset+', 0, '+CAPACITY+', '+size+');'); } @@ -78,13 +78,13 @@ ASSERT_RANGE = function(varBegin, varEnd) { if (VERBOSE_MS) writeln(__+'// '); if (INLINE) { writeln(__+'if (typeof '+varBegin+' !== \'number\' || '+varBegin+' % 1 !== 0)'); - writeln(__+' throw(new TypeError("Illegal '+varBegin+': Not an integer"));'); + writeln(__+' throw new TypeError("Illegal '+varBegin+': Not an integer");'); writeln(__+varBegin+' >>>= 0;'); writeln(__+'if (typeof '+varEnd+' !== \'number\' || '+varEnd+' % 1 !== 0)'); - writeln(__+' throw(new TypeError("Illegal '+varEnd+': Not an integer"));'); + writeln(__+' throw new TypeError("Illegal '+varEnd+': Not an integer");'); writeln(__+varEnd+' >>>= 0;'); writeln(__+'if ('+varBegin+' < 0 || '+varBegin+' > '+varEnd+' || '+varEnd+' > '+CAPACITY+')'); - writeln(__+' throw(new RangeError("Illegal range: 0 <= "+'+varBegin+'+" <= "+'+varEnd+'+" <= "+'+CAPACITY+'));'); + writeln(__+' throw new RangeError("Illegal range: 0 <= "+'+varBegin+'+" <= "+'+varEnd+'+" <= "+'+CAPACITY+');'); } else { writeln(__+'assertRange('+varBegin+', '+varEnd+', 0, '+CAPACITY+');'); writeln(__+varBegin+' = rangeVal[0]; '+varEnd+' = rangeVal[1];'); diff --git a/src/methods/copy.js b/src/methods/copy.js index 6bb51fc..5f57f8e 100644 --- a/src/methods/copy.js +++ b/src/methods/copy.js @@ -40,7 +40,7 @@ ByteBuffer.prototype.copyTo = function(target, targetOffset, sourceOffset, sourc targetRelative; if (!this.noAssert) { if (!ByteBuffer.isByteBuffer(target)) - throw(new TypeError("Illegal target: Not a ByteBuffer")); + throw new TypeError("Illegal target: Not a ByteBuffer"); } targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; @@ -48,9 +48,9 @@ ByteBuffer.prototype.copyTo = function(target, targetOffset, sourceOffset, sourc //? var TARGET_CAPACITY = NODE ? 'target.buffer.length' : 'target.buffer.byteLength'; if (targetOffset < 0 || targetOffset > /*?= TARGET_CAPACITY */) - throw(new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+/*?= TARGET_CAPACITY */)); + throw new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+/*?= TARGET_CAPACITY */); if (sourceOffset < 0 || sourceLimit > /*?= CAPACITY */) - throw(new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+/*?= CAPACITY */)); + throw new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+/*?= CAPACITY */); var len = sourceLimit - sourceOffset; if (len === 0) diff --git a/src/methods/order.js b/src/methods/order.js index 1b9b8a1..d00baf9 100644 --- a/src/methods/order.js +++ b/src/methods/order.js @@ -7,7 +7,7 @@ ByteBuffer.prototype.order = function(littleEndian) { if (!this.noAssert) { if (typeof littleEndian !== 'boolean') - throw(new TypeError("Illegal littleEndian: Not a boolean")); + throw new TypeError("Illegal littleEndian: Not a boolean"); } this.littleEndian = !!littleEndian; return this; diff --git a/src/methods/resize.js b/src/methods/resize.js index f37b56e..d922ac1 100644 --- a/src/methods/resize.js +++ b/src/methods/resize.js @@ -11,7 +11,7 @@ ByteBuffer.prototype.resize = function(capacity) { if (!this.noAssert) { //? ASSERT_INTEGER('capacity'); if (capacity < 0) - throw(new RangeError("Illegal capacity: 0 <= "+capacity)); + throw new RangeError("Illegal capacity: 0 <= "+capacity); } //? if (NODE) { if (this.buffer.length < capacity) { diff --git a/src/methods/skip.js b/src/methods/skip.js index 9e63e0c..f9182c4 100644 --- a/src/methods/skip.js +++ b/src/methods/skip.js @@ -11,7 +11,7 @@ ByteBuffer.prototype.skip = function(length) { var offset = this.offset + length; if (!this.noAssert) { if (offset < 0 || offset > /*?= CAPACITY */) - throw(new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+/*?= CAPACITY */)); + throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+/*?= CAPACITY */); } this.offset = offset; return this; diff --git a/src/methods/static/wrap.js b/src/methods/static/wrap.js index 110de71..8af19f6 100644 --- a/src/methods/static/wrap.js +++ b/src/methods/static/wrap.js @@ -41,11 +41,11 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { return ByteBuffer.fromDebug(buffer, littleEndian); //? } default: - throw(new TypeError("Unsupported encoding: "+encoding)); + throw new TypeError("Unsupported encoding: "+encoding); } } if (buffer === null || typeof buffer !== 'object') - throw(new TypeError("Illegal buffer: null or non-object")); + throw new TypeError("Illegal buffer: null or non-object"); var bb; if (ByteBuffer.isByteBuffer(buffer)) { bb = ByteBuffer.prototype.clone.call(buffer); @@ -78,7 +78,7 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { buffer = b; } else if (!(buffer instanceof Buffer)) { // Create from octets if it is an error, otherwise fail if (Object.prototype.toString.call(buffer) !== "[object Array]") - throw(new TypeError("Illegal buffer")); + throw new TypeError("Illegal buffer"); buffer = new Buffer(buffer); } bb = new ByteBuffer(0, littleEndian, noAssert); @@ -111,7 +111,7 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { for (i=0; i= this.buffer.length) - throw(new RangeError("Index out of range: "+offset+" <= "+this.buffer.length)); + throw new RangeError("Index out of range: "+offset+" <= "+this.buffer.length); temp = this.buffer[offset++]; } while (temp !== 0); var str = this.buffer.slice(start, offset-1).toString("utf8"); diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index d2fe3dc..adecda4 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -14,7 +14,7 @@ ByteBuffer.prototype.writeIString = function(str, offset) { //? RELATIVE(); if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); //? ASSERT_OFFSET(); } var start = offset, @@ -70,7 +70,7 @@ ByteBuffer.prototype.readIString = function(offset) { //? READ_UINT32_ARRAY('temp'); offset += 4; if (offset + temp > this.buffer.length) - throw(new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length)); + throw new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); str = this.buffer.slice(offset, offset + temp).toString("utf8"); offset += temp; //? } else { diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index e6c7f1d..326753c 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -106,7 +106,7 @@ ByteBuffer.calculateUTF8Bytes = utf8_calc_string; /** * Reads an UTF8 encoded string. * @param {number} length Number of characters or bytes to read. - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to * {@link ByteBuffer.METRICS_CHARS}. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * read if omitted. @@ -170,7 +170,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { out.push(temp['codePoint']); } if (offset !== k) - throw(new RangeError("Illegal range: Truncated character at "+k)); + throw new RangeError("Illegal range: Truncated character at "+k); if (relative) { this.offset = offset; return String.fromCodePoint.apply(String, out); @@ -182,7 +182,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { } //? } } else - throw(new TypeError("Unsupported metrics: "+metrics)); + throw new TypeError("Unsupported metrics: "+metrics); }; //? if (ALIASES) { diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index 85e6037..acfe9a7 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -14,7 +14,7 @@ ByteBuffer.prototype.writeVString = function(str, offset) { //? RELATIVE() if (!this.noAssert) { if (typeof str !== 'string') - throw(new TypeError("Illegal str: Not a string")); + throw new TypeError("Illegal str: Not a string"); //? ASSERT_OFFSET(); } var start = offset, @@ -70,7 +70,7 @@ ByteBuffer.prototype.readVString = function(offset) { temp = temp['value']; //? if (NODE) { if (offset + temp > this.buffer.length) - throw(new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length)); + throw new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); str = this.buffer.slice(offset, offset + temp).toString("utf8"); offset += temp; //? } else { diff --git a/src/types/varints/varint64.js b/src/types/varints/varint64.js index c71ac0b..4c49c45 100644 --- a/src/types/varints/varint64.js +++ b/src/types/varints/varint64.js @@ -160,7 +160,7 @@ if (Long) { b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw(new Error("Data must be corrupt: Buffer overrun")); }}}}}}}}}} + throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} //? } else { // Assert as usual b = this.buffer.readUint8(offset++, true ); part0 = (b & 0x7F) ; if (b & 0x80) { b = this.buffer.readUint8(offset++, this.noAssert); part0 |= (b & 0x7F) << 7; if (b & 0x80) { @@ -172,7 +172,7 @@ if (Long) { b = this.buffer.readUint8(offset++, this.noAssert); part1 |= (b & 0x7F) << 21; if (b & 0x80) { b = this.buffer.readUint8(offset++, this.noAssert); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.buffer.readUint8(offset++, this.noAssert); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw(new Error("Data must be corrupt: Buffer overrun")); }}}}}}}}}} + throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} //? } //? } else { // Asserts on its own b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { @@ -185,7 +185,7 @@ if (Long) { b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw(new Error("Data must be corrupt: Buffer overrun")); }}}}}}}}}} + throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} //? } var value = Long.from28Bits(part0, part1, part2, false); if (relative) { diff --git a/tests/suite.js b/tests/suite.js index d44c2a6..66abdfb 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -53,6 +53,7 @@ function makeSuite(ByteBuffer) { var suite = {}; suite.init = function(test) { + test.ok(require("../index.js")); if (type === Buffer) test.log("\n\n --- node Buffer backed ByteBuffer ---\n".bold.white); else From a2328c57f353f632d0dad1265f65e5c558e1765b Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sat, 28 Jun 2014 01:27:41 +0200 Subject: [PATCH 03/91] Use utfx-embeddable for utf8 encoding --- bower.json | 2 +- dist/ByteBufferAB.js | 652 +- dist/ByteBufferAB.min.js | 165 +- dist/ByteBufferAB.min.js.gz | Bin 7567 -> 7523 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferNB.js | 384 +- docs/module-ByteBuffer.html | 16779 ------------------------------ package.json | 5 +- src/encodings/debug.js | 2 +- src/encodings/utf8.js | 74 +- src/encodings/utf8/codepoint.js | 111 - src/encodings/utf8/native.js | 136 - src/types/strings/cstring.js | 38 +- src/types/strings/istring.js | 28 +- src/types/strings/utf8string.js | 80 +- src/types/strings/vstring.js | 30 +- 16 files changed, 837 insertions(+), 17655 deletions(-) delete mode 100644 docs/module-ByteBuffer.html delete mode 100644 src/encodings/utf8/codepoint.js delete mode 100644 src/encodings/utf8/native.js diff --git a/bower.json b/bower.json index cb4cdbc..a51331a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.0.3", + "version": "3.1.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "ByteBuffer.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 26da40f..04976a3 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.0.3"; + ByteBuffer.VERSION = "3.1.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1389,7 +1389,7 @@ if (typeof str !== 'string') throw new TypeError("Illegal str: Not a string"); for (i=0; i capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - var cp; k = str.length; - for (i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); this.view.setUint8(offset++, 0); if (relative) { - this.offset = offset; + this.offset = offset - start; return this; } - return offset - start; + return k; }; /** @@ -1445,19 +1439,19 @@ var start = offset, temp; // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: - var out = []; - do { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - if (temp['codePoint'] === 0) break; - out.push(temp['codePoint']); - } while (true); + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + return (b = this.view.getUint8(offset++)) === 0 ? null : b; + }.bind(this), sd = utfx.stringDestination(), true); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - "string": String.fromCodePoint.apply(String, out), + "string": sd(), "length": offset - start }; } @@ -1488,7 +1482,7 @@ } var start = offset, k; - k = utf8_calc_string(str); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; offset += 4+k; var capacity13 = this.buffer.byteLength; if (offset > capacity13) @@ -1496,15 +1490,11 @@ offset -= 4+k; this.view.setUint32(offset, k, this.littleEndian); offset += 4; - k = str.length; - for (var i=0, cp; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start + 4 + k) + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); if (relative) { this.offset = offset; return this; @@ -1537,13 +1527,11 @@ temp = this.view.getUint32(offset, this.littleEndian); offset += 4; var k = offset + temp, - out = []; - while (offset < k) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - } - str = String.fromCodePoint.apply(String, out); + sd; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = utfx.stringDestination(), this.noAssert); + str = sd(); if (relative) { this.offset = offset; return str; @@ -1591,22 +1579,16 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var k; - var start = offset, - cp; - k = utf8_calc_string(str); + var start = offset; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k; var capacity14 = this.buffer.byteLength; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); if (relative) { this.offset = offset; return this; @@ -1633,16 +1615,7 @@ * @expose */ ByteBuffer.calculateUTF8Chars = function(str) { - var n = 0, cp; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - n++; - } - return n; + return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[0]; }; /** @@ -1652,7 +1625,9 @@ * @returns {number} Number of UTF8 bytes * @expose */ - ByteBuffer.calculateUTF8Bytes = utf8_calc_string; + ByteBuffer.calculateUTF8Bytes = function(str) { + return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + }; /** * Reads an UTF8 encoded string. @@ -1683,24 +1658,24 @@ if (offset < 0 || offset + 0 > this.buffer.byteLength) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - var out, - i = 0, + var i = 0, start = offset, - temp; + sd; if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - out = []; - while (i < length) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - ++i; - } + sd = utfx.stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }.bind(this)); + if (i !== length) + throw new RangeError("Illegal range: Truncated data, "+i+" == "+length); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - "string": String.fromCodePoint.apply(String, out), + "string": sd(), "length": offset - start }; } @@ -1713,20 +1688,17 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); } var k = offset + length; - out = []; - while (offset < k) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - } + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = utfx.stringDestination(), this.noAssert); if (offset !== k) - throw new RangeError("Illegal range: Truncated character at "+k); + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - 'string': String.fromCodePoint.apply(String, out), + 'string': sd(), 'length': offset - start }; } @@ -1773,7 +1745,7 @@ } var start = offset, k, l; - k = utf8_calc_string(str); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.byteLength; @@ -1781,15 +1753,11 @@ this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; offset += this.writeVarint32(k, offset); - k = str.length; - for (var i=0, cp; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start+k+l) + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); if (relative) { this.offset = offset; return this; @@ -1822,13 +1790,11 @@ offset += temp['length']; temp = temp['value']; var k = offset + temp, - out = []; - while (offset < k) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - } - str = String.fromCodePoint.apply(String, out); + sd = utfx.stringDestination(); + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd, this.noAssert); + str = sd(); if (relative) { this.offset = offset; return str; @@ -2700,7 +2666,7 @@ if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); if (columns) { - asc += b > 32 && b < 127 ? String.fromCodePoint(b) : '.'; + asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; } } ++i; @@ -2910,223 +2876,278 @@ return bb; }; - // encodings/utf8/codepoint + // utfx-embeddable - // ref: http://mths.be/fromcodepoint v0.1.0 by @mathias - if (!String.fromCodePoint) { - (function () { - var defineProperty = (function () { - // IE 8 only supports `Object.defineProperty` on DOM elements - try { - var object = {}; - var $defineProperty = Object.defineProperty; - var result = $defineProperty(object, object, object) && $defineProperty; - } catch (error) { - } - return result; - }()); - var stringFromCharCode = String.fromCharCode; - var floor = Math.floor; - var fromCodePoint = function () { - var MAX_SIZE = 0x4000; - var codeUnits = []; - var highSurrogate; - var lowSurrogate; - var index = -1; - var length = arguments.length; - if (!length) - return ''; - var result = ''; - while (++index < length) { - var codePoint = Number(arguments[index]); - if ( - !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` - codePoint < 0 || // not a valid Unicode code point - codePoint > 0x10FFFF || // not a valid Unicode code point - floor(codePoint) != codePoint // not an integer - ) { - throw new RangeError('Invalid code point: ' + codePoint); - } - if (codePoint <= 0xFFFF) { // BMP code point - codeUnits.push(codePoint); - } else { // Astral code point; split in surrogate halves - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xD800; - lowSurrogate = (codePoint % 0x400) + 0xDC00; - codeUnits.push(highSurrogate, lowSurrogate); - } - if (index + 1 == length || codeUnits.length > MAX_SIZE) { - result += stringFromCharCode.apply(null, codeUnits); - codeUnits.length = 0; - } - } - return result; + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; + + /** + * utfx namespace. + * @inner + * @type {!Object.} + */ + var utfx = {}; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; }; - if (defineProperty) { - defineProperty(String, 'fromCodePoint', { - 'value': fromCodePoint, - 'configurable': true, - 'writable': true - }); - } else { - String["fromCodePoint"] = fromCodePoint; + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); } - }()); - } - - // ref: http://mths.be/codepointat v0.1.0 by @mathias - if (!String.prototype.codePointAt) { - (function() { - 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` - var codePointAt = function(position) { - if (this === null) { - throw new TypeError(); - } - var string = String(this); - var size = string.length; - // `ToInteger` - var index = position ? Number(position) : 0; - if (index != index) { // better `isNaN` - index = 0; - } - // Account for out-of-bounds indices: - if (index < 0 || index >= size) { - return undefined; - } - // Get the first code unit - var first = string.charCodeAt(index); - var second; - if ( // check if it’s the start of a surrogate pair - first >= 0xD800 && first <= 0xDBFF && // high surrogate - size > index + 1 // there is a next code unit - ) { - second = string.charCodeAt(index + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; + } } } - return first; - }; - if (Object.defineProperty) { - Object.defineProperty(String.prototype, 'codePointAt', { - 'value': codePointAt, - 'configurable': true, - 'writable': true - }); - } else { - String.prototype["codePointAt"] = codePointAt; + dst(c1); } - }()); - } + if (c2 !== null) dst(c2); + }; - // encodings/utf8/native + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; - /** - * Decodes a single UTF8 character from the specified ByteBuffer. The ByteBuffer's offsets remain untouched. - * @param {!ByteBuffer} bb ByteBuffer to decode from - * @param {number} offset Offset to start at - * @returns {!{codePoint: number, length: number}} Decoded char code and the number of bytes read - * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description - */ - function utf8_decode_char(bb, offset) { - var start = offset, - a, b, c, d, - codePoint; - a = bb.view.getUint8(offset++); - if ((a&0x80) === 0) { - codePoint = a; - } else if ((a&0xE0) === 0xC0) { - b = bb.view.getUint8(offset++); - codePoint = ((a&0x1F)<<6) | (b&0x3F); - } else if ((a&0xF0) === 0xE0) { - b = bb.view.getUint8(offset++); - c = bb.view.getUint8(offset++); - codePoint = ((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F); - } else if ((a&0xF8) === 0xF0) { - b = bb.view.getUint8(offset++); - c = bb.view.getUint8(offset++); - d = bb.view.getUint8(offset++); - codePoint = ((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F); - } else - throw new RangeError("Illegal code point at offset "+offset+": "+a); - return { - 'codePoint': codePoint, - 'length': offset - start + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; + + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; + + /** + * Asserts a byte value. + * @param {number} b 8bit byte value + * @returns {number} Valid byte value + * @throws {TypeError} If the byte value is invalid + * @throws {RangeError} If the byte value is out of range + */ + utfx.assertByte = function(b) { + if (typeof b !== 'number' || b !== b) + throw TypeError("Illegal byte: "+(typeof b)); + if (b < -128 || b > 255) + throw RangeError("Illegal byte: "+b); + return b; + }; + + /** + * Asserts an UTF16 char code. + * @param {number} c UTF16 char code + * @returns {number} Valid char code + * @throws {TypeError} If the char code is invalid + * @throws {RangeError} If the char code is out of range + */ + utfx.assertCharCode = function(c) { + if (typeof c !== 'number' || c !== c) + throw TypeError("Illegal char code: "+(typeof c)); + if (c < 0 || c > 0xFFFF) + throw RangeError("Illegal char code: "+c); + return c; + }; + + /** + * Asserts an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Valid code point + * @throws {TypeError} If the code point is invalid + * @throws {RangeError} If the code point is out of range + */ + utfx.assertCodePoint = function(cp) { + if (typeof cp !== 'number' || cp !== cp) + throw TypeError("Illegal code point: "+(typeof cp)); + if (cp < 0 || cp > 0x10FFFF) + throw RangeError("Illegal code point: "+cp); + return cp; + }; + + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; }; - } + + /** + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required + */ + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += utfx.calculateCodePoint(cp); + return l; + }; + + /** + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. + */ + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += utfx.calculateCodePoint(cp); + }); + return [n,l]; + }; + + return utfx; + }(); /** - * Calculates the actual number of bytes required to encode the specified char code. - * @param {number} codePoint Code point to encode - * @returns {number} Number of bytes required to encode the specified code point + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description */ - function utf8_calc_char(codePoint) { - if (codePoint < 0) - throw new RangeError("Illegal code point: "+codePoint); - if (codePoint < 0x80) return 1; - else if (codePoint < 0x800) return 2; - else if (codePoint < 0x10000) return 3; - else if (codePoint < 0x110000) return 4; - else throw new RangeError("Illegal code point: "+codePoint); - } + var stringFromCharCode = String.fromCharCode; /** - * Calculates the number of bytes required to store an UTF8 encoded string. - * @param {string} str String to calculate - * @returns {number} Number of bytes required - * @inner + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid */ - function utf8_calc_string(str) { - var cp, n = 0; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - n += utf8_calc_char(cp); - } - return n; - } + utfx.stringSource = function(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + }; /** - * Encodes a single UTF8 character to the specified ByteBuffer backed by an ArrayBuffer. The ByteBuffer's offsets are - * not modified. - * @param {number} codePoint Code point to encode - * @param {!ByteBuffer} bb ByteBuffer to encode to - * @param {number} offset Offset to write to - * @returns {number} Number of bytes written - * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. */ - function utf8_encode_char(codePoint, bb, offset) { - var start = offset; - if (codePoint < 0) - throw new RangeError("Illegal code point: "+codePoint); - if (codePoint < 0x80) { - bb.view.setUint8(offset++, codePoint &0x7F) ; - } else if (codePoint < 0x800) { - bb.view.setUint8(offset++, ((codePoint>>6 )&0x1F)|0xC0); - bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); - } else if (codePoint < 0x10000) { - bb.view.setUint8(offset++, ((codePoint>>12)&0x0F)|0xE0); - bb.view.setUint8(offset++, ((codePoint>>6 )&0x3F)|0x80); - bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); - } else if (codePoint < 0x110000) { - bb.view.setUint8(offset++, ((codePoint>>18)&0x07)|0xF0); - bb.view.setUint8(offset++, ((codePoint>>12)&0x3F)|0x80); - bb.view.setUint8(offset++, ((codePoint>>6 )&0x3F)|0x80); - bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); - } else - throw new RangeError("Illegal code point: "+codePoint); - return offset - start; - } - + utfx.stringDestination = function() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + }; // encodings/utf8 @@ -3150,17 +3171,15 @@ if (begin < 0 || begin > end || end > this.buffer.byteLength) throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - var out = [], temp; - while (begin < end) { - temp = utf8_decode_char(this, begin); - out.push(temp['codePoint']); - begin += temp['length']; - } - if (!this.noAssert) { + var bb = this, sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? bb.view.getUint8(begin++) : null; + }, sd = utfx.stringDestination()); + } catch (e) { if (begin !== end) - throw new RangeError("Illegal range: Truncated data"); + throw new RangeError("Illegal range: Truncated data, "+begin+" != "+end); } - return String.fromCodePoint.apply(String, out); + return sd(); }; /** @@ -3178,17 +3197,12 @@ if (typeof str !== 'string') throw new TypeError("Illegal str: Not a string"); } - var bb = new ByteBuffer(utf8_calc_string(str), littleEndian, noAssert), - cp; - for (var i=0, j=0, k=str.length; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - j += utf8_encode_char(cp, bb, j); - } - bb.limit = j; + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(utfx.stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; return bb; }; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 0fe0698..4861f50 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -4,86 +4,85 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(r){function q(k){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?q:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function s(a,b){var c=b,e,d,f,g;e=a.view.getUint8(b++);if(0!==(e&128))if(192===(e&224))d=a.view.getUint8(b++),e=(e&31)<<6|d&63;else if(224===(e&240))d=a.view.getUint8(b++),f=a.view.getUint8(b++),e=(e&15)<<12|(d&63)<<6|f&63;else if(240===(e&248))d=a.view.getUint8(b++),f=a.view.getUint8(b++),g=a.view.getUint8(b++),e=(e&7)<<18|(d&63)<<12|(f&63)<<6|g&63;else throw new RangeError("Illegal code point at offset "+ -b+": "+e);return{codePoint:e,length:b-c}}function r(a){if(0>a)throw new RangeError("Illegal code point: "+a);if(128>a)return 1;if(2048>a)return 2;if(65536>a)return 3;if(1114112>a)return 4;throw new RangeError("Illegal code point: "+a);}function t(a){for(var b,c=0,e=0;e=b&&(b=a.codePointAt(e),65535a)throw new RangeError("Illegal code point: "+a);if(128>a)b.view.setUint8(c++,a&127);else if(2048> -a)b.view.setUint8(c++,a>>6&31|192),b.view.setUint8(c++,a&63|128);else if(65536>a)b.view.setUint8(c++,a>>12&15|224),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else if(1114112>a)b.view.setUint8(c++,a>>18&7|240),b.view.setUint8(c++,a>>12&63|128),b.view.setUint8(c++,a>>6&63|128),b.view.setUint8(c++,a&63|128);else throw new RangeError("Illegal code point: "+a);return c-e}d.VERSION="3.0.3";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT= -!1;d.Long=k||null;var q=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,l;f=l||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=l);b.limit= -b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null=== -a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+ -this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a); -b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+= -2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength; -b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a}; -d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b- -4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt= -d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength; -b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64,d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== -typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this}, -d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+= -4);return this};d.prototype.writeFloat=d.prototype.writeFloat32;d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32; -d.prototype.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian); -c&&(this.offset+=8);return this};d.prototype.writeDouble=d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble= -d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b,e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+ -3,e&127),e=4)):(this.view.setUint8(b+2,e&127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};k&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a= -a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},d.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a= -a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var l=this.buffer.byteLength;b>l&&this.resize((l*=2)>b?l:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+ -4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag=function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g= -this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=k.from28Bits(e,d,f,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var f=b,d= -t(a);b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;var g,d=a.length;for(e=0;e=g&&(g=a.codePointAt(e),65535>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=[];do{e=s(this,a);a+=e.length;if(0===e.codePoint)break;d.push(e.codePoint)}while(1);return b?(this.offset=a,String.fromCodePoint.apply(String,d)):{string:String.fromCodePoint.apply(String,d),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=t(a);b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;d=a.length;for(var f=0,g;f=g&&(g=a.codePointAt(f),65535>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;for(var d=a+c,f=[];a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=t(a);b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;for(f=0;f=e&&(e=a.codePointAt(f), -65535=c&&(c=a.codePointAt(e),65535>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){for(b=[];h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}a=c+a;for(b=[];c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var e=b,h,f;h=t(a);f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);h=a.length;for(f=0;f=g&&(g=a.codePointAt(f),65535>>=0;if(0> -a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;for(var c=c.value,d=a+c,f=[];a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a, -b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view); -b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); -}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=q,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e, -0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength); -var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean"); -this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== -typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return q;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+ -this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.a();default:throw Error("Unsupported encoding: "+a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,l,k="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<< -2|d>>6,d&=63,g||(d=64,f||(e=64)),k+=m.charAt(l)+m.charAt(c)+m.charAt(e)+m.charAt(d);return k};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>l||0>k))throw new TypeError("Illegal str: Contains non-base64 characters");n.view.setUint8(b++,h<<2|g>>4);64!==l&&(n.view.setUint8(b++,g<<4&240|l>>2,b),64!==k&&n.view.setUint8(b++,l<<6&192|k))}n.limit=b;return n};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a, -b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+= -32e?String.fromCodePoint(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,l=!1,k=!1,n=!1, -m=!1,p=!1;h":if(!c){if(m){p=!0;break}m=!0}b.limit=f;l=!1;break;case "'":if(!c){if(n){p= -!0;break}n=!0}b.markedOffset=f;l=!1;break;case " ":l=!1;break;default:if(!c&&l){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0", -e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255d||1114111=d?a.push(d):(d-=65536,b=(d>>10)+55296,d=d%1024+56320,a.push(b,d));if(k+1==m||16384d||d>=e))return a=c.charCodeAt(d),55296<=a&&56319>=a&&e>d+1&&(c=c.charCodeAt(d+1),56320<=c&&57343>=c)?1024*(a-55296)+c-56320+65536:a}Object.defineProperty?Object.defineProperty(String.prototype,"codePointAt",{value:a,configurable:!0,writable:!0}):String.prototype.codePointAt=a}();d.prototype.toUTF8= -function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=[],d;a=c&&(c=a.codePointAt(e),65535a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); +this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.1.0";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, +c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% +1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt=d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a|| +a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};l&&(d.prototype.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=l.fromNumber(a);else if(!(a&&a instanceof l))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=l.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new l(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new l(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64, +d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=l.fromNumber(a);else if(!(a&&a instanceof l))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=l.fromNumber(a)); +b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new l(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new l(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>= +0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeFloat=d.prototype.writeFloat32;d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32;d.prototype.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};d.prototype.writeDouble=d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble=d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b, +e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+3,e&127),e=4)):(this.view.setUint8(b+2,e&127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a); +"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};l&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=l.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, +d.zigZagDecode64=function(a){"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(l.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=l.fromNumber(a);else if(!(a&&a instanceof l))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var n=this.buffer.byteLength;b>n&&this.resize((n*=2)>b?n:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!== +e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag= +function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&& +(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=l.from28Bits(e,d,f,!1);return b?(this.offset=a,e):{value:e,length:a- +c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof l?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=k.b(k.a(a))[1];b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;k.d(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=k.c(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== +typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=k.b(k.a(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this)); +if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+= +4;var d=a+c;k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+ +this.buffer.byteLength);}var e,d=b;e=k.b(k.a(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return k.b(k.a(a))[0]};d.calculateUTF8Bytes=function(a){return k.b(k.a(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset); +"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=k.c();k.i(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;k.d(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=k.b(k.a(a),this.noAssert)[1];f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=k.c();k.d(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*= +2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian, +this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e); +0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); +}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+ +b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&& +(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength); +}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c= +this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this; +Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== +typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; +if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, +c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+ +a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ +this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length, +h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2, +b),64!==l&&p.view.setUint8(b++,k<<6&192|l))}p.limit=b;return p};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+= +" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,k=!1,l=!1,p=!1,m=!1,q=!1;h":if(!c){if(m){q=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192=== +(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},g:function(a, +c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},k:function(a){if("number"!==typeof a||a!==a)throw TypeError("Illegal byte: "+typeof a);if(-128>a||255 +a||65535a||1114111a?1:2048>a?2:65536>a?3:4},n:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode;k.a=function(a){var b=0;return function(){return b< +a.length?a.charCodeAt(b++):null}};k.c=function(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+s.apply(String,a);1024>>=0;if("number"!==typeof b|| +0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 4476445..77c7d26 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":89, -"mappings":"A;;;;;;AAsBC,SAAQ,CAACA,CAAD,CAAS,CAQdC,QAASA,EAAc,CAACC,CAAD,CAAO,CAcTC,QAAQ,EAAA,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC5B,WAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDD,CAAAI,iBAAxD,CAC4B,YAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDF,CAAAK,eAAxD,CAC4B,YAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDH,CAAAM,iBAAxD,CACA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAM,KAAIM,UAAJ,CAAe,yBAAf,CAAyCN,CAAzC,CAAN,CACJ,GAA4B,SAA5B,GAAI,MAAOC,EAAX,CACI,KAAM,KAAIM,SAAJ,CAAc,qCAAd,CAAN,CACJ,GAAwB,SAAxB,GAAI,MAAOL,EAAX,CACI,KAAM,KAAIK,SAAJ,CAAc,iCAAd,CAAN,CAPO,CAef,IAAAC,OAAA,CAA2B,CAAb,GAAAR,CAAA,CAAiBS,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBV,CAAhB,CAO9C,KAAAW,KAAA,CAAyB,CAAb,GAAAX,CAAA,CAAiB,IAAjB,CAAwB,IAAIY,QAAJ,CAAa,IAAAJ,OAAb,CASpC;IAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAaf,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CAnEsC,CA66F5Dc,QAASA,EAAgB,CAACC,CAAD,CAAKJ,CAAL,CAAa,CAAA,IAC9BK,EAAQL,CADsB,CAE9BM,CAF8B,CAE3BC,CAF2B,CAExBC,CAFwB,CAErBC,CAEbH,EAAA,CAAIF,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CACJ,IAAiB,CAAjB,IAAKM,CAAL,CAAO,GAAP,EAEO,GAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACHC,CACA,CADIH,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CACJ,CAAAW,CAAA,EAAcL,CAAd,CAAgB,EAAhB,GAAuB,CAAvB,CAA6BC,CAA7B,CAA+B,EAF5B,KAGA,IAAiB,GAAjB,IAAKD,CAAL,CAAO,GAAP,EACHC,CAEA,CAFIH,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CAEJ,CADAQ,CACA,CADIJ,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CACJ,CAAAW,CAAA,EAAcL,CAAd,CAAgB,EAAhB,GAAuB,EAAvB,EAA+BC,CAA/B,CAAiC,EAAjC,GAAwC,CAAxC,CAA8CC,CAA9C,CAAgD,EAH7C,KAIA,IAAiB,GAAjB,IAAKF,CAAL,CAAO,GAAP,EACHC,CAGA,CAHIH,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CAGJ,CAFAQ,CAEA,CAFIJ,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CAEJ,CADAS,CACA,CADIL,CAAAN,KAAAY,SAAA,CAAiBV,CAAA,EAAjB,CACJ,CAAAW,CAAA,EAAcL,CAAd,CAAgB,CAAhB,GAAuB,EAAvB,EAA+BC,CAA/B,CAAiC,EAAjC,GAAwC,EAAxC,EAAgDC,CAAhD,CAAkD,EAAlD,GAAyD,CAAzD,CAA+DC,CAA/D,CAAiE,EAJ9D,KAMH,MAAM,KAAIhB,UAAJ,CAAe,+BAAf;AAA+CO,CAA/C,CAAsD,IAAtD,CAA2DM,CAA3D,CAAN,CACJ,MAAO,WACUK,CADV,QAEOX,CAFP,CAEgBK,CAFhB,CArB2B,CAkCtCO,QAASA,EAAc,CAACD,CAAD,CAAY,CAC/B,GAAgB,CAAhB,CAAIA,CAAJ,CACI,KAAM,KAAIlB,UAAJ,CAAe,sBAAf,CAAsCkB,CAAtC,CAAN,CACJ,GAA2B,GAA3B,CAASA,CAAT,CAAiC,MAAO,EACnC,IAAqB,IAArB,CAAIA,CAAJ,CAA4B,MAAO,EACnC,IAAmB,KAAnB,CAAIA,CAAJ,CAA4B,MAAO,EACnC,IAAkB,OAAlB,CAAIA,CAAJ,CAA4B,MAAO,EACnC,MAAM,KAAIlB,UAAJ,CAAe,sBAAf,CAAsCkB,CAAtC,CAAN,CAP0B,CAgBnCE,QAASA,EAAgB,CAACC,CAAD,CAAM,CAE3B,IAF2B,IACvBC,CADuB,CACnBC,EAAI,CADe,CAElBC,EAAE,CAAX,CAAcA,CAAd,CAAgBH,CAAAI,OAAhB,CAA4BD,CAAA,EAA5B,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL,CAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAAD,CAAA,EAAKJ,CAAA,CAAeG,CAAf,CAET,OAAOC,EAVoB,CAuB/BK,QAASA,EAAgB,CAACV,CAAD,CAAYP,CAAZ,CAAgBJ,CAAhB,CAAwB,CAC7C,IAAIK,EAAQL,CACZ,IAAgB,CAAhB,CAAIW,CAAJ,CACI,KAAM,KAAIlB,UAAJ,CAAe,sBAAf,CAAsCkB,CAAtC,CAAN,CACJ,GAAgB,GAAhB,CAAIA,CAAJ,CACIP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,CAA4C,GAA5C,CADJ,KAEO,IAAgB,IAAhB;AAAIA,CAAJ,CACHP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,EAAwC,CAAxC,CAA4C,EAA5C,CAAkD,GAAlD,CACA,CAAAP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,CAA4C,EAA5C,CAAkD,GAAlD,CAFG,KAGA,IAAgB,KAAhB,CAAIA,CAAJ,CACHP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,EAAwC,EAAxC,CAA4C,EAA5C,CAAkD,GAAlD,CAEA,CADAP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,EAAwC,CAAxC,CAA4C,EAA5C,CAAkD,GAAlD,CACA,CAAAP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,CAA4C,EAA5C,CAAkD,GAAlD,CAHG,KAIA,IAAgB,OAAhB,CAAIA,CAAJ,CACHP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,EAAwC,EAAxC,CAA4C,CAA5C,CAAkD,GAAlD,CAGA,CAFAP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,EAAwC,EAAxC,CAA4C,EAA5C,CAAkD,GAAlD,CAEA,CADAP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,EAAwC,CAAxC,CAA4C,EAA5C,CAAkD,GAAlD,CACA,CAAAP,CAAAN,KAAAwB,SAAA,CAAiBtB,CAAA,EAAjB,CAA6BW,CAA7B,CAA4C,EAA5C,CAAkD,GAAlD,CAJG,KAMH,MAAM,KAAIlB,UAAJ,CAAe,sBAAf,CAAsCkB,CAAtC,CAAN,CACJ,MAAOX,EAAP,CAAgBK,CApB6B,CA16FjDnB,CAAAqC,QAAA,CAAqB,OAQrBrC,EAAAsC,cAAA,CAA2B,CAAA,CAQ3BtC,EAAAuC,WAAA,CAAwB,CAAA,CAOxBvC,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAuC,WAO5BvC,EAAAM,iBAAA;AAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAQ1B,KAAIW,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAYnBX,EAAAwC,SAAA,CAAsBC,QAAQ,CAACxC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAA0C,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoB3C,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAO0C,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACI1C,CAEA,CAFWD,CAEX,CADAA,CACA,CADe2C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAI7C,EAAW,CAAf,CACS8B,EAAE,CADX,CACcgB,EAAEH,CAAAZ,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0CgB,CAA1C,CAA6C,EAAEhB,CAA/C,CACS/B,CAAAgD,aAAA,CAAwBJ,CAAA,CAAQb,CAAR,CAAxB,CAGL,GAFIa,CAAA,CAAQb,CAAR,CAEJ,CAFiB/B,CAAAiD,KAAA,CAAgBL,CAAA,CAAQb,CAAR,CAAhB,CAA4Bc,CAA5B,CAEjB,EADAb,CACA,CADSY,CAAA,CAAQb,CAAR,CAAAf,MACT,CAD4B4B,CAAA,CAAQb,CAAR,CAAAjB,OAC5B,CAAa,CAAb,CAAIkB,CAAJ,GAAgB/B,CAAhB,EAA4B+B,CAA5B,CAEJ,IAAiB,CAAjB,GAAI/B,CAAJ,CAAoB,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACvBe,EAAAA,CAAK,IAAIlB,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAELS,EAAAA,CAAO,IAAIsC,UAAJ,CAAehC,CAAAT,OAAf,CACN,KAALsB,CAAK,CAAH,CAAG,CAAOA,CAAP,CAASgB,CAAT,CAAA,CACDI,CAEA,CAFKP,CAAA,CAAQb,CAAA,EAAR,CAEL,CADAC,CACA,CADSmB,CAAAnC,MACT,CADoBmC,CAAArC,OACpB,CAAc,CAAd,EAAIkB,CAAJ,GACApB,CAAAwC,IAAA,CAASC,CAAA,IAAIH,UAAJ,CAAeC,CAAA1C,OAAf,CAAA4C,UAAA,CAAmCF,CAAArC,OAAnC,CAA8CqC,CAAAnC,MAA9C,CAAT,CAAkEE,CAAAJ,OAAlE,CACA,CAAAI,CAAAJ,OAAA,EAAakB,CAFb,CAIJd,EAAAF,MAAA;AAAWE,CAAAJ,OACXI,EAAAJ,OAAA,CAAY,CACZ,OAAOI,EA1B6D,CAmCxElB,EAAAgD,aAAA,CAA0BM,QAAQ,CAACpC,CAAD,CAAK,CACnC,MAAOA,EAAP,EAAaA,CAAb,WAA2BlB,EADQ,CASvCA,EAAAuD,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAO7C,YADkB,CAiB7BX,EAAAiD,KAAA,CAAkBQ,QAAQ,CAAChD,CAAD,CAASoC,CAAT,CAAmB3C,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAO0C,EAAX,GACI1C,CAEA,CAFWD,CAEX,CADAA,CACA,CADe2C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOrC,EAAX,CAEI,OADwB,WAChBoC,GADJ,MAAOA,EACHA,GAD6BA,CAC7BA,CADwC,MACxCA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAO7C,EAAA0D,WAAA,CAAsBjD,CAAtB,CAA8BP,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAA2D,QAAA,CAAmBlD,CAAnB,CAA2BP,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA4D,WAAA,CAAsBnD,CAAtB,CAA8BP,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA6D,SAAA,CAAoBpD,CAApB,CAA4BP,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA8D,UAAA,CAAqBrD,CAArB,CAA6BP,CAA7B,CACX,SACI,KAAM,KAAIM,SAAJ,CAAc,wBAAd,CAAuCqC,CAAvC,CAAN,CAZR,CAeJ,GAAe,IAAf;AAAIpC,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAM,KAAID,SAAJ,CAAc,oCAAd,CAAN,CAEJ,GAAIR,CAAAgD,aAAA,CAAwBvC,CAAxB,CAAJ,CAGI,MAFAS,EAEOA,CAFFlB,CAAA+D,UAAAC,MAAAC,KAAA,CAAgCxD,CAAhC,CAEES,CADPA,CAAAH,aACOG,CADY,EACZA,CAAAA,CAEX,IAAIT,CAAJ,WAAsByC,WAAtB,CACIhC,CACA,CADK,IAAIlB,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIM,CAAAuB,OAAJ,GACId,CAAAT,OAGA,CAHYA,CAAAA,OAGZ,CAFAS,CAAAJ,OAEA,CAFYL,CAAAyD,WAEZ,CADAhD,CAAAF,MACA,CADWP,CAAAyD,WACX,CAD+BzD,CAAAuB,OAC/B,CAAAd,CAAAN,KAAA,CAA0B,CAAhB,CAAAH,CAAAuB,OAAA,CAAoB,IAAInB,QAAJ,CAAaJ,CAAAA,OAAb,CAApB,CAAkD,IAJhE,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACHO,CACA,CADK,IAAIlB,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIM,CAAA0D,WAAJ,GACIjD,CAAAT,OAGA,CAHYA,CAGZ,CAFAS,CAAAJ,OAEA,CAFY,CAEZ,CADAI,CAAAF,MACA,CADWP,CAAA0D,WACX,CAAAjD,CAAAN,KAAA,CAA8B,CAApB,CAAAH,CAAA0D,WAAA,CAAwB,IAAItD,QAAJ,CAAaJ,CAAb,CAAxB,CAA+C,IAJ7D,CAFG,KAQA,IAA+C,gBAA/C;AAAI2D,MAAAL,UAAAM,SAAAJ,KAAA,CAA+BxD,CAA/B,CAAJ,CAGH,IAFAS,CAEK,CAFA,IAAIlB,CAAJ,CAAeS,CAAAuB,OAAf,CAA8B9B,CAA9B,CAA4CC,CAA5C,CAEA,CADLe,CAAAF,MACK,CADMP,CAAAuB,OACN,CAAAD,CAAA,CAAE,CAAP,CAAUA,CAAV,CAAYtB,CAAAuB,OAAZ,CAA2B,EAAED,CAA7B,CACIb,CAAAN,KAAAwB,SAAA,CAAiBL,CAAjB,CAAoBtB,CAAA,CAAOsB,CAAP,CAApB,CAJD,KAMH,MAAM,KAAIvB,SAAJ,CAAc,gBAAd,CAAN,CACJ,MAAOU,EAtD0D,CAkErElB,EAAA+D,UAAAO,UAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAQ1D,CAAR,CAAgB,CACrD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAUpBrD,CAAA,EAAU,CACV,KAAI4D,EAAY,IAAAjE,OAAA0D,WACZrD,EAAJ,CAAa4D,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmB5D,CAAnB,CAA4B4D,CAA5B,CAAwC5D,CAApD,CAEJ,KAAAF,KAAAgE,QAAA,CADA9D,CACA,CADU,CACV,CAA0B0D,CAA1B,CACIC,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDd,EAAA+D,UAAAc,UAAA,CAAiC7E,CAAA+D,UAAAO,UAQjCtE,EAAA+D,UAAAe,SAAA,CAAgCC,QAAQ,CAACjE,CAAD,CAAS,CAC7C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD;AAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAAoE,QAAA,CAAkBlE,CAAlB,CACR2D,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZsC,CAsBjDxE,EAAA+D,UAAAkB,SAAA,CAAgCjF,CAAA+D,UAAAe,SAShC9E,EAAA+D,UAAAmB,WAAA,CAAkCC,QAAQ,CAACX,CAAD,CAAQ1D,CAAR,CAAgB,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAUpBrD,CAAA,EAAU,CACV,KAAIsE,EAAY,IAAA3E,OAAA0D,WACZrD,EAAJ,CAAasE,CAAb,EACI,IAAAT,OAAA,CAAY,CAACS,CAAD,EAAc,CAAd,EAAmBtE,CAAnB,CAA4BsE,CAA5B,CAAwCtE,CAApD,CAEJ,KAAAF,KAAAwB,SAAA,CADAtB,CACA,CADU,CACV,CAA2B0D,CAA3B,CACIC,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA6B1Dd,EAAA+D,UAAAsB,UAAA,CAAiCC,QAAQ,CAACxE,CAAD,CAAS,CAC9C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAAY,SAAA,CAAmBV,CAAnB,CACR2D;CAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZuC,CAyBlDxE,EAAA+D,UAAAwB,WAAA,CAAkCC,QAAQ,CAAChB,CAAD,CAAQ1D,CAAR,CAAgB,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAUpBrD,CAAA,EAAU,CACV,KAAI2E,EAAY,IAAAhF,OAAA0D,WACZrD,EAAJ,CAAa2E,CAAb,EACI,IAAAd,OAAA,CAAY,CAACc,CAAD;AAAc,CAAd,EAAmB3E,CAAnB,CAA4B2E,CAA5B,CAAwC3E,CAApD,CAEJ,KAAAF,KAAA8E,SAAA,CADA5E,CACA,CADU,CACV,CAA2B0D,CAA3B,CAAkC,IAAAtE,aAAlC,CACIuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CAgC1Dd,EAAA+D,UAAA4B,WAAA,CAAkC3F,CAAA+D,UAAAwB,WAUlCvF,EAAA+D,UAAA6B,UAAA,CAAiCC,QAAQ,CAAC/E,CAAD,CAAS,CAC9C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAAkF,SAAA,CAAmBhF,CAAnB,CAA2B,IAAAZ,aAA3B,CACRuE,EAAJ,GAAc,IAAA3D,OAAd;AAA6B,CAA7B,CACA,OAAO0D,EAZuC,CAwBlDxE,EAAA+D,UAAAgC,UAAA,CAAiC/F,CAAA+D,UAAA6B,UAUjC5F,EAAA+D,UAAAiC,YAAA,CAAmCC,QAAQ,CAACzB,CAAD,CAAQ1D,CAAR,CAAgB,CACvD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAUpBrD,CAAA,EAAU,CACV,KAAIoF,EAAY,IAAAzF,OAAA0D,WACZrD;CAAJ,CAAaoF,CAAb,EACI,IAAAvB,OAAA,CAAY,CAACuB,CAAD,EAAc,CAAd,EAAmBpF,CAAnB,CAA4BoF,CAA5B,CAAwCpF,CAApD,CAEJ,KAAAF,KAAAuF,UAAA,CADArF,CACA,CADU,CACV,CAA4B0D,CAA5B,CAAmC,IAAAtE,aAAnC,CACIuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApBgD,CA+B3Dd,EAAA+D,UAAAqC,WAAA,CAAkCC,QAAQ,CAACvF,CAAD,CAAS,CAC/C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAA0F,UAAA,CAAoBxF,CAApB,CAA4B,IAAAZ,aAA5B,CACRuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZwC,CAuBnDxE;CAAA+D,UAAAwC,WAAA,CAAkCC,QAAQ,CAAChC,CAAD,CAAQ1D,CAAR,CAAgB,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAUpBrD,CAAA,EAAU,CACV,KAAI2F,EAAY,IAAAhG,OAAA0D,WACZrD,EAAJ,CAAa2F,CAAb,EACI,IAAA9B,OAAA,CAAY,CAAC8B,CAAD,EAAc,CAAd,EAAmB3F,CAAnB,CAA4B2F,CAA5B,CAAwC3F,CAApD,CAEJ,KAAAF,KAAA8F,SAAA,CADA5F,CACA;AADU,CACV,CAA2B0D,CAA3B,CAAkC,IAAAtE,aAAlC,CACIuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA6B1Dd,EAAA+D,UAAA4C,SAAA,CAAgC3G,CAAA+D,UAAAwC,WAQhCvG,EAAA+D,UAAA6C,UAAA,CAAiCC,QAAQ,CAAC/F,CAAD,CAAS,CAC9C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA2B,IAAAZ,aAA3B,CACRuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZuC,CAqBlDxE,EAAA+D,UAAAgD,QAAA;AAA+B/G,CAAA+D,UAAA6C,UAQ/B5G,EAAA+D,UAAAiD,YAAA,CAAmCC,QAAQ,CAACzC,CAAD,CAAQ1D,CAAR,CAAgB,CACvD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAUpBrD,CAAA,EAAU,CACV,KAAIoG,EAAY,IAAAzG,OAAA0D,WACZrD,EAAJ,CAAaoG,CAAb,EACI,IAAAvC,OAAA,CAAY,CAACuC,CAAD;AAAc,CAAd,EAAmBpG,CAAnB,CAA4BoG,CAA5B,CAAwCpG,CAApD,CAEJ,KAAAF,KAAAuG,UAAA,CADArG,CACA,CADU,CACV,CAA4B0D,CAA5B,CAAmC,IAAAtE,aAAnC,CACIuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApBgD,CA6B3Dd,EAAA+D,UAAAqD,WAAA,CAAkCC,QAAQ,CAACvG,CAAD,CAAS,CAC/C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAA0G,UAAA,CAAoBxG,CAApB,CAA4B,IAAAZ,aAA5B,CACRuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZwC,CAiB/CzE,EAAJ,GASIC,CAAA+D,UAAAwD,WAqHA;AArHkCC,QAAQ,CAAChD,CAAD,CAAQ1D,CAAR,CAAgB,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,CACIA,CAAA,CAAQzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BzE,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOK,EAAX,GACIA,CADJ,CACYzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CADZ,CAEA1D,EAAA,EAAU,CACV,KAAI4G,EAAY,IAAAjH,OAAA0D,WACZrD;CAAJ,CAAa4G,CAAb,EACI,IAAA/C,OAAA,CAAY,CAAC+C,CAAD,EAAc,CAAd,EAAmB5G,CAAnB,CAA4B4G,CAA5B,CAAwC5G,CAApD,CACJA,EAAA,EAAU,CACN,KAAAZ,aAAJ,EACI,IAAAU,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA6B0D,CAAAmD,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA/G,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA0B,CAA1B,CAA6B0D,CAAAoD,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAhH,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA6B0D,CAAAoD,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAhH,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA0B,CAA1B,CAA6B0D,CAAAmD,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOIlD,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KA7B+C,CAqH1D,CA9EAd,CAAA+D,UAAA8D,UA8EA,CA9EiC7H,CAAA+D,UAAAwD,WA8EjC,CAtEAvH,CAAA+D,UAAA+D,UAsEA,CAtEiCC,QAAQ,CAACjH,CAAD,CAAS,CAC9C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAAtE,aACA,CAAN,IAAIH,CAAJ,CAAS,IAAAa,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CAAM,CACN,IAAIf,CAAJ,CAAS,IAAAa,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF2D,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAduC,CAsElD,CA/CAxE,CAAA+D,UAAAiE,SA+CA,CA/CgChI,CAAA+D,UAAA+D,UA+ChC,CAtCA9H,CAAA+D,UAAAkE,YAsCA,CAtCmCC,QAAQ,CAAC1D,CAAD,CAAQ1D,CAAR,CAAgB,CACvD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,CACIA,CAAA,CAAQzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BzE,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOK,EAAX,GACIA,CADJ,CACYzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CADZ,CAEA1D,EAAA,EAAU,CACV,KAAIqH,EAAY,IAAA1H,OAAA0D,WACZrD,EAAJ,CAAaqH,CAAb,EACI,IAAAxD,OAAA,CAAY,CAACwD,CAAD,EAAc,CAAd,EAAmBrH,CAAnB,CAA4BqH,CAA5B,CAAwCrH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAZ,aAAJ,EACI,IAAAU,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA6B0D,CAAAmD,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA/G,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA0B,CAA1B,CAA6B0D,CAAAoD,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAhH,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA6B0D,CAAAoD,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAhH,KAAA8F,SAAA,CAAmB5F,CAAnB,CAA0B,CAA1B,CAA6B0D,CAAAmD,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOIlD,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KA7BgD,CAsC3D;AAAAd,CAAA+D,UAAAqE,WAAA,CAAkCC,QAAQ,CAACvH,CAAD,CAAS,CAC/C,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAAtE,aACA,CAAN,IAAIH,CAAJ,CAAS,IAAAa,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CAAM,CACN,IAAIf,CAAJ,CAAS,IAAAa,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkG,SAAA,CAAmBhG,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF2D,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAdwC,CA9HvD,CA2JAxE,EAAA+D,UAAAuE,aAAA;AAAoCC,QAAQ,CAAC/D,CAAD,CAAQ1D,CAAR,CAAgB,CACxD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,iBAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CAPY,CASpBrD,CAAA,EAAU,CACV,KAAI0H,EAAY,IAAA/H,OAAA0D,WACZrD,EAAJ,CAAa0H,CAAb,EACI,IAAA7D,OAAA,CAAY,CAAC6D,CAAD,EAAc,CAAd,EAAmB1H,CAAnB,CAA4B0H,CAA5B,CAAwC1H,CAApD,CAEJ,KAAAF,KAAA6H,WAAA,CADA3H,CACA,CADU,CACV,CAA6B0D,CAA7B,CAAoC,IAAAtE,aAApC,CACIuE,EAAJ,GAAc,IAAA3D,OAAd;AAA6B,CAA7B,CACA,OAAO,KAnBiD,CA8B5Dd,EAAA+D,UAAA2E,WAAA,CAAkC1I,CAAA+D,UAAAuE,aAQlCtI,EAAA+D,UAAA4E,YAAA,CAAmCC,QAAQ,CAAC9H,CAAD,CAAS,CAChD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAAiI,WAAA,CAAqB/H,CAArB,CAA6B,IAAAZ,aAA7B,CACRuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZyC,CAsBpDxE,EAAA+D,UAAA+E,UAAA,CAAiC9I,CAAA+D,UAAA4E,YAWjC3I;CAAA+D,UAAAgF,aAAA,CAAoCC,QAAQ,CAACxE,CAAD,CAAQ1D,CAAR,CAAgB,CACxD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,iBAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CAPY,CASpBrD,CAAA,EAAU,CACV,KAAImI,EAAY,IAAAxI,OAAA0D,WACZrD,EAAJ,CAAamI,CAAb,EACI,IAAAtE,OAAA,CAAY,CAACsE,CAAD,EAAc,CAAd,EAAmBnI,CAAnB,CAA4BmI,CAA5B,CAAwCnI,CAApD,CAEJ,KAAAF,KAAAsI,WAAA,CADApI,CACA,CADU,CACV,CAA6B0D,CAA7B,CAAoC,IAAAtE,aAApC,CACIuE;CAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBiD,CA8B5Dd,EAAA+D,UAAAoF,YAAA,CAAmCnJ,CAAA+D,UAAAgF,aAQnC/I,EAAA+D,UAAAqF,YAAA,CAAmCC,QAAQ,CAACvI,CAAD,CAAS,CAChD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOhBK,CAAAA,CAAQ,IAAA5D,KAAA0I,WAAA,CAAqBxI,CAArB,CAA6B,IAAAZ,aAA7B,CACRuE,EAAJ,GAAc,IAAA3D,OAAd,EAA6B,CAA7B,CACA,OAAO0D,EAZyC,CAsBpDxE,EAAA+D,UAAAwF,WAAA;AAAkCvJ,CAAA+D,UAAAqF,YAWlCpJ,EAAAwJ,mBAAA,CAAgC,CAQhCxJ,EAAAyJ,kBAAA,CAA+BC,QAAQ,CAAClF,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/CxE,EAAA2J,eAAA,CAA4BC,QAAQ,CAAC9H,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxC9B,EAAA6J,eAAA,CAA4BC,QAAQ,CAAChI,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxC9B,EAAA+D,UAAAgG,cAAA,CAAqCC,QAAQ,CAACxF,CAAD,CAAQ1D,CAAR,CAAgB,CACzD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CAHqC,IAarD8F,EAAOjK,CAAAyJ,kBAAA,CAA6BjF,CAA7B,CAEX1D,EAAA,EAAUmJ,CACV,KAAIC,EAAa,IAAAzJ,OAAA0D,WACbrD,EAAJ,CAAaoJ,CAAb,EACI,IAAAvF,OAAA,CAAY,CAACuF,CAAD,EAAe,CAAf,EAAoBpJ,CAApB,CAA6BoJ,CAA7B,CAA0CpJ,CAAtD,CACJA,EAAA,EAAUmJ,CAEV,KAAArJ,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA2BO,CAA3B,CAA+BmD,CAA/B,CAAuC,GAAvC,CACAA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACInD,CAEA,CAFKmD,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAA5D,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA6BO,CAA7B,CACA,CAAa,KAAb,EAAImD,CAAJ,EACInD,CAEA,CAFKmD,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA5D,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA6BO,CAA7B,CACA,CAAa,OAAb,EAAImD,CAAJ,EACInD,CAEA,CAFKmD,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA5D,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA6BO,CAA7B,CACA,CAAa,SAAb,EAAImD,CAAJ,EACI,IAAA5D,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA8B0D,CAA9B,EAAuC,EAAvC,CAA6C,EAA7C,CACA,CAAAyF,CAAA,CAAO,CAFX,GAII,IAAArJ,KAAAwB,SAAA,CAAmBtB,CAAnB;AAA0B,CAA1B,CAA6BO,CAA7B,CAAiC,GAAjC,CACA,CAAA4I,CAAA,CAAO,CALX,CAHJ,GAWI,IAAArJ,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA6BO,CAA7B,CAAiC,GAAjC,CACA,CAAA4I,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAArJ,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA6BO,CAA7B,CAAiC,GAAjC,CACA,CAAA4I,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAArJ,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA2BO,CAA3B,CAA+B,GAA/B,CACA,CAAA4I,CAAA,CAAO,CA1BX,CA4BA,OAAIxF,EAAJ,EACI,IAAA3D,OACO,EADQmJ,CACR,CAAA,IAFX,EAIOA,CAvDkD,CAkE7DjK,EAAA+D,UAAAoG,oBAAA,CAA2CC,QAAQ,CAAC5F,CAAD,CAAQ1D,CAAR,CAAgB,CAC/D,MAAO,KAAAiJ,cAAA,CAAmB/J,CAAA2J,eAAA,CAA0BnF,CAA1B,CAAnB,CAAqD1D,CAArD,CADwD,CAanEd,EAAA+D,UAAAsG,aAAA,CAAoCC,QAAQ,CAACxJ,CAAD,CAAS,CACjD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAH6B,IAW7C8F,EAAO,CAXsC,CAY7CzF,EAAQ,CAZqC,CAa7C+F,CACJ,GACIA,EAGA,CAHO,IAAA3J,KAAAY,SAAA,CAAmBV,CAAnB,CAA0BmJ,CAA1B,CAGP,CAFW,CAEX,CAFIA,CAEJ,GADIzF,CACJ,GADe+F,CACf,CADoB,GACpB,GAD4B,CAC5B,CAD8BN,CAC9B,GADyC,CACzC,EAAA,EAAEA,CAJN,OAK2B,GAL3B,IAKUM,CALV,CAKiB,GALjB,EAMA/F,EAAA,EAAgB,CAChB,OAAIC,EAAJ,EACI,IAAA3D,OACO0D,EADQyF,CACRzF,CAAAA,CAFX,EAIO,OACMA,CADN,QAEOyF,CAFP,CAzB0C,CAwCrDjK,EAAA+D,UAAAyG,mBAAA,CAA0CC,QAAQ,CAAC3J,CAAD,CAAS,CACnD4J,CAAAA,CAAM,IAAAL,aAAA,CAAkBvJ,CAAlB,CACS,SAAnB,GAAI,MAAO4J,EAAX,CACIA,CAAA,MADJ,CACmB1K,CAAA6J,eAAA,CAA0Ba,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU1K,CAAA6J,eAAA,CAA0Ba,CAA1B,CACV,OAAOA,EANgD,CAWvD3K,EAAJ,GAQIC,CAAA2K,mBAsLA,CAtLgC,EAsLhC,CA9KA3K,CAAA4K,kBA8KA,CA9K+BC,QAAQ,CAACrG,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,GACIA,CADJ,CACYzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CADZ,CAD2C,KAIvCsG,EAAQtG,CAAAuG,MAAA,EAARD,GAA0B,CAJa,CAKvCE,EAAQxG,CAAAyG,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA;AAAQ1G,CAAAyG,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EApBW,CA8K/C,CAjJAlL,CAAAmL,eAiJA,CAjJ4BC,QAAQ,CAAC5G,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAA6G,SAFT,GAEmC7G,CAFnC,CAE2CA,CAAA8G,SAAA,EAF3C,CAIA,OAAO9G,EAAA+G,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuBhH,CAAAiH,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EALiC,CAiJ5C,CAnIA1L,CAAA2L,eAmIA,CAnI4BC,QAAQ,CAACpH,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAA6G,SAFT,GAEmC7G,CAFnC,CAE2CA,CAAA8G,SAAA,EAF3C,CAIA,OAAO9G,EAAAyG,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgChH,CAAAqH,IAAA,CAAU9L,CAAA+L,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EALiC,CAmI5C,CAnHAtL,CAAA+D,UAAAiI,cAmHA;AAnHqCC,QAAQ,CAACzH,CAAD,CAAQ1D,CAAR,CAAgB,CACzD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,CACIA,CAAA,CAAQzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BzE,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOK,EAAX,CACIA,CADJ,CACYzE,CAAA0H,WAAA,CAAgBjD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAA6G,SAFT,GAEmC7G,CAFnC;AAE2CA,CAAA8G,SAAA,EAF3C,CAdyD,KAiBrDrB,EAAOjK,CAAA4K,kBAAA,CAA6BpG,CAA7B,CAjB8C,CAkBrDsG,EAAQtG,CAAAuG,MAAA,EAARD,GAA0B,CAlB2B,CAmBrDE,EAAQxG,CAAAyG,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAnBI,CAoBrDE,EAAQ1G,CAAAyG,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDpK,EAAA,EAAUmJ,CACV,KAAIiC,EAAa,IAAAzL,OAAA0D,WACbrD,EAAJ,CAAaoL,CAAb,EACI,IAAAvH,OAAA,CAAY,CAACuH,CAAD,EAAe,CAAf,EAAoBpL,CAApB,CAA6BoL,CAA7B,CAA0CpL,CAAtD,CACJA,EAAA,EAAUmJ,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAArJ,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAA8BoK,CAA9B,GAAyC,CAAzC,CAA8C,CAA9C,CACT,MAAK,CAAL,CAAS,IAAAtK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAciB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAtK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAce,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAApK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAce,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAApK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAce,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAApK,KAAAwB,SAAA,CAAmBtB,CAAnB;AAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAce,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAApK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAca,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAlK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAca,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAlK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAca,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAlK,KAAAwB,SAAA,CAAmBtB,CAAnB,CAAsC,CAAT,GAAAmJ,CAAA,CAAca,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CAVb,CAYA,MAAIrG,EAAJ,EACI,IAAA3D,OACO,EADQmJ,CACR,CAAA,IAFX,EAIWA,CA1C8C,CAmH7D,CA7DAjK,CAAA+D,UAAAoI,oBA6DA,CA7D2CC,QAAQ,CAAC5H,CAAD,CAAQ1D,CAAR,CAAgB,CAC/D,MAAO,KAAAkL,cAAA,CAAmBhM,CAAAmL,eAAA,CAA0B3G,CAA1B,CAAnB,CAAqD1D,CAArD,CADwD,CA6DnE,CAhDAd,CAAA+D,UAAAsI,aAgDA,CAhDoCC,QAAQ,CAACxL,CAAD,CAAS,CACjD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAH6B,IAW7ChD,EAAQL,CAXqC,CAY7CgK,EAAQ,CAZqC,CAa7CE,EAAQ,CAbqC,CAc7CE,EAAQ,CAdqC,CAe7C7J,EAAK,CAfwC,CAgBjDA,EAAI,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAhB6C,CAgBfgK,EAAUzJ,CAAVyJ,CAAc,GAAa,IAAIzJ,CAAJ,CAAQ,GAAR,GAC7DA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BgK,CAA+B,GAArBzJ,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BgK,CAA+B,GAArBzJ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BgK,CAA+B,GAArBzJ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BkK,CAA+B,CAArB3J,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BkK,CAA+B,GAArB3J,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE;AAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BkK,CAA+B,GAArB3J,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BkK,CAA+B,GAArB3J,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BoK,CAA+B,CAArB7J,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAT,KAAAY,SAAA,CAAmBV,CAAA,EAAnB,CAA6D,CAA/BoK,CAA+B,GAArB7J,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GADJ,CADA,CADA,CADA,CADA,CADA,CADA,CADA,CADJ,EAU7D,KAAUkL,MAAJ,CAAU,sCAAV,CAAN,CACI/H,CAAAA,CAAQzE,CAAAyM,WAAA,CAAgB1B,CAAhB,CAAuBE,CAAvB,CAA8BE,CAA9B,CAAqC,CAAA,CAArC,CACZ,OAAIzG,EAAJ,EACI,IAAA3D,OACO0D,CADO1D,CACP0D,CAAAA,CAFX,EAIW,OACMA,CADN,QAEO1D,CAFP,CAEcK,CAFd,CAhCsC,CAgDrD,CAAAnB,CAAA+D,UAAA0I,mBAAA,CAA0CC,QAAQ,CAAC5L,CAAD,CAAS,CAEvD,CADI4J,CACJ,CADU,IAAA2B,aAAA,CAAkBvL,CAAlB,CACV,GAAW4J,CAAA,MAAX,WAAmC3K,EAAnC,CACI2K,CAAA,MADJ,CACmB1K,CAAA2L,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU1K,CAAA2L,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EANgD,CA9L/D,CAqNA1K,EAAA+D,UAAA4I,aAAA;AAAoCC,QAAQ,CAAChL,CAAD,CAAMd,CAAN,CAAc,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CAFsD,KAGlDiB,CAHkD,CAIlDgB,EAAInB,CAAAI,OACR,IAAK7B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOyB,EAAX,CACI,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CACJ,IAAKuB,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYgB,CAAZ,CAAe,EAAEhB,CAAjB,CACI,GAA2B,CAA3B,GAAIH,CAAAM,YAAA,CAAgBH,CAAhB,CAAJ,CACI,KAAM,KAAIxB,UAAJ,CAAe,uCAAf,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAOO,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CAXY,CAapB,IAAIhD,EAAQL,CAAZ,CAEAiC;AAAIpB,CAAA,CAAiBC,CAAjB,CACJd,EAAA,EAAUiC,CAAV,CAAY,CACR8J,EAAAA,CAAa,IAAApM,OAAA0D,WACbrD,EAAJ,CAAa+L,CAAb,EACI,IAAAlI,OAAA,CAAY,CAACkI,CAAD,EAAe,CAAf,EAAoB/L,CAApB,CAA6B+L,CAA7B,CAA0C/L,CAAtD,CACJA,EAAA,EAAUiC,CAAV,CAAY,CACZ,KAAIlB,CAAJ,CAAQkB,EAAInB,CAAAI,OACZ,KAAKD,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYgB,CAAZ,CAAehB,CAAA,EAAf,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL,CAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAAjB,CAAA,EAAUqB,CAAA,CAAiBN,CAAjB,CAAqB,IAArB,CAA2Bf,CAA3B,CAEd,KAAAF,KAAAwB,SAAA,CAAmBtB,CAAA,EAAnB,CAA6B,CAA7B,CACA,OAAI2D,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBK,CAxCsC,CAoD1DnB,EAAA+D,UAAA+I,YAAA,CAAmCC,QAAQ,CAACjM,CAAD,CAAS,CAChD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAH4B,IAU5ChD,EAAQL,CAVoC,CAW5CyJ,CAX4C,CAa5CyC,EAAM,EACV,GAAG,CACCzC,CAAA,CAAOtJ,CAAA,CAAiB,IAAjB,CAAuBH,CAAvB,CACPA,EAAA,EAAUyJ,CAAA,OACV,IAA0B,CAA1B,GAAIA,CAAA,UAAJ,CAA6B,KAC7ByC,EAAAC,KAAA,CAAS1C,CAAA,UAAT,CAJD,CAAH,MAKS,CALT,CAMA,OAAI9F,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAAoM,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CAFX,EAIW,QACOE,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CADP,QAEOlM,CAFP,CAEgBK,CAFhB,CAxBqC,CA0CpDnB,EAAA+D,UAAAsJ,aAAA,CAAoCC,QAAQ,CAAC1L,CAAD,CAAMd,CAAN,CAAc,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOyB,EAAX,CACI,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CAPY,CAHkC,IAYlDhD,EAAQL,CAZ0C,CAalDiC,CACJA,EAAA,CAAIpB,CAAA,CAAiBC,CAAjB,CACJd,EAAA,EAAU,CAAV,CAAYiC,CACZ,KAAIwK,EAAa,IAAA9M,OAAA0D,WACbrD,EAAJ,CAAayM,CAAb,EACI,IAAA5I,OAAA,CAAY,CAAC4I,CAAD,EAAe,CAAf,EAAoBzM,CAApB,CAA6ByM,CAA7B,CAA0CzM,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYiC,CACZ,KAAAnC,KAAAuG,UAAA,CAAoBrG,CAApB,CAA4BiC,CAA5B,CAA+B,IAAA7C,aAA/B,CACAY,EAAA,EAAU,CACViC,EAAA,CAAInB,CAAAI,OACJ,KAASD,IAAAA,EAAE,CAAFA,CAAKF,CAAd,CAAkBE,CAAlB,CAAoBgB,CAApB,CAAuBhB,CAAA,EAAvB,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL,CAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAAjB,CAAA,EAAUqB,CAAA,CAAiBN,CAAjB,CAAqB,IAArB,CAA2Bf,CAA3B,CAEd,OAAI2D,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBK,CAnCsC,CA+C1DnB,EAAA+D,UAAAyJ,YAAA,CAAmCC,QAAQ,CAAC3M,CAAD,CAAS,CAChD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D;CAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAH4B,IAU5CoG,EAAO,CAVqC,CAW5CpJ,EAAQL,CAXoC,CAahDyJ,EAAO,IAAA3J,KAAA0G,UAAA,CAAoBxG,CAApB,CAA4B,IAAAZ,aAA5B,CACPY,EAAA,EAAU,CAGV,KAjBgD,IAe5CiC,EAAIjC,CAAJiC,CAAawH,CAf+B,CAgB5CyC,EAAM,EACV,CAAOlM,CAAP,CAAgBiC,CAAhB,CAAA,CACIwH,CAEA,CAFOtJ,CAAA,CAAiB,IAAjB,CAAuBH,CAAvB,CAEP,CADAA,CACA,EADUyJ,CAAA,OACV,CAAAyC,CAAAC,KAAA,CAAS1C,CAAA,UAAT,CAEJ3I,EAAA,CAAMsL,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CACN,OAAIvI,EAAJ,EACI,IAAA3D,OACOc,CADOd,CACPc,CAAAA,CAFX,EAIW,QACOA,CADP,QAEOd,CAFP,CAEgBK,CAFhB,CA3BqC,CA0CpDnB,EAAA0N,cAAA,CAA2B,GAQ3B1N,EAAA2N,cAAA;AAA2B,GAS3B3N,EAAA+D,UAAA6J,gBAAA,CAAuCC,QAAQ,CAACjM,CAAD,CAAMd,CAAN,CAAc,CACzD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOpB,IAAIpB,CAAJ,CACI5B,EAAQL,CAEZiC,EAAA,CAAIpB,CAAA,CAAiBC,CAAjB,CACJd,EAAA,EAAUiC,CACV,KAAI+K,EAAa,IAAArN,OAAA0D,WACbrD,EAAJ,CAAagN,CAAb,EACI,IAAAnJ,OAAA,CAAY,CAACmJ,CAAD,EAAe,CAAf,EAAoBhN,CAApB,CAA6BgN,CAA7B,CAA0ChN,CAAtD,CACJA,EAAA,EAAUiC,CACV,KAAShB,CAAT,CAAW,CAAX,CAAcA,CAAd,CAAgBH,CAAAI,OAAhB,CAA4BD,CAAA,EAA5B,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL;AAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAAjB,CAAA,EAAUqB,CAAA,CAAiBN,CAAjB,CAAqB,IAArB,CAA2Bf,CAA3B,CAEd,OAAI2D,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBK,CA/ByC,CA0C7DnB,EAAA+D,UAAAgK,YAAA,CAAmC/N,CAAA+D,UAAA6J,gBAUnC5N,EAAAgO,mBAAA,CAAgCC,QAAQ,CAACrM,CAAD,CAAM,CAE1C,IAF0C,IACtCE,EAAI,CADkC,CAC/BD,CAD+B,CAEjCE,EAAE,CAAX,CAAcA,CAAd,CAAgBH,CAAAI,OAAhB,CAA4BD,CAAA,EAA5B,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL,CAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAAD,CAAA,EAEJ,OAAOA,EAVmC,CAoB9C9B,EAAAkO,mBAAA,CAAgCvM,CAahC3B,EAAA+D,UAAAoK,eAAA,CAAsCC,QAAQ,CAACpM,CAAD,CAASqM,CAAT,CAAkBvN,CAAlB,CAA0B,CAC7C,QAAvB,GAAI,MAAOuN,EAAX,GACIvN,CACA,CADSuN,CACT,CAAAA,CAAA,CAAUvL,IAAAA,EAFd,CAIA,KAAI2B,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAOuN,EAAX,GAAoCA,CAApC,CAA8CrO,CAAA0N,cAA9C,CACA,IAAKvN,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO6B,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIxB,SAAJ,CAAc,kBAAd,CAAiCwB,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAOlB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CARY,CARgD,IAmBhEpC,EAAI,CAnB4D,CAoBhEZ,EAAQL,CApBwD,CAqBhEyJ,CACJ,IAAI8D,CAAJ,GAAgBrO,CAAA0N,cAAhB,CAA0C,CAEtC,IADAV,CACA,CADM,EACN,CAAOjL,CAAP,CAAWC,CAAX,CAAA,CACIuI,CAGA,CAHOtJ,CAAA,CAAiB,IAAjB,CAAuBH,CAAvB,CAGP,CAFAA,CAEA,EAFUyJ,CAAA,OAEV,CADAyC,CAAAC,KAAA,CAAS1C,CAAA,UAAT,CACA,CAAA,EAAExI,CAEN,OAAI0C,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAAoM,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CAFX,EAIW,QACOE,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CADP;OAEOlM,CAFP,CAEgBK,CAFhB,CAZ2B,CAiBnC,GAAIkN,CAAJ,GAAgBrO,CAAA2N,cAAhB,CAA0C,CAC7C,GAAKxN,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BkB,CAA3B,CAAoC,IAAAvB,OAAA0D,WAApC,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAA8C,KAA9C,CAAoDkB,CAApD,CAA2D,OAA3D,CAAmE,IAAAvB,OAAA0D,WAAnE,CAAN,CALY,CAOhBpB,CAAAA,CAAIjC,CAAJiC,CAAaf,CAEjB,KADAgL,CACA,CADM,EACN,CAAOlM,CAAP,CAAgBiC,CAAhB,CAAA,CACIwH,CAEA,CAFOtJ,CAAA,CAAiB,IAAjB,CAAuBH,CAAvB,CAEP,CADAA,CACA,EADUyJ,CAAA,OACV,CAAAyC,CAAAC,KAAA,CAAS1C,CAAA,UAAT,CAEJ,IAAIzJ,CAAJ,GAAeiC,CAAf,CACI,KAAM,KAAIxC,UAAJ,CAAe,wCAAf,CAAwDwC,CAAxD,CAAN,CACJ,MAAI0B,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAAoM,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CAFX,EAIW,QACOE,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B;AAAmCF,CAAnC,CADP,QAEOlM,CAFP,CAEgBK,CAFhB,CArBkC,CA2B7C,KAAM,KAAIX,SAAJ,CAAc,uBAAd,CAAsC6N,CAAtC,CAAN,CAlEgE,CAiFxErO,EAAA+D,UAAAuK,WAAA,CAAkCtO,CAAA+D,UAAAoK,eAalCnO,EAAA+D,UAAAwK,aAAA,CAAoCC,QAAQ,CAAC5M,CAAD,CAAMd,CAAN,CAAc,CACtD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOyB,EAAX,CACI,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN;AAPY,CAHkC,IAYlDhD,EAAQL,CAZ0C,CAalDiC,CAbkD,CAa/C0L,CACP1L,EAAA,CAAIpB,CAAA,CAAiBC,CAAjB,CACJ6M,EAAA,CAAIzO,CAAAyJ,kBAAA,CAA6B1G,CAA7B,CACJjC,EAAA,EAAU2N,CAAV,CAAY1L,CACZ,KAAI2L,EAAa,IAAAjO,OAAA0D,WACbrD,EAAJ,CAAa4N,CAAb,EACI,IAAA/J,OAAA,CAAY,CAAC+J,CAAD,EAAe,CAAf,EAAoB5N,CAApB,CAA6B4N,CAA7B,CAA0C5N,CAAtD,CACJA,EAAA,EAAU2N,CAAV,CAAY1L,CACZjC,EAAA,EAAU,IAAAiJ,cAAA,CAAmBhH,CAAnB,CAAsBjC,CAAtB,CACViC,EAAA,CAAInB,CAAAI,OACJ,KAASD,CAAT,CAAW,CAAX,CAAkBA,CAAlB,CAAoBgB,CAApB,CAAuBhB,CAAA,EAAvB,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL,CAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAAjB,CAAA,EAAUqB,CAAA,CAAiBN,CAAjB,CAAqB,IAArB,CAA2Bf,CAA3B,CAEd,OAAI2D,EAAJ,EACI,IAAA3D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBK,CAnCsC,CA+C1DnB,EAAA+D,UAAA4K,YAAA,CAAmCC,QAAQ,CAAC9N,CAAD,CAAS,CAChD,IAAI2D,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb;AAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAH4B,IAU5CoG,EAAO,IAAAF,aAAA,CAAkBvJ,CAAlB,CAVqC,CAW5CK,EAAQL,CAEZA,EAAA,EAAUyJ,CAAA,OAIV,KAHA,IAAAA,EAAOA,CAAA,MAAP,CACIxH,EAAIjC,CAAJiC,CAAawH,CADjB,CAEIyC,EAAM,EACV,CAAOlM,CAAP,CAAgBiC,CAAhB,CAAA,CACIwH,CAEA,CAFOtJ,CAAA,CAAiB,IAAjB,CAAuBH,CAAvB,CAEP,CADAA,CACA,EADUyJ,CAAA,OACV,CAAAyC,CAAAC,KAAA,CAAS1C,CAAA,UAAT,CAEJ3I,EAAA,CAAMsL,MAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CACN,OAAIvI,EAAJ,EACI,IAAA3D,OACOc,CADOd,CACPc,CAAAA,CAFX,EAIW,QACOA,CADP,QAEOd,CAFP,CAEgBK,CAFhB,CA3BqC,CAgDpDnB,EAAA+D,UAAA8K,OAAA,CAA8BC,QAAQ,CAACC,CAAD,CAASlM,CAAT,CAAmB/B,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAO+B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI/B,CACA,CADS+B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI2B,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOd4K,CAAN,WAAwB/O,EAAxB,GACI+O,CADJ,CACa/O,CAAAiD,KAAA,CAAgB8L,CAAhB,CAAwBlM,CAAxB,CADb,CAEIb,EAAAA,CAAS+M,CAAA/N,MAATgB,CAAwB+M,CAAAjO,OAC5B,IAAc,CAAd,EAAIkB,CAAJ,CAAiB,MAAO,KACxBlB,EAAA,EAAUkB,CACV,KAAIgN,EAAa,IAAAvO,OAAA0D,WACbrD,EAAJ,CAAakO,CAAb,EACI,IAAArK,OAAA,CAAY,CAACqK,CAAD,EAAe,CAAf,EAAoBlO,CAApB,CAA6BkO,CAA7B,CAA0ClO,CAAtD,CAEJsC,EAAA,IAAIF,UAAJ,CAAe,IAAAzC,OAAf,CADAK,CACA,CADUkB,CACV,CAAAoB,KAAA,CAAwCC,CAAA,IAAIH,UAAJ,CAAe6L,CAAAtO,OAAf,CAAA4C,UAAA,CAAuC0L,CAAAjO,OAAvC,CAAsDiO,CAAA/N,MAAtD,CAAxC,CACA+N,EAAAjO,OAAA,EAAiBkB,CACbyC,EAAJ,GAAc,IAAA3D,OAAd,EAA6BkB,CAA7B,CACA,OAAO,KA1BsD,CAuCjEhC,EAAA+D,UAAAkL,SAAA,CAAgCC,QAAQ,CAACC,CAAD;AAASrO,CAAT,CAAiB,CACrDqO,CAAAN,OAAA,CAAc,IAAd,CAAoB/N,CAApB,CACA,OAAO,KAF8C,CAYzDd,EAAA+D,UAAAqL,OAAA,CAA8BC,QAAQ,CAACD,CAAD,CAAS,CAC3C,IAAAjP,SAAA,CAAgB,CAACiP,CACjB,OAAO,KAFoC,CAU/CpP,EAAA+D,UAAA9D,SAAA,CAAgCqP,QAAQ,EAAG,CACvC,MAAO,KAAA7O,OAAA0D,WADgC,CAU3CnE,EAAA+D,UAAAwL,MAAA,CAA6BC,QAAQ,EAAG,CACpC,IAAA1O,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAA0D,WACb,KAAApD,aAAA,CAAqB,EACrB,OAAO,KAJ6B,CAcxCf,EAAA+D,UAAAC,MAAA,CAA6ByL,QAAQ,CAACC,CAAD,CAAO,CACxC,IAAIxO,EAAK,IAAIlB,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACLuP,EAAJ,EACQjP,CAGJ,CAHa,IAAIE,WAAJ,CAAgB,IAAAF,OAAA0D,WAAhB,CAGb,CAFAf,CAAA,IAAIF,UAAJ,CAAezC,CAAf,CAAA2C,KAAA,CAA2B,IAAA3C,OAA3B,CAEA,CADAS,CAAAT,OACA,CADYA,CACZ,CAAAS,CAAAN,KAAA,CAAU,IAAIC,QAAJ,CAAaJ,CAAb,CAJd,GAMIS,CAAAT,OACA,CADY,IAAAA,OACZ,CAAAS,CAAAN,KAAA,CAAU,IAAAA,KAPd,CASAM;CAAAJ,OAAA,CAAY,IAAAA,OACZI,EAAAH,aAAA,CAAkB,IAAAA,aAClBG,EAAAF,MAAA,CAAW,IAAAA,MACX,OAAOE,EAdiC,CA0B5ClB,EAAA+D,UAAA4L,QAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN;AARY,CAUpB,GAAc,CAAd,GAAI0L,CAAJ,EAAmBC,CAAnB,GAA2B,IAAArP,OAAA0D,WAA3B,CACI,MAAO,KACX,KAAI4L,EAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ,GAAIE,CAAJ,CAMI,MALA,KAAAtP,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0C8O,CAG1C,EADP,IAAA7O,MACO,CAFP,IAAAF,OAEO,CAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgBoP,CAAhB,CACb3M,EAAA,IAAIF,UAAJ,CAAezC,CAAf,CAAA2C,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAAzC,OAAf,CAAA4C,UAAA,CAAqCwM,CAArC,CAA4CC,CAA5C,CAA3B,CACA,KAAArP,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACa,EAAzB,EAAI,IAAAM,aAAJ,GAA4B,IAAAA,aAA5B,EAAiD8O,CAAjD,CACA,KAAA/O,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa+O,CACb,OAAO,KA/ByC,CA0CpD/P,EAAA+D,UAAA2L,KAAA,CAA4BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA;GAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAUpB,GAAI0L,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAI9P,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdkC,KAezCF,EAAW6P,CAAX7P,CAAiB4P,CAfwB,CAgBzC3O,EAAK,IAAIlB,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACTe,EAAAJ,OAAA,CAAY,CACZI,EAAAF,MAAA,CAAWf,CACY,EAAvB,EAAIiB,CAAAH,aAAJ,GAA0BG,CAAAH,aAA1B,EAA6C8O,CAA7C,CACA,KAAAI,OAAA,CAAY/O,CAAZ;AAAgB,CAAhB,CAAmB2O,CAAnB,CAA0BC,CAA1B,CACA,OAAO5O,EArBsC,CAoCjDlB,EAAA+D,UAAAkM,OAAA,CAA8BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAChF5L,CADgF,CAEhF6L,CACJ,IAAKnQ,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAAgD,aAAA,CAAwBmM,CAAxB,CADT,CAEQ,KAAM,KAAI3O,SAAJ,CAAc,kCAAd,CAAN,CAER2P,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAArO,OAAzD,CAAyEqP,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAAC3L,CAAD,CAAoC,WAApC,GAAY,MAAO2L,EAAnB,EAAmD,IAAAtP,OAAnD,CAAiEsP,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAArP,MAArC,CAAkDqP,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAA1O,OAAA0D,WAAvC,CACI,KAAM,KAAI5D,UAAJ,CAAe,6BAAf,CAA6C4P,CAA7C,CAA0D,MAA1D,CAAiEhB,CAAA1O,OAAA0D,WAAjE,CAAN,CACJ,GAAmB,CAAnB,CAAIiM,CAAJ,EAAwBC,CAAxB,CAAsC,IAAA5P,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,6BAAf,CAA6C6P,CAA7C,CAA0D,MAA1D,CAAiE,IAAA3P,OAAA0D,WAAjE,CAAN;AAEJ,IAAI4L,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEA3M,EAAA,IAAIF,UAAJ,CAAeiM,CAAA1O,OAAf,CAAA2C,KAAA,CAAkCC,CAAA,IAAIH,UAAJ,CAAe,IAAAzC,OAAf,CAAA4C,UAAA,CAAqC+M,CAArC,CAAmDC,CAAnD,CAAlC,CAAmGF,CAAnG,CAEI1L,EAAJ,GAAc,IAAA3D,OAAd,EAA6BiP,CAA7B,CACIO,EAAJ,GAAoBnB,CAAArO,OAApB,EAAqCiP,CAArC,CAEA,OAAO,KA3B6E,CAsCxF/P,EAAA+D,UAAAwM,eAAA,CAAsCC,QAAQ,CAACvQ,CAAD,CAAW,CACrD,IAAIwQ,EAAU,IAAAhQ,OAAA0D,WACd,OAAIsM,EAAJ,CAAcxQ,CAAd,CACW,IAAA0E,OAAA,CAAY,CAAC8L,CAAD,EAAY,CAAZ,EAAiBxQ,CAAjB,CAA4BwQ,CAA5B,CAAsCxQ,CAAlD,CADX,CAEO,IAJ8C,CAkBzDD,EAAA+D,UAAA2M,KAAA,CAA4BC,QAAQ,CAACnM,CAAD,CAAQqL,CAAR,CAAeC,CAAf,CAAoB,CACpD,IAAIrL,EAA4B,WAA5BA,GAAW,MAAOoL,EAClBpL,EAAJ,GAAcoL,CAAd,CAAsB,IAAA/O,OAAtB,CACqB,SAArB,GAAI,MAAO0D,EAAX,EAAgD,CAAhD,CAAiCA,CAAAxC,OAAjC,GACIwC,CADJ,CACYA,CAAAvC,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAO4N,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA;GAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhE,SAAJ,CAAc,iBAAd,CAAgCgE,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAOqL,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CAXY,CAapB,GAAI0L,CAAJ,EAAaC,CAAb,CAAkB,MAAO,KACzB,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAAlP,KAAAwB,SAAA,CAAmByN,CAAA,EAAnB,CAA4BrL,CAA5B,CAChBC,EAAJ,GACI,IAAA3D,OADJ,CACkB+O,CADlB,CAGA,OAAO,KAzB6C,CAkCxD7P;CAAA+D,UAAA6M,KAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAA7P,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH4B,CAcvCd,EAAA+D,UAAA+M,KAAA,CAA4BC,QAAQ,CAACjQ,CAAD,CAAS,CACzCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOpB,IAAApD,aAAA,CAAoBD,CACpB,OAAO,KAVkC,CAkB7Cd,EAAA+D,UAAAiN,MAAA,CAA6BC,QAAQ,CAAC/Q,CAAD,CAAe,CAChD,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM,KAAIM,SAAJ,CAAc,qCAAd,CAAN;AAER,IAAAN,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANyC,CAepDF,EAAA+D,UAAAmN,GAAA,CAA0BC,QAAQ,CAACjR,CAAD,CAAe,CAC7C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFsC,CAWjDF,EAAA+D,UAAAqN,GAAA,CAA0BC,QAAQ,CAACC,CAAD,CAAY,CAC1C,IAAApR,aAAA,CAAyC,WAArB,GAAA,MAAOoR,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFmC,CAkB9CtR,EAAA+D,UAAAwN,QAAA,CAA+BC,QAAQ,CAACzC,CAAD,CAASlM,CAAT,CAAmB/B,CAAnB,CAA2B,CAC9D,GAAwB,QAAxB,GAAI,MAAO+B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI/B,CACA,CADS+B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI2B,EAA6B,WAA7BA,GAAW,MAAO3D,EAClB2D,EAAJ,GAAc3D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA0D,WAA/B,CACI,KAAM,KAAI5D,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAA0D,WAA9D,CAAN,CALY,CAOd4K,CAAN,WAAwB/O,EAAxB,GACI+O,CADJ,CACa/O,CAAAiD,KAAA,CAAgB8L,CAAhB,CAAwBlM,CAAxB,CADb,CAEIkN,EAAAA,CAAMhB,CAAA/N,MAAN+O,CAAqBhB,CAAAjO,OACzB,IAAW,CAAX,EAAIiP,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAa3Q,CAAjB,CACI4Q,CACJ,IAAW,CAAX,CAAID,CAAJ,CAAc,CACV,IAAIhR,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAA0D,WAAhB,CAAyCsN,CAAzC,CACbC,EAAA,CAAY,IAAIxO,UAAJ,CAAezC,CAAf,CACZiR,EAAAtO,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe,IAAAzC,OAAf,CAAA4C,UAAA,CAAqCvC,CAArC,CAA6C,IAAAL,OAAA0D,WAA7C,CAAd,CAAoF4L,CAApF,CACA,KAAAtP,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACZ,KAAAK,OAAA,EAAe2Q,CACU,EAAzB,EAAI,IAAA1Q,aAAJ,GAA4B,IAAAA,aAA5B,EAAiD0Q,CAAjD,CACA,KAAAzQ,MAAA,EAAcyQ,CACd3Q,EAAA,EAAU2Q,CATA,CAAd,IAWIC,EAAA,CAAY,IAAIxO,UAAJ,CAAe,IAAAzC,OAAf,CAEhBiR,EAAAtO,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe6L,CAAAtO,OAAf,CAAA4C,UAAA,CAAuC0L,CAAAjO,OAAvC,CAAsDiO,CAAA/N,MAAtD,CAAd,CAAmFF,CAAnF,CAA4FiP,CAA5F,CACAhB,EAAAjO,OAAA,CAAgBiO,CAAA/N,MACZyD;CAAJ,GACI,IAAA3D,OADJ,EACmBiP,CADnB,CAEA,OAAO,KArCuD,CAmDlE/P,EAAA+D,UAAA4N,UAAA,CAAiCC,QAAQ,CAACzC,CAAD,CAASrO,CAAT,CAAiB,CACtDqO,CAAAoC,QAAA,CAAe,IAAf,CAAqBzQ,CAArB,CACA,OAAO,KAF+C,CAS1Dd,EAAA+D,UAAA8N,WAAA,CAAkCC,QAAQ,CAAC9E,CAAD,CAAM,CACzB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqC+E,OAAAC,IAAAC,KAAA,CAAiBF,OAAjB,CAArC,CACA/E,EAAA,CACI,IAAA3I,SAAA,EADJ,CAEI,yEAFJ,CAGI,IAAA6N,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF4C,CAehDlS,EAAA+D,UAAAoO,UAAA,CAAiCC,QAAQ,EAAG,CACxC,MAAO,KAAApR,MAAP,CAAoB,IAAAF,OADoB,CAW5Cd,EAAA+D,UAAAsO,MAAA,CAA6BC,QAAQ,EAAG,CACX,CAAzB,EAAI,IAAAvR,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP6B,CAkBxCd,EAAA+D,UAAAY,OAAA;AAA8B4N,QAAQ,CAACtS,CAAD,CAAW,CAC7C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAM,KAAIO,SAAJ,CAAc,oBAAd,CAAmCP,CAAnC,CAA4C,mBAA5C,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAM,KAAIM,UAAJ,CAAe,yBAAf,CAAyCN,CAAzC,CAAN,CALY,CAOhB,IAAAQ,OAAA0D,WAAJ,CAA6BlE,CAA7B,GACQQ,CAGJ,CAHa,IAAIE,WAAJ,CAAgBV,CAAhB,CAGb,CAFAmD,CAAA,IAAIF,UAAJ,CAAezC,CAAf,CAAA2C,KAAA,CAA2B,IAAIF,UAAJ,CAAe,IAAAzC,OAAf,CAA3B,CAEA,CADA,IAAAA,OACA,CADcA,CACd,CAAA,IAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CAJhB,CAMA,OAAO,KAdsC,CAuBjDT,EAAA+D,UAAAyO,QAAA,CAA+BC,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX;AAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAUpB,GAAI0L,CAAJ,GAAcC,CAAd,CACI,MAAO,KACX4C,MAAA3O,UAAAyO,QAAAvO,KAAA,CAA6BZ,CAAA,IAAIH,UAAJ,CAAe,IAAAzC,OAAf,CAAA4C,UAAA,CAAqCwM,CAArC,CAA4CC,CAA5C,CAA7B,CACA,KAAAlP,KAAA,CAAY,IAAIC,QAAJ,CAAa,IAAAJ,OAAb,CACZ,OAAO,KAjByC,CAyBpDT,EAAA+D,UAAA4O,KAAA,CAA4BC,QAAQ,CAAC5Q,CAAD,CAAS,CACzC,GAAK7B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO6B,EAAX,EAAiD,CAAjD;AAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIxB,SAAJ,CAAc,kBAAd,CAAiCwB,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIlB,EAAS,IAAAA,OAATA,CAAuBkB,CAC3B,IAAK7B,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQW,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAA0D,WAD/B,EAEQ,KAAM,KAAI5D,UAAJ,CAAe,uBAAf,CAAuC,IAAAO,OAAvC,CAAmD,KAAnD,CAAyDkB,CAAzD,CAAgE,MAAhE,CAAuE,IAAAvB,OAAA0D,WAAvE,CAAN,CAER,IAAArD,OAAA,CAAcA,CACd,OAAO,KAZkC,CAsB7Cd,EAAA+D,UAAA8O,MAAA,CAA6BC,QAAQ,CAACjD,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB;AAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAUpB,IAAIjD,EAAK,IAAA8C,MAAA,EACT9C,EAAAJ,OAAA,CAAY+O,CACZ3O,EAAAF,MAAA,CAAW8O,CACX,OAAO5O,EAhBuC,CA2BlDlB,EAAA+D,UAAAgP,SAAA,CAAgCC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC5CnS,EAAS,IAAAA,OADmC,CAE5CE,EAAQ,IAAAA,MACZ,IAAIF,CAAJ,CAAaE,CAAb,CACI,IAAIkS,EAAIpS,CAAR,CACAA,EAASE,CADT,CAEAA,EAAQkS,CAEZ,IAAK/S,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,gCAAd,CAAN,CACJM,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIR,SAAJ,CAAc,+BAAd,CAAN;AACJQ,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAA0D,WAA5C,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCO,CAAtC,CAA6C,MAA7C,CAAoDE,CAApD,CAA0D,MAA1D,CAAiE,IAAAP,OAAA0D,WAAjE,CAAN,CARY,CAYpB,GAAK8O,CAAAA,CAAL,EAA6B,CAA7B,GAAkBnS,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAA0D,WAA5C,CACI,MAAO,KAAA1D,OAEX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EAEPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACbsC,EAAA,IAAIF,UAAJ,CAAezC,CAAf,CAAA2C,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAAzC,OAAf,CAAA4C,UAAA,CAAqCvC,CAArC,CAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EA5ByC,CA0CpDT,EAAA+D,UAAAoP,cAAA,CAAqCnT,CAAA+D,UAAAgP,SAYrC/S,EAAA+D,UAAAM,SAAA,CAAgC+O,QAAQ,CAACvQ,CAAD,CAAW,CAC/C,GAAwB,WAAxB,GAAI,MAAOA,EAAX,CACI,MAAO,sBAAP,CAA8B,IAAA/B,OAA9B,CAA0C,gBAA1C,CAA2D,IAAAC,aAA3D,CAA6E,SAA7E;AAAuF,IAAAC,MAAvF,CAAkG,YAAlG,CAA+G,IAAAf,SAAA,EAA/G,CAA+H,GACnI,QAAQ4C,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAAwQ,OAAA,EACX,MAAK,QAAL,CACI,MAAO,KAAAC,SAAA,EACX,MAAK,KAAL,CACI,MAAO,KAAAC,MAAA,EACX,MAAK,QAAL,CACI,MAAO,KAAAC,SAAA,EACX,MAAK,OAAL,CACI,MAAO,KAAAtB,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAuB,EAAA,EACX,SACI,KAAUlH,MAAJ,CAAU,wBAAV,CAAmC1J,CAAnC,CAAN,CAdR,CAH+C,CA4BnD,KAAI6Q,EAAM,mEAAV,CACAA,EAAMA,CAANA,CAAU,EASV1T,EAAA+D,UAAAuP,SAAA,CAAgCK,QAAQ,CAAC9D,CAAD,CAAQC,CAAR,CAAa,CAC5B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA;GAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAUpB,GAAI0L,CAAJ,GAAcC,CAAd,CAAmB,MAAO,EAK1B,KAlBiD,IAc7C8D,CAd6C,CAczCC,CAdyC,CAcrCC,CAdqC,CAe7CC,CAf6C,CAezCC,CAfyC,CAgB7CC,CAhB6C,CAiB7CjH,EAAM,EACV,CAAO6C,CAAP,CAAeC,CAAf,CAAA,CACI8D,CAWA,CAXK,IAAAhT,KAAAY,SAAA,CAAmBqO,CAAA,EAAnB,CAWL,CAVAgE,CAUA,CAVK,CAACE,CAAD,CAAMlE,CAAN,CAAcC,CAAd,EAAqB,IAAAlP,KAAAY,SAAA,CAAmBqO,CAAA,EAAnB,CAArB,CAAmD,CAUxD,CATAiE,CASA,CATK,CAACE,CAAD,CAAMnE,CAAN,CAAcC,CAAd,EAAqB,IAAAlP,KAAAY,SAAA,CAAmBqO,CAAA,EAAnB,CAArB,CAAmD,CASxD,CARAoE,CAQA,CAR2BL,CAQ3B,EARiC,CAQjC,CAPAM,CAOA,EAPON,CAOP,CAPY,CAOZ,GAPqB,CAOrB,CAP2BC,CAO3B,EAPiC,CAOjC,CANAM,CAMA,EANON,CAMP,CANY,EAMZ;AANqB,CAMrB,CAN2BC,CAM3B,EANiC,CAMjC,CALAM,CAKA,EALY,EAKZ,CAJKJ,CAIL,GAHII,CACA,CADK,EACL,CAAKL,CAAL,GAASI,CAAT,CAAc,EAAd,CAEJ,EAAAnH,CAAA,EAAO0G,CAAAW,OAAA,CAAWJ,CAAX,CAAP,CAAwBP,CAAAW,OAAA,CAAWH,CAAX,CAAxB,CAAyCR,CAAAW,OAAA,CAAWF,CAAX,CAAzC,CAA0DT,CAAAW,OAAA,CAAWD,CAAX,CAE9D,OAAOpH,EAhC0C,CA6CrDhN,EAAA0D,WAAA,CAAwB4Q,QAAQ,CAAC1S,CAAD,CAAM1B,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAOyB,EAAX,CACI,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAuB,CAAvB,GAAIoB,CAAAI,OAAJ,CAAiB,CAAjB,CACI,KAAM,KAAIxB,SAAJ,CAAc,yCAAd,CAAN,CAJO,CAD2C,IAOtDuP,EAAMnO,CAAAI,OAPgD,CAQtDuS,EAAS,CAR6C,CAStDxS,CACJ,KAAKA,CAAL,CAAOH,CAAAI,OAAP,CAAkB,CAAlB,CAAwB,CAAxB,EAAqBD,CAArB,CAA2B,EAAEA,CAA7B,CACI,GAAsB,GAAtB,GAAIH,CAAAyS,OAAA,CAAWtS,CAAX,CAAJ,CAA2BwS,CAAA,EAA3B,KACK,MAET,IAAa,CAAb,CAAIA,CAAJ,CACI,KAAM,KAAI/T,SAAJ,CAAc,kCAAd,CAAN,CACJ,GAAY,CAAZ,GAAIuP,CAAJ,CACI,MAAO,KAAI/P,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CAjB+C,KAkBlD0T,CAlBkD,CAkB9CC,CAlB8C,CAkB1CU,CAlB0C,CAoBtDtT,EAAK,IAAIlB,CAAJ,CAAe+P,CAAf,CAAmB,CAAnB,CAAqB,CAArB,CAAuBwE,CAAvB,CAA+BrU,CAA/B,CAA6CC,CAA7C,CACT,KAAUsU,CAAV,CAAK1S,CAAL,CAAO,CAAP,CAAeA,CAAf;AAAiBgO,CAAjB,CAAA,CAAwB,CACpB6D,CAAA,CAAsBF,CAAAgB,QAAA,CAAY9S,CAAAyS,OAAA,CAAWtS,CAAA,EAAX,CAAZ,CACtB8R,EAAA,CAAW9R,CAAN,CAAUgO,CAAV,CAAiB2D,CAAAgB,QAAA,CAAY9S,CAAAyS,OAAA,CAAWtS,CAAA,EAAX,CAAZ,CAAjB,CAAgD,CACrD+R,EAAA,CAAW/R,CAAN,CAAUgO,CAAV,CAAiB2D,CAAAgB,QAAA,CAAY9S,CAAAyS,OAAA,CAAWtS,CAAA,EAAX,CAAZ,CAAjB,CAAgD,CACrDyS,EAAA,CAAWzS,CAAN,CAAUgO,CAAV,CAAiB2D,CAAAgB,QAAA,CAAY9S,CAAAyS,OAAA,CAAWtS,CAAA,EAAX,CAAZ,CAAjB,CAAgD,CACrD,IAAK5B,CAAAA,CAAL,GACa,CADb,CACQyT,CADR,EACuB,CADvB,CACkBC,CADlB,EACiC,CADjC,CAC4BC,CAD5B,EAC2C,CAD3C,CACsCU,CADtC,EAEQ,KAAM,KAAIhU,SAAJ,CAAc,6CAAd,CAAN,CAERU,CAAAN,KAAAwB,SAAA,CAAiBqS,CAAA,EAAjB,CAAuBb,CAAvB,EAA6B,CAA7B,CAAmCC,CAAnC,EAAyC,CAAzC,CACW,GAAX,GAAIC,CAAJ,GACI5S,CAAAN,KAAAwB,SAAA,CAAiBqS,CAAA,EAAjB,CAAwBZ,CAAxB,EAA8B,CAA9B,CAAmC,GAAnC,CAA4CC,CAA5C,EAAkD,CAAlD,CAAsDW,CAAtD,CACA,CAAW,EAAX,GAAID,CAAJ,EACItT,CAAAN,KAAAwB,SAAA,CAAiBqS,CAAA,EAAjB,CAAwBX,CAAxB,EAA8B,CAA9B,CAAmC,GAAnC,CAA2CU,CAA3C,CAHR,CAVoB,CAiBxBtT,CAAAF,MAAA,CAAWyT,CACX,OAAOvT,EAvCmD,CAiD9DlB,EAAA2U,KAAA,CAAkBC,QAAQ,CAAChT,CAAD,CAAM,CAC5B,MAAO5B,EAAA4D,WAAA,CAAsBhC,CAAtB,CAAA0R,SAAA,EADqB,CAWhCtT,EAAA6U,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAO/U,EAAA0D,WAAA,CAAsBqR,CAAtB,CAAAvB,SAAA,EADqB,CAchCxT,EAAA+D,UAAAyP,SAAA,CAAgCwB,QAAQ,CAACnF,CAAD;AAAQC,CAAR,CAAa,CACjDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA/O,OAA/B,CAA6C+O,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAA9O,MAA7B,CAA0C8O,CAChD,IAAK3P,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAUpB,GAAI0L,CAAJ,GAAcC,CAAd,CAAmB,MAAO,EAE1B,KADA,IAAI9C,EAAM,EACV,CAAO6C,CAAP,CAAeC,CAAf,CAAA,CACI9C,CAAAC,KAAA,CAAS,IAAArM,KAAAY,SAAA,CAAmBqO,CAAA,EAAnB,CAAT,CACJ,OAAO3C,OAAA+H,aAAA7H,MAAA,CAA0BF,MAA1B;AAAkCF,CAAlC,CAjB0C,CA8BrDhN,EAAA4D,WAAA,CAAwBsR,QAAQ,CAACtT,CAAD,CAAM1B,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAOyB,EADf,CAEQ,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CAIR,IAP0D,IAKtDuB,EAAI,CALkD,CAK/CgB,EAAInB,CAAAI,OAL2C,CAMtDd,EAAK,IAAIlB,CAAJ,CAAe+C,CAAf,CAAkB7C,CAAlB,CAAgCC,CAAhC,CACT,CAAO4B,CAAP,CAASgB,CAAT,CAAA,CAAY,CACRoS,CAAA,CAAWvT,CAAAK,WAAA,CAAeF,CAAf,CACX,IAAK5B,CAAAA,CAAL,EAA4B,GAA5B,CAAiBgV,CAAjB,CACI,KAAM,KAAI3U,SAAJ,CAAc,sBAAd,CAAqCuB,CAArC,CAAuC,SAAvC,CAAiDoT,CAAjD,CAA0D,SAA1D,CAAN,CACJjU,CAAAN,KAAAwB,SAAA,CAAiBL,CAAA,EAAjB,CAAsBoT,CAAtB,CAJQ,CAMZjU,CAAAF,MAAA,CAAW+B,CACX,OAAO7B,EAdmD,CAoC9DlB,EAAA+D,UAAAmO,QAAA,CAA+BkD,QAAQ,CAACC,CAAD,CAAU,CAO7C,IAP6C,IACzCtT,EAAK,EADoC,CAEzCgB,EAAI,IAAAtC,OAAA0D,WAFqC,CAGzC9C,CAHyC,CAIzCiU,EAAM,EAJmC,CAKzCC,EAAM,EALmC,CAMzCvI,EAAM,EACV,CAAOjL,CAAP,CAASgB,CAAT,CAAA,CAAY,CACG,EAAX,GAAIhB,CAAJ,GACIV,CAGA,CAHI,IAAAT,KAAAY,SAAA,CAAmBO,CAAnB,CAGJ,CAFcuT,CAEd,CAFQ,EAAR,CAAIjU,CAAJ,CAAciU,CAAd,EAAqB,GAArB,CAAyBjU,CAAAgD,SAAA,CAAW,EAAX,CAAAmR,YAAA,EAAzB,EACKF,CADL,CACYjU,CAAAgD,SAAA,CAAW,EAAX,CAAAmR,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ;AACe,EAAJ,CAAAlU,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoB6L,MAAAC,cAAA,CAAqB9L,CAArB,CAApB,CAA8C,GADzD,CAJJ,CAQA,GAAEU,CACF,IAAIsT,CAAJ,EACY,CADZ,CACQtT,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCgB,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAOuS,CAAAtT,OAAP,CAAA,CAA4BsT,CAAA,EAAO,GACnCtI,EAAA,EAAOsI,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADAvT,CAAJ,GAAU,IAAAjB,OAAV,EAAyBiB,CAAzB,GAA+B,IAAAf,MAA/B,CACIsU,CADJ,EACWvT,CAAA,GAAM,IAAAhB,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESgB,CAAJ,GAAU,IAAAjB,OAAV,CACDwU,CADC,EACMvT,CAAA,GAAM,IAAAhB,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEIgB,CAAJ,GAAU,IAAAf,MAAV,CACDsU,CADC,EACMvT,CAAA,GAAM,IAAAhB,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGDuU,CAHC,EAGMvT,CAAA,GAAM,IAAAhB,aAAN,CAA0B,GAA1B,CAAiCsU,CAAA,EAAkB,CAAlB,GAAYtT,CAAZ,EAAuBA,CAAvB,GAA6BgB,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAIsS,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAAtT,OAAP,CAAA,CAA4BsT,CAAA,EAAO,GACnCtI,EAAA,EAAOsI,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUrI,CAAV,CAAgBsI,CArCsB,CAmDjDtV,EAAA8D,UAAA,CAAuB2R,QAAQ,CAAC7T,CAAD,CAAM1B,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrD4C,EAAInB,CAAAI,OACJd,EAAAA,CAAK,IAAIlB,CAAJ,EAAiB+C,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B7C,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrD4B,EAAI,CAHiD,CAG9C0S,EAAI,CAH0C,CAGvCiB,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC;AAK7BC,EAAK,CAAA,CALwB,CAMrDC,EAAO,CAAA,CACX,CAAOhU,CAAP,CAASgB,CAAT,CAAA,CAAY,CACR,OAAQ2S,CAAR,CAAa9T,CAAAyS,OAAA,CAAWtS,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAK5B,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChBC,CAAA,CAAO,CAAA,CAAM,MADG,CAGpBH,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMf5U,CAAAJ,OAAA,CAAYI,CAAAH,aAAZ,CAA8BG,CAAAF,MAA9B,CAAyCyT,CACzCkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,EAAUE,CAAV,CAAc,CACVC,CAAA,CAAO,CAAA,CAAM,MADH,CAGdH,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMf5U,CAAAJ,OAAA,CAAYI,CAAAF,MAAZ,CAAuByT,CACvBkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,EAAUC,CAAV,CAAc,CACVE,CAAA,CAAO,CAAA,CAAM,MADH,CAGdH,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMf3U,CAAAJ,OAAA,CAAYI,CAAAH,aAAZ,CAA8B0T,CAC9BkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,CAAQ,CACJG,CAAA,CAAO,CAAA,CAAM,MADT,CAGRH,CAAA,CAAK,CAAA,CAJM,CAMf1U,CAAAJ,OAAA,CAAY2T,CACZkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAI2V,CAAJ,EAAUD,CAAV,CAAc,CACVE,CAAA,CAAO,CAAA,CAAM,MADH,CAGdD,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMf3U,CAAAF,MAAA,CAAWE,CAAAH,aAAX,CAA6B0T,CAC7BkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAI2V,CAAJ,CAAQ,CACJC,CAAA,CAAO,CAAA,CAAM,MADT,CAGRD,CAAA,CAAK,CAAA,CAJM,CAMf5U,CAAAF,MAAA,CAAWyT,CACXkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAI0V,CAAJ,CAAQ,CACJE,CAAA;AAAO,CAAA,CAAM,MADT,CAGRF,CAAA,CAAK,CAAA,CAJM,CAMf3U,CAAAH,aAAA,CAAkB0T,CAClBkB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAKxV,CAAAA,CAAL,EACQwV,CADR,CACY,CACJI,CAAA,CAAO,CAAA,CAAM,MADT,CAIZ1U,CAAA,CAAI2U,QAAA,CAASN,CAAT,CAAY9T,CAAAyS,OAAA,CAAWtS,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAK5B,CAAAA,CAAL,GACQ8V,KAAA,CAAM5U,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAM,KAAIb,SAAJ,CAAc,yCAAd,CAAN,CAERU,CAAAN,KAAAwB,SAAA,CAAiBqS,CAAA,EAAjB,CAAsBpT,CAAtB,CACAsU,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAII,CAAJ,CACI,KAAM,KAAIvV,SAAJ,CAAc,iCAAd,CAAgDuB,CAAhD,CAAN,CA1FI,CA4FZ,GAAK5B,CAAAA,CAAL,CAAe,CACX,GAAKyV,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAM,KAAItV,SAAJ,CAAc,sCAAd,CAAN,CACJ,GAAIiU,CAAJ,CAAMvT,CAAAT,OAAA0D,WAAN,CACI,KAAM,KAAI3D,SAAJ,CAAc,uDAAd,CAAsEiU,CAAtE,CAAwE,KAAxE,CAA8E1R,CAA9E,CAAN,CAJO,CAMf,MAAO7B,EAzGkD,CAqH7DlB;CAAA+D,UAAAwP,MAAA,CAA6B2C,QAAQ,CAACrG,CAAD,CAAQC,CAAR,CAAa,CAC9CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA/O,OAA/B,CAA6C+O,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAA9O,MAA7B,CAA0C8O,CAChD,IAAK3P,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAYpB,IAf8C,IAa1C6I,EAAU0F,KAAJ,CAAU5C,CAAV,CAAgBD,CAAhB,CAboC,CAc1CxO,CACJ,CAAOwO,CAAP,CAAeC,CAAf,CAAA,CACIzO,CACA,CADI,IAAAT,KAAAY,SAAA,CAAmBqO,CAAA,EAAnB,CACJ,CAAQ,EAAR,CAAIxO,CAAJ,CAAc2L,CAAAC,KAAA,CAAS,GAAT;AAAc5L,CAAAgD,SAAA,CAAW,EAAX,CAAd,CAAd,CACK2I,CAAAC,KAAA,CAAS5L,CAAAgD,SAAA,CAAW,EAAX,CAAT,CAET,OAAO2I,EAAAmJ,KAAA,CAAS,EAAT,CApBuC,CAiClDnW,EAAA2D,QAAA,CAAqByS,QAAQ,CAACxU,CAAD,CAAM1B,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAOyB,EAAX,CACI,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAuB,CAAvB,GAAIoB,CAAAI,OAAJ,CAAiB,CAAjB,CACI,KAAM,KAAIxB,SAAJ,CAAc,yCAAd,CAAN,CAJO,CADwC,IAOnDuC,EAAInB,CAAAI,OACJd,EAAAA,CAAK,IAAIlB,CAAJ,CAAgB+C,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4B7C,CAA5B,CAET,KAHA,IAEImB,CAFJ,CAGSU,EAAE,CAHX,CAGc0S,EAAE,CAAhB,CAAmB1S,CAAnB,CAAqBgB,CAArB,CAAwBhB,CAAxB,EAA2B,CAA3B,CAA8B,CAC1BV,CAAA,CAAI2U,QAAA,CAASpU,CAAAyU,UAAA,CAActU,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAK5B,CAAAA,CAAL,GACS,CAAAmW,QAAA,CAASjV,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAM,KAAIb,SAAJ,CAAc,0CAAd,CAAN,CAERU,CAAAN,KAAAwB,SAAA,CAAiBqS,CAAA,EAAjB,CAAsBpT,CAAtB,CAN0B,CAQ9BH,CAAAF,MAAA,CAAWyT,CACX,OAAOvT,EAnBgD,CAyBtDgM,OAAAC,cAAL;AACK,QAAS,EAAG,CAaWA,QAAS,EAAA,EAAG,CAE5B,IAAIoJ,EAAY,EAAhB,CACIC,CADJ,CAEIC,CAFJ,CAGIC,EAAS,EAHb,CAII1U,EAAS2U,SAAA3U,OACb,IAAKA,CAAAA,CAAL,CACI,MAAO,EAEX,KADA,IAAI4U,EAAS,EACb,CAAO,EAAEF,CAAT,CAAiB1U,CAAjB,CAAA,CAAyB,CACjBP,CAAAA,CAAYoV,MAAA,CAAOF,SAAA,CAAUD,CAAV,CAAP,CAChB,IACK,CAAAJ,QAAA,CAAS7U,CAAT,CADL,EAEoB,CAFpB,CAEQA,CAFR,EAGoB,OAHpB,CAGQA,CAHR,EAIQqV,CAAA,CAAMrV,CAAN,CAJR,EAI4BA,CAJ5B,CAMI,KAAM,KAAIlB,UAAJ,CAAe,sBAAf,CAAwCkB,CAAxC,CAAN,CAEa,KAAjB,EAAIA,CAAJ,CACI8U,CAAAtJ,KAAA,CAAexL,CAAf,CADJ,EAIIA,CAGA,EAHa,KAGb,CAFA+U,CAEA,EAFiB/U,CAEjB,EAF8B,EAE9B,EAFoC,KAEpC,CADAgV,CACA,CADgBhV,CAChB,CAD4B,IAC5B,CADqC,KACrC,CAAA8U,CAAAtJ,KAAA,CAAeuJ,CAAf,CAA8BC,CAA9B,CAPJ,CASA,IAAIC,CAAJ,CAAY,CAAZ,EAAiB1U,CAAjB,EA5BW+U,KA4BX,CAA2BR,CAAAvU,OAA3B,CACI4U,CACA,EADUI,CAAA5J,MAAA,CAAyB,IAAzB,CAA+BmJ,CAA/B,CACV,CAAAA,CAAAvU,OAAA,CAAmB,CArBF,CAwBzB,MAAO4U,EAlCqB,CAZhC,IAAIK,EAAkB,QAAS,EAAG,CAE9B,GAAI,CACA,IAAIC,EAAS,EAAb,CACIC,EAAkB/S,MAAA6S,eADtB,CAEIL,EAASO,CAAA,CAAgBD,CAAhB,CAAwBA,CAAxB,CAAgCA,CAAhC,CAATN,EAAoDO,CAHxD,CAIF,MAAOC,CAAP,CAAc,EAEhB,MAAOR,EARuB,CAAZ,EAAtB,CAUII,EAAqB9J,MAAA+H,aAVzB,CAWI6B,EAAQO,IAAAP,MAqCRG,EAAJ,CACIA,CAAA,CAAe/J,MAAf,CAAuB,eAAvB,CAAwC,OAC3BC,CAD2B;aAEpB,CAAA,CAFoB,UAGxB,CAAA,CAHwB,CAAxC,CADJ,CAOID,MAAA,cAPJ,CAO8BC,CAxDrB,CAAZ,EA8DAD,OAAAnJ,UAAA7B,YAAL,EACK,QAAQ,EAAG,CAEUA,QAAQ,EAAA,CAACoV,CAAD,CAAW,CACjC,GAAa,IAAb,GAAI,IAAJ,CACI,KAAM,KAAI9W,SAAV,CAEJ,IAAI+W,EAASrK,MAAA,CAAO,IAAP,CAAb,CACIjD,EAAOsN,CAAAvV,OADX,CAGI0U,EAAQY,CAAA,CAAWT,MAAA,CAAOS,CAAP,CAAX,CAA8B,CACtCZ,EAAJ,EAAaA,CAAb,GACIA,CADJ,CACY,CADZ,CAIA,IAAI,EAAQ,CAAR,CAAAA,CAAA,EAAaA,CAAb,EAAsBzM,CAAtB,CAAJ,CAMA,MAFIuN,EAEJ,CAFYD,CAAAtV,WAAA,CAAkByU,CAAlB,CAEZ,CACa,KADb,EACIc,CADJ,EACgC,KADhC,EACuBA,CADvB,EAEQvN,CAFR,CAEeyM,CAFf,CAEuB,CAFvB,GAIIe,CACI,CADKF,CAAAtV,WAAA,CAAkByU,CAAlB,CAA0B,CAA1B,CACL,CAAU,KAAV,EAAAe,CAAA,EAA8B,KAA9B,EAAoBA,CAL5B,EAOkC,IAPlC,EAOgBD,CAPhB,CAOwB,KAPxB,EAO0CC,CAP1C,CAOmD,KAPnD,CAO4D,KAP5D,CAUOD,CA5B0B,CA8BjCpT,MAAA6S,eAAJ,CACI7S,MAAA6S,eAAA,CAAsB/J,MAAAnJ,UAAtB,CAAwC,aAAxC,CAAuD,OAC1C7B,CAD0C,cAEnC,CAAA,CAFmC,UAGvC,CAAA,CAHuC,CAAvD,CADJ,CAOIgL,MAAAnJ,UAAA,YAPJ,CAOsC7B,CAvC9B,CAAX,EAgKLlC,EAAA+D,UAAAsP,OAAA;AAA8BqE,QAAQ,CAAC7H,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA/O,OAA1C,CACmB,YAAnB,GAAI,MAAOgP,EAAX,GAAgCA,CAAhC,CAAsC,IAAA9O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO0P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIrP,SAAJ,CAAc,+BAAd,CAAN,CACJqP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAItP,SAAJ,CAAc,6BAAd,CAAN,CACJsP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAArP,OAAA0D,WAAtC,CACI,KAAM,KAAI5D,UAAJ,CAAe,sBAAf,CAAsCsP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAArP,OAAA0D,WAA9D,CAAN,CARY,CAWpB,IAd+C,IAa3C6I,EAAM,EAbqC,CAajCzC,CACd,CAAOsF,CAAP,CAAeC,CAAf,CAAA,CACIvF,CAEA,CAFOtJ,CAAA,CAAiB,IAAjB,CAAuB4O,CAAvB,CAEP,CADA7C,CAAAC,KAAA,CAAS1C,CAAA,UAAT,CACA,CAAAsF,CAAA,EAAStF,CAAA,OAEb,IAAKpK,CAAA,IAAAA,SAAL;AACQ0P,CADR,GACkBC,CADlB,CAEQ,KAAM,KAAIvP,UAAJ,CAAe,+BAAf,CAAN,CAER,MAAO2M,OAAAC,cAAAC,MAAA,CAA2BF,MAA3B,CAAmCF,CAAnC,CAvBwC,CAoCnDhN,EAAA6D,SAAA,CAAsB8T,QAAQ,CAAC/V,CAAD,CAAM1B,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAOyB,EADf,CAEQ,KAAM,KAAIpB,SAAJ,CAAc,2BAAd,CAAN,CAEJU,CAAAA,CAAK,IAAIlB,CAAJ,CAAe2B,CAAA,CAAiBC,CAAjB,CAAf,CAAsC1B,CAAtC,CAAoDC,CAApD,CAET,KAPwD,IAO/C4B,EAAE,CAP6C,CAO1C0S,EAAE,CAPwC,CAOrC1R,EAAEnB,CAAAI,OAArB,CAAiCD,CAAjC,CAAmCgB,CAAnC,CAAsC,EAAEhB,CAAxC,CACIF,CAKA,CALKD,CAAAK,WAAA,CAAeF,CAAf,CAKL,CAJU,KAIV,EAJIF,CAIJ,EAJ0B,KAI1B,EAJoBA,CAIpB,GAHIA,CACA,CADKD,CAAAM,YAAA,CAAgBH,CAAhB,CACL,CAAS,KAAT,CAAIF,CAAJ,EAAiBE,CAAA,EAErB,EAAA0S,CAAA,EAAKtS,CAAA,CAAiBN,CAAjB,CAAqBX,CAArB,CAAyBuT,CAAzB,CAETvT,EAAAF,MAAA,CAAWyT,CACX,OAAOvT,EAhBiD,CAoB5D,OAAOlB,EA7lGmB,CAimGT,WAArB,EAAI,MAAO4X,OAAX,EAAoCA,MAAA,QAApC,CACIA,MAAA,QADJ,CACwB9X,CAAA,CAAe+X,OAAA,CAAQ,MAAR,CAAf,CADxB,CAE6B,WAAtB,GAAI,MAAOC,OAAX,EAAqCA,MAAA,IAArC,CACHA,MAAA,CAAO,YAAP;AAAqB,CAAC,WAAD,CAArB,CAAoC,QAAQ,CAAC/X,CAAD,CAAO,CAAE,MAAOD,EAAA,CAAeC,CAAf,CAAT,CAAnD,CADG,EAGEF,CAAA,QACL,GADwBA,CAAA,QACxB,CAD4C,EAC5C,EAAAA,CAAA,QAAA,WAAA,CAAkCC,CAAA,CAAeD,CAAA,QAAA,KAAf,CAJ/B,CA3mGO,CAAjB,CAAA,CAknGE,IAlnGF;", +"lineCount":88, +"mappings":"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", "sources":["dist\\ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","utf8_decode_char","bb","start","a","b","c","d","getUint8","codePoint","utf8_calc_char","utf8_calc_string","str","cp","n","i","length","charCodeAt","codePointAt","utf8_encode_char","setUint8","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","Error","from28Bits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","capacity12","readCString","ByteBuffer.prototype.readCString","out","push","String","fromCodePoint","apply","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","console","log","bind","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","fromCharCode","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","codeUnits","highSurrogate","lowSurrogate","index","arguments","result","Number","floor","MAX_SIZE","stringFromCharCode","defineProperty","object","$defineProperty","error","Math","position","string","first","second","ByteBuffer.prototype.toUTF8","ByteBuffer.fromUTF8","module","require","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","i","k","length","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","getUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","start","Error","from28Bits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","str","charCodeAt","utfx","calculateUTF16asUTF8","stringSource","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBuffer.prototype.readCString","sd","decodeUTF8toUTF16","stringDestination","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","out","console","log","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","push","String","fromCharCode","apply","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","src","dst","utfx.decodeUTF8","err","name","a","c","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.assertByte","utfx.assertCharCode","utfx.assertCodePoint","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","stringFromCharCode","utfx.stringSource","s","utfx.stringDestination","cs","ps","arguments","ByteBuffer.prototype.toUTF8","e","ByteBuffer.fromUTF8","module","require","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index d200aa4..544399f 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.0.3"; + ByteBuffer.VERSION = "3.1.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1542,7 +1542,7 @@ module.exports = (function() { if (typeof str !== 'string') throw new TypeError("Illegal str: Not a string"); for (i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - n++; - } - return n; + return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[0]; }; /** @@ -1801,7 +1792,11 @@ module.exports = (function() { * @returns {number} Number of UTF8 bytes * @expose */ - ByteBuffer.calculateUTF8Bytes = utf8_calc_string; + ByteBuffer.calculateUTF8Bytes = function(str) { + if (typeof str !== 'string') + throw new TypeError("Illegal argument: "+(typeof str)); + return Buffer.byteLength(str, "utf8"); + }; /** * Reads an UTF8 encoded string. @@ -1832,24 +1827,25 @@ module.exports = (function() { if (offset < 0 || offset + 0 > this.buffer.length) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } - var out, - i = 0, + var i = 0, start = offset, - temp; + temp, + sd; if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - out = []; - while (i < length) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - ++i; - } + sd = utfx.stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.buffer[offset++] : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }.bind(this)); + if (i !== length) + throw new RangeError("Illegal range: Truncated data, "+i+" == "+length); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - "string": String.fromCodePoint.apply(String, out), + "string": sd(), "length": offset - start }; } @@ -1915,8 +1911,8 @@ module.exports = (function() { var start = offset, k, l; var buffer = new Buffer(str, "utf8"); - l = ByteBuffer.calculateVarint32(buffer.length); k = buffer.length; + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.length; if (offset > capacity15) @@ -2789,7 +2785,7 @@ module.exports = (function() { if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); if (columns) { - asc += b > 32 && b < 127 ? String.fromCodePoint(b) : '.'; + asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; } } ++i; @@ -2983,86 +2979,278 @@ module.exports = (function() { return bb; }; - // encodings/utf8/native + // utfx-embeddable /** - * Decodes a single UTF8 character from the specified ByteBuffer. The ByteBuffer's offsets remain untouched. - * @param {!ByteBuffer} bb ByteBuffer to decode from - * @param {number} offset Offset to start at - * @returns {!{codePoint: number, length: number}} Decoded char code and the number of bytes read - * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details */ - function utf8_decode_char(bb, offset) { - var start = offset, - a, b, c, d, - codePoint; - if (offset+1 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); - a = bb.buffer[offset++]; - if ((a&0x80) === 0) { - codePoint = a; - } else if ((a&0xE0) === 0xC0) { - if (offset+1 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); - b = bb.buffer[offset++]; - codePoint = ((a&0x1F)<<6) | (b&0x3F); - } else if ((a&0xF0) === 0xE0) { - if (offset+2 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 2 <= "+bb.buffer.length); - b = bb.buffer[offset++]; - c = bb.buffer[offset++]; - codePoint = ((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F); - } else if ((a&0xF8) === 0xF0) { - if (offset+3 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 3 <= "+bb.buffer.length); - b = bb.buffer[offset++]; - c = bb.buffer[offset++]; - d = bb.buffer[offset++]; - codePoint = ((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F); - } else - throw new RangeError("Illegal code point at offset "+offset+": "+a); - return { - 'codePoint': codePoint, - 'length': offset - start + var utfx = function() { + "use strict"; + + /** + * utfx namespace. + * @inner + * @type {!Object.} + */ + var utfx = {}; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } }; - } + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; + }; + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; + } + } + } + dst(c1); + } + if (c2 !== null) dst(c2); + }; + + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; + + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; + + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; + + /** + * Asserts a byte value. + * @param {number} b 8bit byte value + * @returns {number} Valid byte value + * @throws {TypeError} If the byte value is invalid + * @throws {RangeError} If the byte value is out of range + */ + utfx.assertByte = function(b) { + if (typeof b !== 'number' || b !== b) + throw TypeError("Illegal byte: "+(typeof b)); + if (b < -128 || b > 255) + throw RangeError("Illegal byte: "+b); + return b; + }; + + /** + * Asserts an UTF16 char code. + * @param {number} c UTF16 char code + * @returns {number} Valid char code + * @throws {TypeError} If the char code is invalid + * @throws {RangeError} If the char code is out of range + */ + utfx.assertCharCode = function(c) { + if (typeof c !== 'number' || c !== c) + throw TypeError("Illegal char code: "+(typeof c)); + if (c < 0 || c > 0xFFFF) + throw RangeError("Illegal char code: "+c); + return c; + }; + + /** + * Asserts an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Valid code point + * @throws {TypeError} If the code point is invalid + * @throws {RangeError} If the code point is out of range + */ + utfx.assertCodePoint = function(cp) { + if (typeof cp !== 'number' || cp !== cp) + throw TypeError("Illegal code point: "+(typeof cp)); + if (cp < 0 || cp > 0x10FFFF) + throw RangeError("Illegal code point: "+cp); + return cp; + }; + + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; + + /** + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required + */ + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += utfx.calculateCodePoint(cp); + return l; + }; + + /** + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. + */ + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += utfx.calculateCodePoint(cp); + }); + return [n,l]; + }; + + return utfx; + }(); /** - * Calculates the actual number of bytes required to encode the specified char code. - * @param {number} codePoint Code point to encode - * @returns {number} Number of bytes required to encode the specified code point + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description */ - function utf8_calc_char(codePoint) { - if (codePoint < 0) - throw new RangeError("Illegal code point: "+codePoint); - if (codePoint < 0x80) return 1; - else if (codePoint < 0x800) return 2; - else if (codePoint < 0x10000) return 3; - else if (codePoint < 0x110000) return 4; - else throw new RangeError("Illegal code point: "+codePoint); - } + var stringFromCharCode = String.fromCharCode; /** - * Calculates the number of bytes required to store an UTF8 encoded string. - * @param {string} str String to calculate - * @returns {number} Number of bytes required - * @inner + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid */ - function utf8_calc_string(str) { - var cp, n = 0; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - n += utf8_calc_char(cp); - } - return n; - } + utfx.stringSource = function(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + }; + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + */ + utfx.stringDestination = function() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + }; // encodings/utf8 diff --git a/docs/module-ByteBuffer.html b/docs/module-ByteBuffer.html deleted file mode 100644 index 5ccb1e2..0000000 --- a/docs/module-ByteBuffer.html +++ /dev/null @@ -1,16779 +0,0 @@ - - - - - Module: ByteBuffer - - - - - - - - - - -
- -

Module: ByteBuffer

- - - - - -
- -
-

- ByteBuffer -

- -

The swiss army knife for binary data in JavaScript.

- -
- -
-
- - - - -

Constructs a new ByteBuffer.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - - - - - - - - -

Members

- -
- -
-

<static, constant> BIG_ENDIAN :boolean

- - -
-
- -
-

Big endian constant that can be used instead of its boolean value. Evaluates to false.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static> DEFAULT_CAPACITY :number

- - -
-
- -
-

Default initial capacity of 16.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static> DEFAULT_ENDIAN :boolean

- - -
-
- -
-

Default endianess of false for big endian.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static> DEFAULT_NOASSERT :boolean

- - -
-
- -
-

Default no assertions flag of false.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> LITTLE_ENDIAN :boolean

- - -
-
- -
-

Little endian constant that can be used instead of its boolean value. Evaluates to true.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> Long :Long

- - -
-
- -
-

A Long class for representing a 64-bit two's-complement integer value. May be null if Long.js has not been loaded - and int64 support is not available.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • https://github.com/dcodeIO/Long.js
  • -
-
- - - -
- - - -
- - - -
-

<static, constant> MAX_VARINT32_BYTES :number

- - -
-
- -
-

Maximum number of bytes required to store a 32bit base 128 variable-length integer.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> MAX_VARINT64_BYTES :number

- - -
-
- -
-

Maximum number of bytes required to store a 64bit base 128 variable-length integer.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> METRICS_BYTES :number

- - -
-
- -
-

Metrics representing number of bytes. Evaluates to 2.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> METRICS_CHARS :number

- - -
-
- -
-

Metrics representing number of UTF8 characters. Evaluates to 1.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> VERSION :string

- - -
-
- -
-

ByteBuffer version.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

buffer :ArrayBuffer

- - -
-
- -
-

Backing buffer.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

limit :number

- - -
-
- -
-

Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#flip
  • - -
  • ByteBuffer#clear
  • -
-
- - - -
- - - -
- - - -
-

littleEndian :boolean

- - -
-
- -
-

Whether to use little endian byte order, defaults to false for big endian.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

markedOffset :number

- - -
-
- -
-

Marked offset.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#mark
  • - -
  • ByteBuffer#reset
  • -
-
- - - -
- - - -
- - - -
-

noAssert :boolean

- - -
-
- -
-

Whether to skip assertions of offsets and values, defaults to false.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

offset :number

- - -
-
- -
-

Absolute read/write offset.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#flip
  • - -
  • ByteBuffer#clear
  • -
-
- - - -
- - - -
- - - -
-

readInt

- - -
-
- -
-

Reads a 32bit signed integer. This is an alias of ByteBuffer#readInt32.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

readLong

- - -
-
- -
-

Reads a 64bit signed integer. This is an alias of ByteBuffer#readInt64.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

view :DataView

- - -
-
- -
-

Data view to manipulate the backing buffer. Becomes null if the backing buffer has a capacity of 0.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

writeInt

- - -
-
- -
-

Writes a 32bit signed integer. This is an alias of ByteBuffer#writeInt32.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

writeLong

- - -
-
- -
-

Writes a 64bit signed integer. This is an alias of ByteBuffer#writeInt64.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-

<static> allocate(capacity, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Allocates a new ByteBuffer backed by a buffer of the specified capacity.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
capacity - - -number - - - - - - <optional>
- - - -

Initial capacity. Defaults to ByteBuffer.DEFAULT_CAPACITY.

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> atob(b64) → {string}

- - -
-
- - -
-

Decodes a base64 encoded string to binary like window.atob does.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
b64 - - -string - - - -

Base64 encoded string

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • https://developer.mozilla.org/en-US/docs/Web/API/Window.atob
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

Binary string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

<static> btoa(str) → {string}

- - -
-
- - -
-

Encodes a binary string to base64 like window.btoa does.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
str - - -string - - - -

Binary string

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

Base64 encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

<static> calculateUTF8Bytes(str) → {number}

- - -
-
- - -
-

Calculates the number of UTF8 bytes of a string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
str - - -string - - - -

String to calculate

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of UTF8 bytes

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> calculateUTF8Chars(str) → {number}

- - -
-
- - -
-

Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - length property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
str - - -string - - - -

String to calculate

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of UTF8 characters

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> calculateVarint32(value) → {number}

- - -
-
- - -
-

Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -number - - - -

Value to encode

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of bytes required. Capped to ByteBuffer.MAX_VARINT32_BYTES

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> calculateVarint64(value) → {number}

- - -
-
- - -
-

Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -number -| - -!Long - - - -

Value to encode

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of bytes required. Capped to ByteBuffer.MAX_VARINT64_BYTES

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> concat(buffers, encoding, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Concatenates multiple ByteBuffers into one.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
buffers - - -Array.<!ByteBuffer -| - -!ArrayBuffer -| - -!Uint8Array -| - -string> - - - - - - - -

Buffers to concatenate

encoding - - -string -| - -boolean - - - - - - <optional>
- - - -

String encoding if buffers contains a string ("base64", "hex", "binary", - defaults to "utf8")

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - to ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Concatenated ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromBase64(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a base64 encoded string to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromBinary(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromDebug(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a hex encoded string with marked offsets to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

Debug string to decode (not be generated with columns = true)

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#toDebug
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromHex(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a hex encoded string to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromUTF8(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes an UTF8 encoded string to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> isByteBuffer(bb) → {boolean}

- - -
-
- - -
-

Tests if the specified type is a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
bb - - -* - - - -

ByteBuffer to test

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

true if it is a ByteBuffer, otherwise false

-
- - - -
-
- Type -
-
- -boolean - - -
-
- - - - -
- - - -
-

<static> type() → {Function}

- - -
-
- - -
-

Gets the backing buffer type.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Buffer for NB builds, ArrayBuffer for AB builds (classes)

-
- - - -
-
- Type -
-
- -Function - - -
-
- - - - -
- - - -
-

<static> wrap(buffer, encoding, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Wraps a buffer or a string. Sets the allocated ByteBuffer's ByteBuffer#offset to 0 and its - ByteBuffer#limit to the length of the wrapped data.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
buffer - - -ByteBuffer -| - -!ArrayBuffer -| - -!Uint8Array -| - -string - - - - - - - -

Anything that can be wrapped

encoding - - -string -| - -boolean - - - - - - <optional>
- - - -

String encoding if buffer is a string ("base64", "hex", "binary", defaults to - "utf8")

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

A ByteBuffer wrapping buffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> zigZagDecode32(n) → {number}

- - -
-
- - -
-

Decodes a zigzag encoded signed 32bit integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
n - - -number - - - -

Unsigned zigzag encoded 32bit integer

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Signed 32bit integer

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> zigZagDecode64(value) → {Long}

- - -
-
- - -
-

Decodes a zigzag encoded signed 64bit integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -Long -| - -number - - - -

Unsigned zigzag encoded long or JavaScript number

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Signed long

-
- - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

<static> zigZagEncode32(n) → {number}

- - -
-
- - -
-

Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
n - - -number - - - -

Signed 32bit integer

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Unsigned zigzag encoded 32bit integer

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> zigZagEncode64(value) → {Long}

- - -
-
- - -
-

Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -number -| - -!Long - - - -

Signed long

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Unsigned zigzag encoded long

-
- - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

append(source, encoding, offset) → {ByteBuffer}

- - -
-
- - -
-

Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - data's length.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
source - - -ByteBuffer -| - -!ArrayBuffer -| - -!Uint8Array -| - -string - - - - - - - -

Data to append. If source is a ByteBuffer, its offsets - will be modified according to the performed read operation.

encoding - - -string -| - -number - - - - - - <optional>
- - - -

Encoding if data is a string ("base64", "hex", "binary", defaults to "utf8")

offset - - -number - - - - - - <optional>
- - - -

Offset to append at. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
Examples
- -
 A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|`
- -
 An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|`
- - -
- - - -
-

appendTo(target, offset) → {ByteBuffer}

- - -
-
- - -
-

Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents behind the specified - offset up to the length of this ByteBuffer's data.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
target - - -ByteBuffer - - - - - - - -

Target ByteBuffer

offset - - -number - - - - - - <optional>
- - - -

Offset to append to. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#append
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

assert(assert) → {ByteBuffer}

- - -
-
- - -
-

Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - disable them if your code already makes sure that everything is valid.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
assert - - -boolean - - - -

true to enable assertions, otherwise false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

BE(bigEndian) → {ByteBuffer}

- - -
-
- - -
-

Switches (to) big endian byte order.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
bigEndian - - -boolean - - - - - - <optional>
- - - -

Defaults to true, otherwise uses little endian

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

capacity() → {number}

- - -
-
- - -
-

Gets the capacity of this ByteBuffer's backing buffer.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Capacity of the backing buffer

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

clear() → {ByteBuffer}

- - -
-
- - -
-

Clears this ByteBuffer's offsets by setting ByteBuffer#offset to 0 and ByteBuffer#limit to the - backing buffer's capacity. Discards ByteBuffer#markedOffset.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

clone(copy) → {ByteBuffer}

- - -
-
- - -
-

Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for ByteBuffer#offset, - ByteBuffer#markedOffset and ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
copy - - -boolean - - - - - - <optional>
- - - -

Whether to copy the backing buffer or to return another view on the same, defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Cloned instance

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

compact(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Compacts this ByteBuffer to be backed by a ByteBuffer#buffer of its contents' length. Contents are the bytes - between ByteBuffer#offset and ByteBuffer#limit. Will set offset = 0 and limit = capacity and - adapt ByteBuffer#markedOffset to the same relative position if set.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to start at, defaults to ByteBuffer#offset

end - - -number - - - - - - <optional>
- - - -

Offset to end at, defaults to ByteBuffer#limit

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

copy(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Creates a copy of this ByteBuffer's contents. Contents are the bytes between ByteBuffer#offset and - ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Begin offset, defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

End offset, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Copy

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

copyTo(target, targetOffset, sourceOffset, sourceLimit) → {ByteBuffer}

- - -
-
- - -
-

Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between ByteBuffer#offset and - ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
target - - -ByteBuffer - - - - - - - -

Target ByteBuffer

targetOffset - - -number - - - - - - <optional>
- - - -

Offset to copy to. Will use and increase the target's ByteBuffer#offset - by the number of bytes copied if omitted.

sourceOffset - - -number - - - - - - <optional>
- - - -

Offset to start copying from. Will use and increase ByteBuffer#offset by the - number of bytes copied if omitted.

sourceLimit - - -number - - - - - - <optional>
- - - -

Offset to end copying from, defaults to ByteBuffer#limit

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

ensureCapacity(capacity) → {ByteBuffer}

- - -
-
- - -
-

Makes sure that this ByteBuffer is backed by a ByteBuffer#buffer of at least the specified capacity. If the - current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - the required capacity will be used instead.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
capacity - - -number - - - -

Required capacity

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

fill(value, begin, end) → {ByteBuffer}

- - -
-
- - -
-

Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - ByteBuffer#offset and ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -string - - - - - - - -

Byte value to fill with. If given as a string, the first character is used.

begin - - -number - - - - - - <optional>
- - - -

Begin offset. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted. defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

End offset, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
Example
- -
 `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes
- - -
- - - -
-

flip() → {ByteBuffer}

- - -
-
- - -
-

Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets limit = offset and - offset = 0. Make sure always to flip a ByteBuffer when all relative read or write operations are complete.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

LE(littleEndian) → {ByteBuffer}

- - -
-
- - -
-

Switches (to) little endian byte order.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
littleEndian - - -boolean - - - - - - <optional>
- - - -

Defaults to true, otherwise uses big endian

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

mark(offset) → {ByteBuffer}

- - -
-
- - -
-

Marks an offset on this ByteBuffer to be used later.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to mark. Defaults to ByteBuffer#offset.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#reset
  • -
-
- - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

order(littleEndian) → {ByteBuffer}

- - -
-
- - -
-

Sets the byte order.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
littleEndian - - -boolean - - - -

true for little endian byte order, false for big endian

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

prepend(source, encoding, offset) → {ByteBuffer}

- - -
-
- - -
-

Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - prepended data's length. If there is not enough space available before the specified offset, the backing buffer - will be resized and its contents moved accordingly.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
source - - -ByteBuffer -| - -string -| - -!ArrayBuffer - - - - - - - -

Data to prepend. If source is a ByteBuffer, its offset will be - modified according to the performed read operation.

encoding - - -string -| - -number - - - - - - <optional>
- - - -

Encoding if data is a string ("base64", "hex", "binary", defaults to "utf8")

offset - - -number - - - - - - <optional>
- - - -

Offset to prepend at. Will use and decrease ByteBuffer#offset by the number of bytes - prepended if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
Examples
- -
 A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|`
- -
 An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|`
- - -
- - - -
-

prependTo(target, offset) → {ByteBuffer}

- - -
-
- - -
-

Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - prepended data's length. If there is not enough space available before the specified offset, the backing buffer - will be resized and its contents moved accordingly.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
target - - -ByteBuffer - - - - - - - -

Target ByteBuffer

offset - - -number - - - - - - <optional>
- - - -

Offset to prepend at. Will use and decrease ByteBuffer#offset by the number of bytes - prepended if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#prepend
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

printDebug(out)

- - -
-
- - -
-

Prints debug information about this ByteBuffer's contents.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
out - - -function(string) - - - - - - <optional>
- - - -

Output function to call, defaults to console.log

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
-

readByte(offset) → {number}

- - -
-
- - -
-

Reads an 8bit signed integer. This is an alias of ByteBuffer#readInt8.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readCString(offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - itself.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readDouble(offset) → {number}

- - -
-
- - -
-

Reads a 64bit float. This is an alias of ByteBuffer#readFloat64.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readFloat(offset) → {number}

- - -
-
- - -
-

Reads a 32bit float. This is an alias of ByteBuffer#readFloat32.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readFloat32(offset) → {number}

- - -
-
- - -
-

Reads a 32bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readFloat64(offset) → {number}

- - -
-
- - -
-

Reads a 64bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt8(offset) → {number}

- - -
-
- - -
-

Reads an 8bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt16(offset) → {number}

- - -
-
- - -
-

Reads a 16bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt32(offset) → {number}

- - -
-
- - -
-

Reads a 32bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt64(offset) → {Long}

- - -
-
- - -
-

Reads a 64bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

readIString(offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads a length as uint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#readVarint32
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readShort(offset) → {number}

- - -
-
- - -
-

Reads a 16bit signed integer. This is an alias of ByteBuffer#readInt16.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readString(length, metrics, offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads an UTF8 encoded string. This is an alias of ByteBuffer#readUTF8String.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
length - - -number - - - - - - - -

Number of characters or bytes to read

metrics - - -number - - - - - - <optional>
- - - -

Metrics specifying what n is meant to count. Defaults to - ByteBuffer.METRICS_CHARS.

offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readUint8(offset) → {number}

- - -
-
- - -
-

Reads an 8bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readUint16(offset) → {number}

- - -
-
- - -
-

Reads a 16bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readUint32(offset) → {number}

- - -
-
- - -
-

Reads a 32bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readUint64(offset) → {Long}

- - -
-
- - -
-

Reads a 64bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

readUTF8String(length, metrics, offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads an UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
length - - -number - - - - - - - -

Number of characters or bytes to read

metrics - - -number - - - - - - <optional>
- - - -

Metrics specifying what n is meant to count. Defaults to - ByteBuffer.METRICS_CHARS.

offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readVarint32(offset) → {number|!{value: number, length: number}}

- - -
-
- - -
-

Reads a 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read - and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -number -| - -!{value: number, length: number} - - -
-
- - - - -
- - - -
-

readVarint32ZigZag(offset) → {number|!{value: number, length: number}}

- - -
-
- - -
-

Reads a zig-zag encoded 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read - and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -number -| - -!{value: number, length: number} - - -
-
- - - - -
- - - -
-

readVarint64(offset) → {Long|!{value: Long, length: number}}

- - -
-
- - -
-

Reads a 64bit base 128 variable-length integer. Requires Long.js.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read and - the actual number of bytes read.

-
- - - -
-
- Type -
-
- -Long -| - -!{value: Long, length: number} - - -
-
- - - - -
- - - -
-

readVarint64ZigZag(offset) → {Long|!{value: Long, length: number}}

- - -
-
- - -
-

Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read and - the actual number of bytes read.

-
- - - -
-
- Type -
-
- -Long -| - -!{value: Long, length: number} - - -
-
- - - - -
- - - -
-

readVString(offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads a length as varint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#readVarint32
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

remaining() → {number}

- - -
-
- - -
-

Gets the number of remaining readable bytes. Contents are the bytes between ByteBuffer#offset and - ByteBuffer#limit, so this returns limit - offset.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Remaining readable bytes. May be negative if offset > limit.

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

reset() → {ByteBuffer}

- - -
-
- - -
-

Resets this ByteBuffer's ByteBuffer#offset. If an offset has been marked through ByteBuffer#mark - before, offset will be set to ByteBuffer#markedOffset, which will then be discarded. If no offset has been - marked, sets offset = 0.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#mark
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

resize(capacity) → {ByteBuffer}

- - -
-
- - -
-

Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - large or larger.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
capacity - - -number - - - -

Capacity required

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `capacity` is not a number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `capacity < 0` -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

reverse(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Reverses this ByteBuffer's contents.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to start at, defaults to ByteBuffer#offset

end - - -number - - - - - - <optional>
- - - -

Offset to end at, defaults to ByteBuffer#limit

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

skip(length) → {ByteBuffer}

- - -
-
- - -
-

Skips the next length bytes. This will just advance

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
length - - -number - - - -

Number of bytes to skip. May also be negative to move the offset back.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

slice(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Slices this ByteBuffer by creating a cloned instance with offset = begin and limit = end.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Begin offset, defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

End offset, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Clone of this ByteBuffer with slicing applied, backed by the same ByteBuffer#buffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

toArrayBuffer(forceCopy) → {ArrayBuffer}

- - -
-
- - -
-

Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - ByteBuffer#offset and ByteBuffer#limit. Will transparently ByteBuffer#flip this - ByteBuffer if offset > limit but the actual offsets remain untouched. This is an alias of - ByteBuffer#toBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
forceCopy - - -boolean - - - - - - <optional>
- - - -

If true returns a copy, otherwise returns a view referencing the same memory. - Defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Contents as an ArrayBuffer

-
- - - -
-
- Type -
-
- -ArrayBuffer - - -
-
- - - - -
- - - -
-

toBase64(begin, end) → {string}

- - -
-
- - -
-

Encodes this ByteBuffer's contents to a base64 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to begin at, defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

Offset to end at, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Base64 encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toBinary(begin, end) → {string}

- - -
-
- - -
-

Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to begin at. Defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

Offset to end at. Defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If `offset > limit` -
- - - -
-
- Type -
-
- -RangeError - - -
-
- - - - -
Returns:
- - -
-

Binary encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toBuffer(forceCopy) → {ArrayBuffer}

- - -
-
- - -
-

Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - ByteBuffer#offset and ByteBuffer#limit. Will transparently ByteBuffer#flip this - ByteBuffer if offset > limit but the actual offsets remain untouched.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
forceCopy - - -boolean - - - - - - <optional>
- - - -

If true returns a copy, otherwise returns a view referencing the same memory if - possible. Defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Contents as an ArrayBuffer

-
- - - -
-
- Type -
-
- -ArrayBuffer - - -
-
- - - - -
- - - -
-

toDebug(columns) → {string|!Array.<string>}

- - -
-
- - -
-

Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - < : offset, - ' : markedOffset, - > : limit, - | : offset and limit, - [ : offset and markedOffset, - ] : markedOffset and limit, -* ! : offset, markedOffset and limit

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
columns - - -boolean - - - - - - <optional>
- - - -

If true returns two columns hex + ascii, defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Debug string or array of lines if asArray = true

-
- - - -
-
- Type -
-
- -string -| - -!Array.<string> - - -
-
- - - - -
Examples
- -
 `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3`
- -
 `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4`
- -
 `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1`
- -
 `|` contains zero bytes with `offset=limit=0, markedOffset=-1`
- - -
- - - -
-

toHex(begin, end) → {string}

- - -
-
- - -
-

Encodes this ByteBuffer's contents to a hex encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to begin at. Defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

Offset to end at. Defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Hex encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toString(encoding) → {string}

- - -
-
- - -
-

Converts the ByteBuffer's contents to a string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
encoding - - -string - - - - - - <optional>
- - - -

Output encoding. Returns an informative string representation if omitted but also allows - direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with - highlighted offsets.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If `encoding` is invalid -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

String representation

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toUTF8() → {string}

- - -
-
- - -
-

Encodes this ByteBuffer's contents between ByteBuffer#offset and ByteBuffer#limit to an UTF8 encoded - string.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If `offset > limit` -
- - - -
-
- Type -
-
- -RangeError - - -
-
- - - - -
Returns:
- - -
-

Hex encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

writeByte(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes an 8bit signed integer. This is an alias of ByteBuffer#writeInt8.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeCString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - characters itself.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - contained in str + 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeDouble(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit float. This is an alias of ByteBuffer#writeFloat64.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeFloat(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 32bit float. This is an alias of ByteBuffer#writeFloat32.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeFloat32(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 32bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeFloat64(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeInt8(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes an 8bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeInt16(value, offset)

- - -
-
- - -
-

Writes a 16bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` or `value` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - - - -
- - - -
-

writeInt32(value, offset)

- - -
-
- - -
-

Writes a 32bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
-

writeInt64(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -!Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeIString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a length as uint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#writeVarint32
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeShort(value, offset)

- - -
-
- - -
-

Writes a 16bit signed integer. This is an alias of ByteBuffer#writeInt16.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` or `value` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - - - -
- - - -
-

writeString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes an UTF8 encoded string. This is an alias of ByteBuffer#writeUTF8String.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeUint8(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes an 8bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeUint16(value, offset)

- - -
-
- - -
-

Writes a 16bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` or `value` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - - - -
- - - -
-

writeUint32(value, offset)

- - -
-
- - -
-

Writes a 32bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
-

writeUint64(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -!Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeUTF8String(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes an UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint32(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint32ZigZag(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a zig-zag encoded 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint64(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a 64bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint64ZigZag(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a zig-zag encoded 64bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a length as varint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • ByteBuffer#writeVarint32
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- - - - diff --git a/package.json b/package.json index 84c4cb6..68a9a9c 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "bytebuffer", - "version": "3.0.3", + "version": "3.1.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", - "browser": "dist/ByteBufferAB.js", + "browser": "dist/ByteBufferAB.min.js", "repository": { "type": "git", "url": "https://github.com/dcodeIO/ByteBuffer.js.git" @@ -18,6 +18,7 @@ "bufferview": "~1" }, "devDependencies": { + "utfx": "~0.12", "testjs": "~1", "metascript": "~0", "closurecompiler": "~1" diff --git a/src/encodings/debug.js b/src/encodings/debug.js index ade9c67..d8468d3 100644 --- a/src/encodings/debug.js +++ b/src/encodings/debug.js @@ -37,7 +37,7 @@ ByteBuffer.prototype.toDebug = function(columns) { if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); if (columns) { - asc += b > 32 && b < 127 ? String.fromCodePoint(b) : '.'; + asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; } } ++i; diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index 8875dbe..e48686a 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -1,6 +1,43 @@ //? if (UTF8) { -//? if (!NODE) include("utf8/codepoint.js"); -//? include("utf8/native.js"); +// utfx-embeddable + +//? include("../../node_modules/utfx/dist/utfx-embeddable.js"); + +/** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ +var stringFromCharCode = String.fromCharCode; + +/** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + */ +utfx.stringSource = function(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; +}; + +/** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + */ +utfx.stringDestination = function() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; +}; // encodings/utf8 @@ -20,17 +57,15 @@ ByteBuffer.prototype.toUTF8 = function(begin, end) { //? if (NODE) return this.buffer.slice(begin, end).toString("utf8"); //? else { - var out = [], temp; - while (begin < end) { - temp = utf8_decode_char(this, begin); - out.push(temp['codePoint']); - begin += temp['length']; - } - if (!this.noAssert) { + var bb = this, sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? bb.view.getUint8(begin++) : null; + }, sd = utfx.stringDestination()); + } catch (e) { if (begin !== end) - throw new RangeError("Illegal range: Truncated data"); + throw new RangeError("Illegal range: Truncated data, "+begin+" != "+end); } - return String.fromCodePoint.apply(String, out); + return sd(); //? } }; @@ -56,17 +91,12 @@ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { bb.view = new BufferView(bb.buffer); bb.limit = bb.buffer.length; //? } else { - var bb = new ByteBuffer(utf8_calc_string(str), littleEndian, noAssert), - cp; - for (var i=0, j=0, k=str.length; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - j += utf8_encode_char(cp, bb, j); - } - bb.limit = j; + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(utfx.stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; //? } return bb; }; diff --git a/src/encodings/utf8/codepoint.js b/src/encodings/utf8/codepoint.js deleted file mode 100644 index 110b1e6..0000000 --- a/src/encodings/utf8/codepoint.js +++ /dev/null @@ -1,111 +0,0 @@ -// encodings/utf8/codepoint - -// ref: http://mths.be/fromcodepoint v0.1.0 by @mathias -if (!String.fromCodePoint) { - (function () { - var defineProperty = (function () { - // IE 8 only supports `Object.defineProperty` on DOM elements - try { - var object = {}; - var $defineProperty = Object.defineProperty; - var result = $defineProperty(object, object, object) && $defineProperty; - } catch (error) { - } - return result; - }()); - var stringFromCharCode = String.fromCharCode; - var floor = Math.floor; - var fromCodePoint = function () { - var MAX_SIZE = 0x4000; - var codeUnits = []; - var highSurrogate; - var lowSurrogate; - var index = -1; - var length = arguments.length; - if (!length) - return ''; - var result = ''; - while (++index < length) { - var codePoint = Number(arguments[index]); - if ( - !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` - codePoint < 0 || // not a valid Unicode code point - codePoint > 0x10FFFF || // not a valid Unicode code point - floor(codePoint) != codePoint // not an integer - ) { - throw new RangeError('Invalid code point: ' + codePoint); - } - if (codePoint <= 0xFFFF) { // BMP code point - codeUnits.push(codePoint); - } else { // Astral code point; split in surrogate halves - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xD800; - lowSurrogate = (codePoint % 0x400) + 0xDC00; - codeUnits.push(highSurrogate, lowSurrogate); - } - if (index + 1 == length || codeUnits.length > MAX_SIZE) { - result += stringFromCharCode.apply(null, codeUnits); - codeUnits.length = 0; - } - } - return result; - }; - if (defineProperty) { - defineProperty(String, 'fromCodePoint', { - 'value': fromCodePoint, - 'configurable': true, - 'writable': true - }); - } else { - String["fromCodePoint"] = fromCodePoint; - } - }()); -} - -// ref: http://mths.be/codepointat v0.1.0 by @mathias -if (!String.prototype.codePointAt) { - (function() { - 'use strict'; // needed to support `apply`/`call` with `undefined`/`null` - var codePointAt = function(position) { - if (this === null) { - throw new TypeError(); - } - var string = String(this); - var size = string.length; - // `ToInteger` - var index = position ? Number(position) : 0; - if (index != index) { // better `isNaN` - index = 0; - } - // Account for out-of-bounds indices: - if (index < 0 || index >= size) { - return undefined; - } - // Get the first code unit - var first = string.charCodeAt(index); - var second; - if ( // check if it’s the start of a surrogate pair - first >= 0xD800 && first <= 0xDBFF && // high surrogate - size > index + 1 // there is a next code unit - ) { - second = string.charCodeAt(index + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { // low surrogate - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - } - } - return first; - }; - if (Object.defineProperty) { - Object.defineProperty(String.prototype, 'codePointAt', { - 'value': codePointAt, - 'configurable': true, - 'writable': true - }); - } else { - String.prototype["codePointAt"] = codePointAt; - } - }()); -} - diff --git a/src/encodings/utf8/native.js b/src/encodings/utf8/native.js deleted file mode 100644 index f590c73..0000000 --- a/src/encodings/utf8/native.js +++ /dev/null @@ -1,136 +0,0 @@ -// encodings/utf8/native - -/** - * Decodes a single UTF8 character from the specified ByteBuffer. The ByteBuffer's offsets remain untouched. - * @param {!ByteBuffer} bb ByteBuffer to decode from - * @param {number} offset Offset to start at - * @returns {!{codePoint: number, length: number}} Decoded char code and the number of bytes read - * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description - */ -function utf8_decode_char(bb, offset) { //? // Also required for node to extract CStrings and such - var start = offset, - a, b, c, d, - codePoint; - //? if (NODE) { - if (offset+1 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); - a = bb.buffer[offset++]; - //? } else { - a = bb.view.getUint8(offset++); - //? } - if ((a&0x80) === 0) { - codePoint = a; - } else if ((a&0xE0) === 0xC0) { - //? if (NODE) { - if (offset+1 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 1 <= "+bb.buffer.length); - b = bb.buffer[offset++]; - //? } else { // getUint8 asserts on its own - b = bb.view.getUint8(offset++); - //? } - codePoint = ((a&0x1F)<<6) | (b&0x3F); - } else if ((a&0xF0) === 0xE0) { - //? if (NODE) { - if (offset+2 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 2 <= "+bb.buffer.length); - b = bb.buffer[offset++]; - c = bb.buffer[offset++]; - //? } else { - b = bb.view.getUint8(offset++); - c = bb.view.getUint8(offset++); - //? } - codePoint = ((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F); - } else if ((a&0xF8) === 0xF0) { - //? if (NODE) { - if (offset+3 > bb.buffer.length) - throw new RangeError("Index out of range: "+offset+" + 3 <= "+bb.buffer.length); - b = bb.buffer[offset++]; - c = bb.buffer[offset++]; - d = bb.buffer[offset++]; - //? } else { - b = bb.view.getUint8(offset++); - c = bb.view.getUint8(offset++); - d = bb.view.getUint8(offset++); - //? } - codePoint = ((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F); - } else - throw new RangeError("Illegal code point at offset "+offset+": "+a); - return { - 'codePoint': codePoint, - 'length': offset - start - }; -} - -/** - * Calculates the actual number of bytes required to encode the specified char code. - * @param {number} codePoint Code point to encode - * @returns {number} Number of bytes required to encode the specified code point - * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description - */ -function utf8_calc_char(codePoint) { - if (codePoint < 0) - throw new RangeError("Illegal code point: "+codePoint); - if (codePoint < 0x80) return 1; - else if (codePoint < 0x800) return 2; - else if (codePoint < 0x10000) return 3; - else if (codePoint < 0x110000) return 4; - else throw new RangeError("Illegal code point: "+codePoint); -} - -/** - * Calculates the number of bytes required to store an UTF8 encoded string. - * @param {string} str String to calculate - * @returns {number} Number of bytes required - * @inner - */ -function utf8_calc_string(str) { - var cp, n = 0; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - n += utf8_calc_char(cp); - } - return n; -} -//? if (!NODE) { - -/** - * Encodes a single UTF8 character to the specified ByteBuffer backed by an ArrayBuffer. The ByteBuffer's offsets are - * not modified. - * @param {number} codePoint Code point to encode - * @param {!ByteBuffer} bb ByteBuffer to encode to - * @param {number} offset Offset to write to - * @returns {number} Number of bytes written - * @inner - * @see http://en.wikipedia.org/wiki/UTF-8#Description - */ -function utf8_encode_char(codePoint, bb, offset) { - var start = offset; - if (codePoint < 0) - throw new RangeError("Illegal code point: "+codePoint); - //? // ByteBufferAB only, meta not necessary. - if (codePoint < 0x80) { - bb.view.setUint8(offset++, codePoint &0x7F) ; - } else if (codePoint < 0x800) { - bb.view.setUint8(offset++, ((codePoint>>6 )&0x1F)|0xC0); - bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); - } else if (codePoint < 0x10000) { - bb.view.setUint8(offset++, ((codePoint>>12)&0x0F)|0xE0); - bb.view.setUint8(offset++, ((codePoint>>6 )&0x3F)|0x80); - bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); - } else if (codePoint < 0x110000) { - bb.view.setUint8(offset++, ((codePoint>>18)&0x07)|0xF0); - bb.view.setUint8(offset++, ((codePoint>>12)&0x3F)|0x80); - bb.view.setUint8(offset++, ((codePoint>>6 )&0x3F)|0x80); - bb.view.setUint8(offset++, ( codePoint &0x3F)|0x80); - } else - throw new RangeError("Illegal code point: "+codePoint); - return offset - start; -} - -//? } \ No newline at end of file diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index f3fd2df..f48c137 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -18,7 +18,7 @@ ByteBuffer.prototype.writeCString = function(str, offset) { if (typeof str !== 'string') throw new TypeError("Illegal str: Not a string"); for (i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); this.view.setUint8(offset++, 0); //? } if (relative) { - this.offset = offset; + this.offset = offset - start; return this; } - return offset - start; + return k; }; /** @@ -88,19 +82,19 @@ ByteBuffer.prototype.readCString = function(offset) { }; } //? } else { // getUint8 asserts on its own - var out = []; - do { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - if (temp['codePoint'] === 0) break; - out.push(temp['codePoint']); - } while (true); + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + return (b = this.view.getUint8(offset++)) === 0 ? null : b; + }.bind(this), sd = utfx.stringDestination(), true); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - "string": String.fromCodePoint.apply(String, out), + "string": sd(), "length": offset - start }; } diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index adecda4..07f1a3a 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -28,19 +28,15 @@ ByteBuffer.prototype.writeIString = function(str, offset) { buffer.copy(this.buffer, offset); offset += k; //? } else { - k = utf8_calc_string(str); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; //? ENSURE_CAPACITY('4+k'); this.view.setUint32(offset, k, this.littleEndian); offset += 4; - k = str.length; - for (var i=0, cp; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start + 4 + k) + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); //? } if (relative) { this.offset = offset; @@ -77,13 +73,11 @@ ByteBuffer.prototype.readIString = function(offset) { temp = this.view.getUint32(offset, this.littleEndian); offset += 4; var k = offset + temp, - out = []; - while (offset < k) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - } - str = String.fromCodePoint.apply(String, out); + sd; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = utfx.stringDestination(), this.noAssert); + str = sd(); //? } if (relative) { this.offset = offset; diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index 326753c..1f1ba1e 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -41,18 +41,12 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { } return k; //? } else { - var start = offset, - cp; - k = utf8_calc_string(str); + var start = offset; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('k'); - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); if (relative) { this.offset = offset; return this; @@ -82,16 +76,7 @@ ByteBuffer.prototype.writeString = ByteBuffer.prototype.writeUTF8String; * @expose */ ByteBuffer.calculateUTF8Chars = function(str) { - var n = 0, cp; - for (var i=0; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - n++; - } - return n; + return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[0]; }; /** @@ -101,7 +86,14 @@ ByteBuffer.calculateUTF8Chars = function(str) { * @returns {number} Number of UTF8 bytes * @expose */ -ByteBuffer.calculateUTF8Bytes = utf8_calc_string; +ByteBuffer.calculateUTF8Bytes = function(str) { + //? if (NODE) { + if (typeof str !== 'string') + throw new TypeError("Illegal argument: "+(typeof str)); + return Buffer.byteLength(str, "utf8"); + //? } else + return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; +}; /** * Reads an UTF8 encoded string. @@ -125,24 +117,29 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { //? ASSERT_INTEGER('length'); //? ASSERT_OFFSET(); } - var out, - i = 0, + var i = 0, start = offset, - temp; + //? if (NODE) + temp, + sd; if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - out = []; - while (i < length) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - ++i; - } + sd = utfx.stringDestination(); + utfx.decodeUTF8(function() { + //? if (NODE) + return i < length && offset < this.limit ? this.buffer[offset++] : null; + //? else + return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }.bind(this)); + if (i !== length) + throw new RangeError("Illegal range: Truncated data, "+i+" == "+length); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - "string": String.fromCodePoint.apply(String, out), + "string": sd(), "length": offset - start }; } @@ -163,20 +160,17 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { } //? } else { var k = offset + length; - out = []; - while (offset < k) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - } + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = utfx.stringDestination(), this.noAssert); if (offset !== k) - throw new RangeError("Illegal range: Truncated character at "+k); + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { this.offset = offset; - return String.fromCodePoint.apply(String, out); + return sd(); } else { return { - 'string': String.fromCodePoint.apply(String, out), + 'string': sd(), 'length': offset - start }; } diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index acfe9a7..13bcf63 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -21,26 +21,22 @@ ByteBuffer.prototype.writeVString = function(str, offset) { k, l; //? if (NODE) { var buffer = new Buffer(str, "utf8"); - l = ByteBuffer.calculateVarint32(buffer.length); k = buffer.length; + l = ByteBuffer.calculateVarint32(k); //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(buffer.length, offset); buffer.copy(this.buffer, offset); offset += buffer.length; //? } else { - k = utf8_calc_string(str); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; l = ByteBuffer.calculateVarint32(k); //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(k, offset); - k = str.length; - for (var i=0, cp; i= 0xD800 && cp <= 0xDFFF) { - cp = str.codePointAt(i); - if (cp > 0xFFFF) i++; - } - offset += utf8_encode_char(cp, this, offset); - } + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start+k+l) + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); //? } if (relative) { this.offset = offset; @@ -75,13 +71,11 @@ ByteBuffer.prototype.readVString = function(offset) { offset += temp; //? } else { var k = offset + temp, - out = []; - while (offset < k) { - temp = utf8_decode_char(this, offset); - offset += temp['length']; - out.push(temp['codePoint']); - } - str = String.fromCodePoint.apply(String, out); + sd = utfx.stringDestination(); + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd, this.noAssert); + str = sd(); //? } if (relative) { this.offset = offset; From 92ab008307ffb7d1600c5cd739f4ccc4fc211263 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sat, 28 Jun 2014 16:38:36 +0200 Subject: [PATCH 04/91] Correct link to docs in readme, fixes #25 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e7c5c58..2307e83 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ Downloads Documentation ------------- -* [View the API documentation](http://htmlpreview.github.com/?http://github.com/dcodeIO/ByteBuffer.js/master/docs/module-ByteBuffer.html) +* [View the API documentation](http://htmlpreview.github.com/?http://github.com/dcodeIO/ByteBuffer.js/master/docs/ByteBuffer.html) Tests (& Examples) [![Build Status](https://travis-ci.org/dcodeIO/ByteBuffer.js.png?branch=master)](https://travis-ci.org/dcodeIO/ByteBuffer.js) ------------------ From ae139b911453bbdf6b22ad48f4c6c10c5fc97916 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Thu, 7 Aug 2014 16:16:00 +0200 Subject: [PATCH 05/91] Update main property in bower.json, fixes #29 --- bower.json | 6 ++-- dist/ByteBufferAB.js | 56 ++++++---------------------------- dist/ByteBufferAB.min.js | 21 ++++++------- dist/ByteBufferAB.min.js.gz | Bin 7523 -> 7448 bytes dist/ByteBufferAB.min.map | 8 ++--- dist/ByteBufferNB.js | 56 ++++++---------------------------- package.json | 4 +-- src/bower.json | 4 +-- src/types/varints/varint64.js | 2 +- 9 files changed, 40 insertions(+), 117 deletions(-) diff --git a/bower.json b/bower.json index a51331a..b2a477a 100644 --- a/bower.json +++ b/bower.json @@ -1,12 +1,12 @@ { "name": "bytebuffer", - "version": "3.1.0", + "version": "3.1.1", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", - "main": "ByteBuffer.js", + "main": "dist/ByteBufferAB.js", "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { - "long": "latest" + "long": "latest" }, "license": "Apache-2.0" } diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 04976a3..0edcc73 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.1.0"; + ByteBuffer.VERSION = "3.1.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1336,7 +1336,7 @@ b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} - var value = Long.from28Bits(part0, part1, part2, false); + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { this.offset = offset; return value; @@ -2893,6 +2893,13 @@ */ var utfx = {}; + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + /** * Encodes UTF8 code points to UTF8 bytes. * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point @@ -3029,51 +3036,6 @@ }); }; - /** - * Asserts a byte value. - * @param {number} b 8bit byte value - * @returns {number} Valid byte value - * @throws {TypeError} If the byte value is invalid - * @throws {RangeError} If the byte value is out of range - */ - utfx.assertByte = function(b) { - if (typeof b !== 'number' || b !== b) - throw TypeError("Illegal byte: "+(typeof b)); - if (b < -128 || b > 255) - throw RangeError("Illegal byte: "+b); - return b; - }; - - /** - * Asserts an UTF16 char code. - * @param {number} c UTF16 char code - * @returns {number} Valid char code - * @throws {TypeError} If the char code is invalid - * @throws {RangeError} If the char code is out of range - */ - utfx.assertCharCode = function(c) { - if (typeof c !== 'number' || c !== c) - throw TypeError("Illegal char code: "+(typeof c)); - if (c < 0 || c > 0xFFFF) - throw RangeError("Illegal char code: "+c); - return c; - }; - - /** - * Asserts an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Valid code point - * @throws {TypeError} If the code point is invalid - * @throws {RangeError} If the code point is out of range - */ - utfx.assertCodePoint = function(cp) { - if (typeof cp !== 'number' || cp !== cp) - throw TypeError("Illegal code point: "+(typeof cp)); - if (cp < 0 || cp > 0x10FFFF) - throw RangeError("Illegal code point: "+cp); - return cp; - }; - /** * Calculates the byte length of an UTF8 code point. * @param {number} cp UTF8 code point diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 4861f50..acc0b14 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.1.0";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var n=this.buffer.byteLength;b>n&&this.resize((n*=2)>b?n:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!== e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag= function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&& -(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=l.from28Bits(e,d,f,!1);return b?(this.offset=a,e):{value:e,length:a- -c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof l?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>4|f<<24,!1);return b?(this.offset=a,e):{value:e, +length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof l?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=k.b(k.a(a))[1];b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;k.d(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=k.c(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=k.b(k.a(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this)); @@ -68,7 +68,7 @@ this.buffer=a,this.view=new DataView(a));return this};d.prototype.reverse=functi Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, -c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+ +c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+ a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length, h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2, @@ -79,10 +79,9 @@ e,d="",f="",g="";be?d+("0"+e.toString !0;break}m=p=!0}b.limit=b.markedOffset=f;k=!1;break;case ">":if(!c){if(m){q=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192=== -(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},g:function(a, -c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},k:function(a){if("number"!==typeof a||a!==a)throw TypeError("Illegal byte: "+typeof a);if(-128>a||255 -a||65535a||1114111a?1:2048>a?2:65536>a?3:4},n:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode;k.a=function(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}};k.c=function(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+s.apply(String,a);1024>>=0;if("number"!==typeof b|| -0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return ae?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d); +else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!== +d&&c(d)},g:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode; +k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return a{Ehu> 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 4) | (part2) << 24, false); if (relative) { this.offset = offset; return value; @@ -2996,6 +2996,13 @@ module.exports = (function() { */ var utfx = {}; + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + /** * Encodes UTF8 code points to UTF8 bytes. * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point @@ -3132,51 +3139,6 @@ module.exports = (function() { }); }; - /** - * Asserts a byte value. - * @param {number} b 8bit byte value - * @returns {number} Valid byte value - * @throws {TypeError} If the byte value is invalid - * @throws {RangeError} If the byte value is out of range - */ - utfx.assertByte = function(b) { - if (typeof b !== 'number' || b !== b) - throw TypeError("Illegal byte: "+(typeof b)); - if (b < -128 || b > 255) - throw RangeError("Illegal byte: "+b); - return b; - }; - - /** - * Asserts an UTF16 char code. - * @param {number} c UTF16 char code - * @returns {number} Valid char code - * @throws {TypeError} If the char code is invalid - * @throws {RangeError} If the char code is out of range - */ - utfx.assertCharCode = function(c) { - if (typeof c !== 'number' || c !== c) - throw TypeError("Illegal char code: "+(typeof c)); - if (c < 0 || c > 0xFFFF) - throw RangeError("Illegal char code: "+c); - return c; - }; - - /** - * Asserts an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Valid code point - * @throws {TypeError} If the code point is invalid - * @throws {RangeError} If the code point is out of range - */ - utfx.assertCodePoint = function(cp) { - if (typeof cp !== 'number' || cp !== cp) - throw TypeError("Illegal code point: "+(typeof cp)); - if (cp < 0 || cp > 0x10FFFF) - throw RangeError("Illegal code point: "+cp); - return cp; - }; - /** * Calculates the byte length of an UTF8 code point. * @param {number} cp UTF8 code point diff --git a/package.json b/package.json index 68a9a9c..bcfe327 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.1.0", + "version": "3.1.1", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -18,7 +18,7 @@ "bufferview": "~1" }, "devDependencies": { - "utfx": "~0.12", + "utfx": "~1.0", "testjs": "~1", "metascript": "~0", "closurecompiler": "~1" diff --git a/src/bower.json b/src/bower.json index 6d4f685..23d20f7 100644 --- a/src/bower.json +++ b/src/bower.json @@ -3,10 +3,10 @@ "version": "/*?= VERSION */", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", - "main": "ByteBuffer.js", + "main": "dist/ByteBufferAB.js", "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { - "long": "latest" + "long": "latest" }, "license": "Apache-2.0" } diff --git a/src/types/varints/varint64.js b/src/types/varints/varint64.js index 4c49c45..730503a 100644 --- a/src/types/varints/varint64.js +++ b/src/types/varints/varint64.js @@ -187,7 +187,7 @@ if (Long) { b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} //? } - var value = Long.from28Bits(part0, part1, part2, false); + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { this.offset = offset; return value; From 91f1c39ff8d3d5eb5a5bcc372668fa1a6b0a1978 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sun, 10 Aug 2014 19:03:56 +0200 Subject: [PATCH 06/91] Update API docs link --- README.md | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7448 -> 7448 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2307e83..8f54a00 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ Downloads Documentation ------------- -* [View the API documentation](http://htmlpreview.github.com/?http://github.com/dcodeIO/ByteBuffer.js/master/docs/ByteBuffer.html) +* [View the API documentation](http://htmlpreview.github.io/?https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/docs/index.html) Tests (& Examples) [![Build Status](https://travis-ci.org/dcodeIO/ByteBuffer.js.png?branch=master)](https://travis-ci.org/dcodeIO/ByteBuffer.js) ------------------ diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 788d1b1242290cf85f7a40a4b0812bf968751607..57112404544644489dc8e20182ad4afe82119a08 100644 GIT binary patch delta 16 XcmbPXHN%QszMF&N!P4g&*#%_*F>nRA delta 16 XcmbPXHN%QszMF&NN9W^>?1HiYF Date: Sun, 10 Aug 2014 19:13:23 +0200 Subject: [PATCH 07/91] README --- ByteBuffer.png | Bin 6542 -> 4481 bytes README.md | 65 ++++++------------------------------------------- dist/README.md | 3 +++ 3 files changed, 11 insertions(+), 57 deletions(-) diff --git a/ByteBuffer.png b/ByteBuffer.png index 7eb6591d8f3977e4dfb76556f6b4a67c999408b9..8657bbb92961b43532314fce2f8909bc87eaff42 100644 GIT binary patch literal 4481 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 - -``` - -```javascript -var ByteBuffer = dcodeIO.ByteBuffer; -var bb = new ByteBuffer(); -bb.writeIString("Hello world!").flip(); -alert(bb.readIString()+" from ByteBuffer.js"); -``` - -### AMD ### - -Optionally depends on [Long.js](https://github.com/dcodeIO/Long.js) for long (int64) support. If you do not require long -support, you can skip the Long.js config. [Require.js](http://requirejs.org/) example: - -```javascript -require.config({ - "paths": { - "Long": "/path/to/Long.js" - "ByteBuffer": "/path/to/ByteBufferAB.js" - } -}); -require(["ByteBuffer"], function(ByteBuffer) { - var bb = new ByteBuffer(); - bb.writeIString("Hello world!").flip(); - alert(bb.readIString()+" from ByteBuffer.js"); -}); -``` +API +--- +* [View the API documentation](http://htmlpreview.github.io/?https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/docs/index.html) Downloads --------- +* [Distributions](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist) * [ZIP-Archive](https://github.com/dcodeIO/ByteBuffer.js/archive/master.zip) * [Tarball](https://github.com/dcodeIO/ByteBuffer.js/tarball/master) -Documentation -------------- -* [View the API documentation](http://htmlpreview.github.io/?https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/docs/index.html) - -Tests (& Examples) [![Build Status](https://travis-ci.org/dcodeIO/ByteBuffer.js.png?branch=master)](https://travis-ci.org/dcodeIO/ByteBuffer.js) ------------------- -* [View source](https://github.com/dcodeIO/ByteBuffer.js/blob/master/tests/suite.js) -* [View report](https://travis-ci.org/dcodeIO/ByteBuffer.js) - Support for IE<10, FF<15, Chrome<9 etc. --------------------------------------- * Requires working ArrayBuffer & DataView implementations (i.e. use a [polyfill](https://github.com/inexorabletash/polyfill#typed-arrays-polyfill)) diff --git a/dist/README.md b/dist/README.md index a2b8512..1b18f65 100644 --- a/dist/README.md +++ b/dist/README.md @@ -21,6 +21,9 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferNB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferNB.js)** uses a node Buffer as its backing buffer. + +Also available as `bytebuffer` on [npm](https://www.npmjs.org/package/bytebuffer) and +[bower](http://bower.io/search/?q=bytebuffer). When installed as an [npm package](https://www.npmjs.org/package/bytebuffer), both versions are available. `exports` and `exports.ByteBufferNB` point at ByteBufferNB, `exports.ByteBufferAB` points at ByteBufferAB. From 69a8c026e45288d8718c88132171af5fef824ec1 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sun, 10 Aug 2014 19:15:52 +0200 Subject: [PATCH 08/91] README --- ByteBuffer.png | Bin 4481 -> 4383 bytes README.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/ByteBuffer.png b/ByteBuffer.png index 8657bbb92961b43532314fce2f8909bc87eaff42..9a88c4f113c5fdbe4c73a8121378f0a7ac7ca148 100644 GIT binary patch delta 4351 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 delta 4450 zcmV-o5uNUzB7q~2NPiI{NklGkL%Fy?5umnft*Z$z58A;*&bqM*Vkj1vEEG#T4&DAgo@_n4b zdt3?4cZuyT3k!=%B3=UNzAEHN3h%Q`$Xy}zw#zImEGmh38KXivspx)48=9%;i*B&p zW?^BGWh`=d?SHj(%#0)PGHwdlBIH5} z@0&H=J5=;Z58H0Euy6z`O`C6_j)KK z>6TtwO{AMDSA&Z8sTfDQK84S~6XQEUzV8U~z3R$vr;@vYnXUSlmi#>dO(Q6n+&04^ zIWOd8As?imPr6|#{e#k(m_t|)wrO0q9E;v|Dt{*TaC@If(R0bg;f&#HvyKrcFh&rx zR>L$EBOP)H%a;+%t4o4>qiE&)8K0856lJI94-59c9T4(&44fViu|;y=XqsI@UZG;l z`%x@-X+aY#r%{b-*~KtP6&5iR5S>skQ$@U{uvf?t&1)A5IV;GwN0+#T>}S^nTo_pb z6MyhVERcK978c232osgt`m+?>7h6FOF&4t2fzp}1T5(8Ybu!i_jzzfsxFFx%Aqkt! z^bPpCoy^pSa4HHE1+3w4cu+IMB6(b+qObQgN>4GT#n4)Ht-cA{t<_1qj2#rs&va0b z@BV=AJuBp`lGoUDOu9Zq9Il2^+*TG33x6}XiN$+mO75p70`an?H)XrDdWn}{#zons z|5T9gQJ?pmCU>7`7VASiP)tS(GmuFW_S9N_G^%Mq^MF39(^ z5GS7}lk$5$*R#ofhvsJPq}A0xikWCDxtYVHZF7sTSQPU8Y=)ThW$^~VyD*Rpp#>s0s~@AklG?yqfqr;k==mBkCRN3Zzh6d$jFOAnC#=R>jtR}*`8Gw%&SD>~ ztUK|Akewl~Z-Cojd4gJR99W8BZ|m`&dO!11_BW zIsc;KrsqirZ;0}Nd;bw~TzPiWsP}1eiAQ)29W-T*OlixiGSz)3Gx(e z#?QMcipEVD{<;Ygxr(4njyKTCtmUzGlJ_q8l+OhIj*6RBtU2tX;^yHq^k)sehX=HbU*=d$)2Y0EZJsnr+rFEM zi2z=ioWl{Wz3($NE@7UrqJPwf?~;}>O9%SuG|0D;^dc$Vg90U$i0`SG$dY6x;YvIo zbHNbW?lvrQ)f-R)O}_yPbG~$}=R%$`{D^{Y+{8&NOt{~YUYW}08uM^Zp-<5s?vVaw z2oI7qX!xSqs*$ely;a8D=;iS8m7=Mb`-gVI6Cea>#b7vB5qNDLX00z{m@_+~kgh~n;+;0!p_|ayx&_&{xYTcu$A26>h%nG@(cGdbT8kgW z1y0v>ppfEOm&(5^tED+un%x)&=u1$|)G#t*xzY z>A&M3UtND~Eq_d_IJ8|It+yF|u3NAO#wggCd6%((>JYEoAh?#`0Pn`auvg>SW6DC5 z1f+IWfVq1QZl`LGeccSgy{N$_JRX+@P-6JKf5YNBU5005zwT&UeVwGMfz7bv5jygG z3?}3A6fX93Ay)k{N_Hbj ze#bqHYe!(s1lieMOyT0vS$+cHE{A2Yiqd&FtVy)NO3}4~PA0S}OY(KnP$pqA z-XL>1_inC*ur*>^u)wj~;RlfKp#WM&FWe15iGR1tfSaMYWHRbNmP2gvS%h@!@k+AU zjy7SE@6^=LD*?+R_SppHU)s~$2QbI>lm9+S?5+mg%q{l0UH37~w!JwK7_kuo#LiQ3Jr=2h$2j6si7tXjuqyRqSv7T zv45X^MU@h7V+?&ZN$D@e`X%m@D<9sai2Dd(iFX_6hf=Ul(XHGflkQOijn@qFUFM+$ zbsFl(xN9{qnZAkzBnFX5}C0Aq{uFSBsVseD2t#jrWALK2`#7-i`VHYCEg`y z^C;%`GfKV;YgDk($v*udSjD`dEi*U|!+-h-oY|`5U;7a69%!DU_#xEV;9d^%~}RHEsciscn$w zmNknhDrz7!zA7xp?@K! zH78hFO8Ctr@R^c$JA8=u9$XVVfOhz3vg>Fz`N9O)PdgUFXPAOaXK$}U;+6AoD8lta zl&w0z!;sJMcLR8>O%W#J&!7x_RI0S-)@q1KzN~fr64AWa3-kI4W%H<;Ttc7AJM5F> zUkGO!gMl~ZIAXzVS6Wt>x@cf>$bWF5bChh7M%<93)9f>6D)C4rxnOUj>ctpDCD(RX zovd7b2RFt4=U9|DUP->XKHn&$%PS2#yEzs39V$;ibsXAm5;cq&69L<|U(sm2v|XZT z)!~9dnwzy5>&qZDdHLDusPZrgSA#w0Z!QM07_9+6&Dq0>nm`eie08u7@_!tKLV-1- zEg9{cIBPYis0p|j-9{g7@_5fCe3nihhh1Ey-+yVw`Y}iytrU*6#OD5KhLoLaBUtO}Y!GK~Ss*=8#!TW6T9$4{@cSs7)~Tw&u)Mt^avB?~``=t&a9 zn>6{dAMKJt25#hg#K|3zayLU;x$3OXQ^0F$BTSf>pfBht0|KcXQ2H` zvm0Tbg!~LiuA3ZO7CPB#Qj6}uJ%x2s?7{+agW^A6G!F1Y`hSXwM=f#t^N~EK0?di4 z(0GGpYH}akg|d-mT*bKK`{l5yG=&4!VhomJ9C2pbx3ECxSm8+?b{RFv!Vf3memLeq zzPnmmTlqcPDH~w2=?(b4Mojv8rM*9g_7OJyQr6gQr`bY99e7RmlnzdCxdV-m?`w!= z6AfgE#Tsb0qkj(WhI+Kc&(MPVpv5yW*SWL@gChq9$-g{iErlz}RFC$Sr8wmRvlql0 z1iN4b?1mZg_YSBvLrf@QND<8|H{bV;8woHY3!6@SE9D+ubH6R>z6MY5=3O`p(((sG1 zmiP8nK!1&%iJ3S1IRtjR^q*l*8IGdvCq=%`wJSleUwXYkkned?{ARQzlC4ot8`$@phXmeP2R6Haz@y2mMYJGW3{2|=` zL&`qtm425Pr}=viLn*o6r?{8Z0ZBTqXzOxZ|9_^8ZPx{vPZ>5vyg|sfAO0`htffPO zd_VReUT&-lSg|bedgGCzfm>KqI+z={#3TEu-$>llHGI6g*M?gk{?|$R=PKg+-O15muEkOJjlI2XrD|p5XFWp!-;HbbUSB1^J%zAm2am zU4NET-0>EEUb9VMQ6-S!diPCz;es+eq)NU6_+8zFAEaRCv$0m^2n zO$&>#;HVkiTRKGsH)a=<@qwp&TnZcqxPK$U=X1EuCB*SsST}=(g$m{cc1!lc#b7j! zctOe==S0K?;Y_S6mV86G8Kx}pT2we#!~GF12Da{AC&Mwsi!#ti2Oy3p6bgYpBzMY= zHXq2MI0KZe^RFx{f`Vg<`HV+Srjn`YoaA8Kt+psAaa9>!a(SKo(IXY?W?-MV4O_Rf zs8r-Zx)(vZh4#Q>D5vd`}vXHi&`A1TXRv#_v82&OaF oEG#T6EUd Date: Sun, 10 Aug 2014 19:16:25 +0200 Subject: [PATCH 09/91] Remove NOTICE --- NOTICE | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 NOTICE diff --git a/NOTICE b/NOTICE deleted file mode 100644 index dcddcf3..0000000 --- a/NOTICE +++ /dev/null @@ -1,2 +0,0 @@ -This software includes (portions of) ByteBuffer.js by Daniel 'dcode' Wirtz. -See: https://github.com/dcodeIO/ByteBuffer.js for details From b99340068737cc5572e752028bb92e1ff5a5c33c Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sun, 10 Aug 2014 19:19:45 +0200 Subject: [PATCH 10/91] Clarify Long dependency --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index db8d5b7..aab88ae 100644 --- a/README.md +++ b/README.md @@ -26,11 +26,16 @@ available. ```javascript var ByteBuffer = require("bytebuffer"); -var bb = new ByteBuffer(); -bb.writeIString("Hello world!").flip(); + +var bb = new ByteBuffer() + .writeIString("Hello world!") + .flip(); console.log(bb.readIString()+" from ByteBuffer.js"); ``` +In the browser, 64 bit integer support is optional and present only if [Long.js](https://github.com/dcodeIO/Long.js) has +been loaded prior to ByteBuffer.js. + API --- * [View the API documentation](http://htmlpreview.github.io/?https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/docs/index.html) From 3d083300f1c26112610d80bd3a141c63395e7277 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sun, 10 Aug 2014 19:28:48 +0200 Subject: [PATCH 11/91] Switch to markdown docs --- README.md | 3 +- dist/ByteBufferAB.min.js.gz | Bin 7448 -> 7448 bytes docs/ByteBuffer.html | 16928 ----------------- docs/index.html | 60 - docs/scripts/html5.js | 9 - docs/scripts/prettify/Apache-License-2.0.txt | 202 - docs/scripts/prettify/lang-css.js | 2 - docs/scripts/prettify/prettify.js | 28 - docs/styles/jsdoc-esoccer.css | 296 - docs/styles/prettify-jsdoc.css | 111 - docs/styles/prettify-tomorrow.css | 132 - package.json | 5 +- 12 files changed, 4 insertions(+), 17772 deletions(-) delete mode 100644 docs/ByteBuffer.html delete mode 100644 docs/index.html delete mode 100644 docs/scripts/html5.js delete mode 100644 docs/scripts/prettify/Apache-License-2.0.txt delete mode 100644 docs/scripts/prettify/lang-css.js delete mode 100644 docs/scripts/prettify/prettify.js delete mode 100644 docs/styles/jsdoc-esoccer.css delete mode 100644 docs/styles/prettify-jsdoc.css delete mode 100644 docs/styles/prettify-tomorrow.css diff --git a/README.md b/README.md index aab88ae..5ec8343 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,8 @@ been loaded prior to ByteBuffer.js. API --- -* [View the API documentation](http://htmlpreview.github.io/?https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/docs/index.html) +* [View the API documentation](https://github.com/dcodeIO/ByteBuffer.js/wiki/API) +* [Check the wiki](https://github.com/dcodeIO/ByteBuffer.js/wiki) Downloads --------- diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 57112404544644489dc8e20182ad4afe82119a08..3183d32989e70d3cb74b40175134e519aaab9fdf 100644 GIT binary patch delta 15 WcmbPXHN%QczMF$%|LTowLb3oTP6V|8 delta 15 WcmbPXHN%QczMF&N!P1RvLb3oT_5{!X diff --git a/docs/ByteBuffer.html b/docs/ByteBuffer.html deleted file mode 100644 index 88fd764..0000000 --- a/docs/ByteBuffer.html +++ /dev/null @@ -1,16928 +0,0 @@ - - - - - Class: ByteBuffer - - - - - - - - - - -
- -

Class: ByteBuffer

- - - - - -
- -
-

- ByteBuffer -

- -

The swiss army knife for binary data in JavaScript.

- -
- -
-
- - - - -
-

new ByteBuffer(capacity, littleEndian, noAssert)

- - -
-
- - -
-

Constructs a new ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
capacity - - -number - - - - - - <optional>
- - - -

Initial capacity. Defaults to ByteBuffer.DEFAULT_CAPACITY.

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - -
- - - - - - - - - - - - -

Members

- -
- -
-

<static, constant> BIG_ENDIAN :boolean

- - -
-
- -
-

Big endian constant that can be used instead of its boolean value. Evaluates to false.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static> DEFAULT_CAPACITY :number

- - -
-
- -
-

Default initial capacity of 16.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static> DEFAULT_ENDIAN :boolean

- - -
-
- -
-

Default endianess of false for big endian.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static> DEFAULT_NOASSERT :boolean

- - -
-
- -
-

Default no assertions flag of false.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> LITTLE_ENDIAN :boolean

- - -
-
- -
-

Little endian constant that can be used instead of its boolean value. Evaluates to true.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> Long :Long

- - -
-
- -
-

A Long class for representing a 64-bit two's-complement integer value. May be null if Long.js has not been loaded - and int64 support is not available.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • https://github.com/dcodeIO/Long.js
  • -
-
- - - -
- - - -
- - - -
-

<static, constant> MAX_VARINT32_BYTES :number

- - -
-
- -
-

Maximum number of bytes required to store a 32bit base 128 variable-length integer.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> MAX_VARINT64_BYTES :number

- - -
-
- -
-

Maximum number of bytes required to store a 64bit base 128 variable-length integer.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> METRICS_BYTES :string

- - -
-
- -
-

Metrics representing number of bytes. Evaluates to b.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> METRICS_CHARS :string

- - -
-
- -
-

Metrics representing number of UTF8 characters. Evaluates to c.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

<static, constant> VERSION :string

- - -
-
- -
-

ByteBuffer version.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

buffer :ArrayBuffer

- - -
-
- -
-

Backing buffer.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

limit :number

- - -
-
- -
-

Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - -
- - - -
-

littleEndian :boolean

- - -
-
- -
-

Whether to use little endian byte order, defaults to false for big endian.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

markedOffset :number

- - -
-
- -
-

Marked offset.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - -
- - - -
-

noAssert :boolean

- - -
-
- -
-

Whether to skip assertions of offsets and values, defaults to false.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

offset :number

- - -
-
- -
-

Absolute read/write offset.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - -
- - - -
-

readInt

- - -
-
- -
-

Reads a 32bit signed integer. This is an alias of ByteBuffer#readInt32.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

readLong

- - -
-
- -
-

Reads a 64bit signed integer. This is an alias of ByteBuffer#readInt64.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

view :DataView

- - -
-
- -
-

Data view to manipulate the backing buffer. Becomes null if the backing buffer has a capacity of 0.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

writeInt

- - -
-
- -
-

Writes a 32bit signed integer. This is an alias of ByteBuffer#writeInt32.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
-

writeLong

- - -
-
- -
-

Writes a 64bit signed integer. This is an alias of ByteBuffer#writeInt64.

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
- - - -

Methods

- -
- -
-

<static> allocate(capacity, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Allocates a new ByteBuffer backed by a buffer of the specified capacity.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
capacity - - -number - - - - - - <optional>
- - - -

Initial capacity. Defaults to ByteBuffer.DEFAULT_CAPACITY.

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> atob(b64) → {string}

- - -
-
- - -
-

Decodes a base64 encoded string to binary like window.atob does.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
b64 - - -string - - - -

Base64 encoded string

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • https://developer.mozilla.org/en-US/docs/Web/API/Window.atob
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

Binary string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

<static> btoa(str) → {string}

- - -
-
- - -
-

Encodes a binary string to base64 like window.btoa does.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
str - - -string - - - -

Binary string

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
-
    -
  • https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa
  • -
-
- - - -
- - - - - - - -
Returns:
- - -
-

Base64 encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

<static> calculateUTF8Bytes(str) → {number}

- - -
-
- - -
-

Calculates the number of UTF8 bytes of a string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
str - - -string - - - -

String to calculate

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of UTF8 bytes

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> calculateUTF8Chars(str) → {number}

- - -
-
- - -
-

Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - length property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
str - - -string - - - -

String to calculate

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of UTF8 characters

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> calculateVarint32(value) → {number}

- - -
-
- - -
-

Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -number - - - -

Value to encode

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of bytes required. Capped to ByteBuffer.MAX_VARINT32_BYTES

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> calculateVarint64(value) → {number}

- - -
-
- - -
-

Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -number -| - -!Long - - - -

Value to encode

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Number of bytes required. Capped to ByteBuffer.MAX_VARINT64_BYTES

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> concat(buffers, encoding, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Concatenates multiple ByteBuffers into one.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
buffers - - -Array.<!ByteBuffer -| - -!ArrayBuffer -| - -!Uint8Array -| - -string> - - - - - - - -

Buffers to concatenate

encoding - - -string -| - -boolean - - - - - - <optional>
- - - -

String encoding if buffers contains a string ("base64", "hex", "binary", - defaults to "utf8")

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - to ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Concatenated ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromBase64(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a base64 encoded string to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromBinary(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromDebug(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a hex encoded string with marked offsets to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

Debug string to decode (not be generated with columns = true)

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromHex(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes a hex encoded string to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> fromUTF8(str, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Decodes an UTF8 encoded string to a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to decode

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

ByteBuffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> isByteBuffer(bb) → {boolean}

- - -
-
- - -
-

Tests if the specified type is a ByteBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
bb - - -* - - - -

ByteBuffer to test

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

true if it is a ByteBuffer, otherwise false

-
- - - -
-
- Type -
-
- -boolean - - -
-
- - - - -
- - - -
-

<static> type() → {Function}

- - -
-
- - -
-

Gets the backing buffer type.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Buffer for NB builds, ArrayBuffer for AB builds (classes)

-
- - - -
-
- Type -
-
- -Function - - -
-
- - - - -
- - - -
-

<static> wrap(buffer, encoding, littleEndian, noAssert) → {ByteBuffer}

- - -
-
- - -
-

Wraps a buffer or a string. Sets the allocated ByteBuffer's ByteBuffer#offset to 0 and its - ByteBuffer#limit to the length of the wrapped data.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
buffer - - -ByteBuffer -| - -!ArrayBuffer -| - -!Uint8Array -| - -string -| - -!Array.<number> - - - - - - - -

Anything that can be wrapped

encoding - - -string -| - -boolean - - - - - - <optional>
- - - -

String encoding if buffer is a string ("base64", "hex", "binary", defaults to - "utf8")

littleEndian - - -boolean - - - - - - <optional>
- - - -

Whether to use little or big endian byte order. Defaults to - ByteBuffer.DEFAULT_ENDIAN.

noAssert - - -boolean - - - - - - <optional>
- - - -

Whether to skip assertions of offsets and values. Defaults to - ByteBuffer.DEFAULT_NOASSERT.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

A ByteBuffer wrapping buffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

<static> zigZagDecode32(n) → {number}

- - -
-
- - -
-

Decodes a zigzag encoded signed 32bit integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
n - - -number - - - -

Unsigned zigzag encoded 32bit integer

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Signed 32bit integer

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> zigZagDecode64(value) → {Long}

- - -
-
- - -
-

Decodes a zigzag encoded signed 64bit integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -Long -| - -number - - - -

Unsigned zigzag encoded long or JavaScript number

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Signed long

-
- - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

<static> zigZagEncode32(n) → {number}

- - -
-
- - -
-

Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
n - - -number - - - -

Signed 32bit integer

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Unsigned zigzag encoded 32bit integer

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

<static> zigZagEncode64(value) → {Long}

- - -
-
- - -
-

Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
value - - -number -| - -!Long - - - -

Signed long

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Unsigned zigzag encoded long

-
- - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

append(source, encoding, offset) → {ByteBuffer}

- - -
-
- - -
-

Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - data's length.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
source - - -ByteBuffer -| - -!ArrayBuffer -| - -!Uint8Array -| - -string - - - - - - - -

Data to append. If source is a ByteBuffer, its offsets - will be modified according to the performed read operation.

encoding - - -string -| - -number - - - - - - <optional>
- - - -

Encoding if data is a string ("base64", "hex", "binary", defaults to "utf8")

offset - - -number - - - - - - <optional>
- - - -

Offset to append at. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
Examples
- -
 A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|`
- -
 An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|`
- - -
- - - -
-

appendTo(target, offset) → {ByteBuffer}

- - -
-
- - -
-

Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents behind the specified - offset up to the length of this ByteBuffer's data.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
target - - -ByteBuffer - - - - - - - -

Target ByteBuffer

offset - - -number - - - - - - <optional>
- - - -

Offset to append to. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

assert(assert) → {ByteBuffer}

- - -
-
- - -
-

Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - disable them if your code already makes sure that everything is valid.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
assert - - -boolean - - - -

true to enable assertions, otherwise false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

BE(bigEndian) → {ByteBuffer}

- - -
-
- - -
-

Switches (to) big endian byte order.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
bigEndian - - -boolean - - - - - - <optional>
- - - -

Defaults to true, otherwise uses little endian

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

capacity() → {number}

- - -
-
- - -
-

Gets the capacity of this ByteBuffer's backing buffer.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Capacity of the backing buffer

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

clear() → {ByteBuffer}

- - -
-
- - -
-

Clears this ByteBuffer's offsets by setting ByteBuffer#offset to 0 and ByteBuffer#limit to the - backing buffer's capacity. Discards ByteBuffer#markedOffset.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

clone(copy) → {ByteBuffer}

- - -
-
- - -
-

Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for ByteBuffer#offset, - ByteBuffer#markedOffset and ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
copy - - -boolean - - - - - - <optional>
- - - -

Whether to copy the backing buffer or to return another view on the same, defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Cloned instance

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

compact(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Compacts this ByteBuffer to be backed by a ByteBuffer#buffer of its contents' length. Contents are the bytes - between ByteBuffer#offset and ByteBuffer#limit. Will set offset = 0 and limit = capacity and - adapt ByteBuffer#markedOffset to the same relative position if set.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to start at, defaults to ByteBuffer#offset

end - - -number - - - - - - <optional>
- - - -

Offset to end at, defaults to ByteBuffer#limit

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

copy(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Creates a copy of this ByteBuffer's contents. Contents are the bytes between ByteBuffer#offset and - ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Begin offset, defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

End offset, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Copy

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

copyTo(target, targetOffset, sourceOffset, sourceLimit) → {ByteBuffer}

- - -
-
- - -
-

Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between ByteBuffer#offset and - ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
target - - -ByteBuffer - - - - - - - -

Target ByteBuffer

targetOffset - - -number - - - - - - <optional>
- - - -

Offset to copy to. Will use and increase the target's ByteBuffer#offset - by the number of bytes copied if omitted.

sourceOffset - - -number - - - - - - <optional>
- - - -

Offset to start copying from. Will use and increase ByteBuffer#offset by the - number of bytes copied if omitted.

sourceLimit - - -number - - - - - - <optional>
- - - -

Offset to end copying from, defaults to ByteBuffer#limit

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

ensureCapacity(capacity) → {ByteBuffer}

- - -
-
- - -
-

Makes sure that this ByteBuffer is backed by a ByteBuffer#buffer of at least the specified capacity. If the - current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - the required capacity will be used instead.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
capacity - - -number - - - -

Required capacity

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

fill(value, begin, end) → {ByteBuffer}

- - -
-
- - -
-

Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - ByteBuffer#offset and ByteBuffer#limit.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -string - - - - - - - -

Byte value to fill with. If given as a string, the first character is used.

begin - - -number - - - - - - <optional>
- - - -

Begin offset. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted. defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

End offset, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
Example
- -
 `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes
- - -
- - - -
-

flip() → {ByteBuffer}

- - -
-
- - -
-

Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets limit = offset and - offset = 0. Make sure always to flip a ByteBuffer when all relative read or write operations are complete.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

LE(littleEndian) → {ByteBuffer}

- - -
-
- - -
-

Switches (to) little endian byte order.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
littleEndian - - -boolean - - - - - - <optional>
- - - -

Defaults to true, otherwise uses big endian

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

mark(offset) → {ByteBuffer}

- - -
-
- - -
-

Marks an offset on this ByteBuffer to be used later.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to mark. Defaults to ByteBuffer#offset.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

order(littleEndian) → {ByteBuffer}

- - -
-
- - -
-

Sets the byte order.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
littleEndian - - -boolean - - - -

true for little endian byte order, false for big endian

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

prepend(source, encoding, offset) → {ByteBuffer}

- - -
-
- - -
-

Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - prepended data's length. If there is not enough space available before the specified offset, the backing buffer - will be resized and its contents moved accordingly.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
source - - -ByteBuffer -| - -string -| - -!ArrayBuffer - - - - - - - -

Data to prepend. If source is a ByteBuffer, its offset will be - modified according to the performed read operation.

encoding - - -string -| - -number - - - - - - <optional>
- - - -

Encoding if data is a string ("base64", "hex", "binary", defaults to "utf8")

offset - - -number - - - - - - <optional>
- - - -

Offset to prepend at. Will use and decrease ByteBuffer#offset by the number of bytes - prepended if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
Examples
- -
 A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|`
- -
 An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|`
- - -
- - - -
-

prependTo(target, offset) → {ByteBuffer}

- - -
-
- - -
-

Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - prepended data's length. If there is not enough space available before the specified offset, the backing buffer - will be resized and its contents moved accordingly.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
target - - -ByteBuffer - - - - - - - -

Target ByteBuffer

offset - - -number - - - - - - <optional>
- - - -

Offset to prepend at. Will use and decrease ByteBuffer#offset by the number of bytes - prepended if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

printDebug(out)

- - -
-
- - -
-

Prints debug information about this ByteBuffer's contents.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
out - - -function(string) - - - - - - <optional>
- - - -

Output function to call, defaults to console.log

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
-

readByte(offset) → {number}

- - -
-
- - -
-

Reads an 8bit signed integer. This is an alias of ByteBuffer#readInt8.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readCString(offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - itself.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readDouble(offset) → {number}

- - -
-
- - -
-

Reads a 64bit float. This is an alias of ByteBuffer#readFloat64.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readFloat(offset) → {number}

- - -
-
- - -
-

Reads a 32bit float. This is an alias of ByteBuffer#readFloat32.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readFloat32(offset) → {number}

- - -
-
- - -
-

Reads a 32bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readFloat64(offset) → {number}

- - -
-
- - -
-

Reads a 64bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt8(offset) → {number}

- - -
-
- - -
-

Reads an 8bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt16(offset) → {number}

- - -
-
- - -
-

Reads a 16bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt32(offset) → {number}

- - -
-
- - -
-

Reads a 32bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readInt64(offset) → {Long}

- - -
-
- - -
-

Reads a 64bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

readIString(offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads a length as uint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readShort(offset) → {number}

- - -
-
- - -
-

Reads a 16bit signed integer. This is an alias of ByteBuffer#readInt16.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readString(length, metrics, offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads an UTF8 encoded string. This is an alias of ByteBuffer#readUTF8String.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
length - - -number - - - - - - - -

Number of characters or bytes to read

metrics - - -number - - - - - - <optional>
- - - -

Metrics specifying what n is meant to count. Defaults to - ByteBuffer.METRICS_CHARS.

offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readUint8(offset) → {number}

- - -
-
- - -
-

Reads an 8bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readUint16(offset) → {number}

- - -
-
- - -
-

Reads a 16bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readUint32(offset) → {number}

- - -
-
- - -
-

Reads a 32bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Value read

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

readUint64(offset) → {Long}

- - -
-
- - -
-

Reads a 64bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Long - - -
-
- - - - -
- - - -
-

readUTF8String(length, metrics, offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads an UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
length - - -number - - - - - - - -

Number of characters or bytes to read.

metrics - - -string - - - - - - <optional>
- - - -

Metrics specifying what length is meant to count. Defaults to - ByteBuffer.METRICS_CHARS.

offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

readVarint32(offset) → {number|!{value: number, length: number}}

- - -
-
- - -
-

Reads a 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read - and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -number -| - -!{value: number, length: number} - - -
-
- - - - -
- - - -
-

readVarint32ZigZag(offset) → {number|!{value: number, length: number}}

- - -
-
- - -
-

Reads a zig-zag encoded 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read - and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -number -| - -!{value: number, length: number} - - -
-
- - - - -
- - - -
-

readVarint64(offset) → {Long|!{value: Long, length: number}}

- - -
-
- - -
-

Reads a 64bit base 128 variable-length integer. Requires Long.js.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read and - the actual number of bytes read.

-
- - - -
-
- Type -
-
- -Long -| - -!{value: Long, length: number} - - -
-
- - - - -
- - - -
-

readVarint64ZigZag(offset) → {Long|!{value: Long, length: number}}

- - -
-
- - -
-

Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If it's not a valid varint -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

The value read if offset is omitted, else the value read and - the actual number of bytes read.

-
- - - -
-
- Type -
-
- -Long -| - -!{value: Long, length: number} - - -
-
- - - - -
- - - -
-

readVString(offset) → {string|!{string: string, length: number}}

- - -
-
- - -
-

Reads a length as varint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
offset - - -number - - - - - - <optional>
- - - -

Offset to read from. Will use and increase ByteBuffer#offset by the number of bytes - read if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

The string read if offset is omitted, else the string - read and the actual number of bytes read.

-
- - - -
-
- Type -
-
- -string -| - -!{string: string, length: number} - - -
-
- - - - -
- - - -
-

remaining() → {number}

- - -
-
- - -
-

Gets the number of remaining readable bytes. Contents are the bytes between ByteBuffer#offset and - ByteBuffer#limit, so this returns limit - offset.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Remaining readable bytes. May be negative if offset > limit.

-
- - - -
-
- Type -
-
- -number - - -
-
- - - - -
- - - -
-

reset() → {ByteBuffer}

- - -
-
- - -
-

Resets this ByteBuffer's ByteBuffer#offset. If an offset has been marked through ByteBuffer#mark - before, offset will be set to ByteBuffer#markedOffset, which will then be discarded. If no offset has been - marked, sets offset = 0.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

resize(capacity) → {ByteBuffer}

- - -
-
- - -
-

Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - large or larger.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
capacity - - -number - - - -

Capacity required

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `capacity` is not a number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `capacity < 0` -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

reverse(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Reverses this ByteBuffer's contents.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to start at, defaults to ByteBuffer#offset

end - - -number - - - - - - <optional>
- - - -

Offset to end at, defaults to ByteBuffer#limit

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

skip(length) → {ByteBuffer}

- - -
-
- - -
-

Skips the next length bytes. This will just advance

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
length - - -number - - - -

Number of bytes to skip. May also be negative to move the offset back.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

slice(begin, end) → {ByteBuffer}

- - -
-
- - -
-

Slices this ByteBuffer by creating a cloned instance with offset = begin and limit = end.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Begin offset, defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

End offset, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Clone of this ByteBuffer with slicing applied, backed by the same ByteBuffer#buffer

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

toArrayBuffer(forceCopy) → {ArrayBuffer}

- - -
-
- - -
-

Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - ByteBuffer#offset and ByteBuffer#limit. Will transparently ByteBuffer#flip this - ByteBuffer if offset > limit but the actual offsets remain untouched. This is an alias of - ByteBuffer#toBuffer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
forceCopy - - -boolean - - - - - - <optional>
- - - -

If true returns a copy, otherwise returns a view referencing the same memory. - Defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Contents as an ArrayBuffer

-
- - - -
-
- Type -
-
- -ArrayBuffer - - -
-
- - - - -
- - - -
-

toBase64(begin, end) → {string}

- - -
-
- - -
-

Encodes this ByteBuffer's contents to a base64 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to begin at, defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

Offset to end at, defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Base64 encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toBinary(begin, end) → {string}

- - -
-
- - -
-

Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to begin at. Defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

Offset to end at. Defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If `offset > limit` -
- - - -
-
- Type -
-
- -RangeError - - -
-
- - - - -
Returns:
- - -
-

Binary encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toBuffer(forceCopy) → {ArrayBuffer}

- - -
-
- - -
-

Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - ByteBuffer#offset and ByteBuffer#limit. Will transparently ByteBuffer#flip this - ByteBuffer if offset > limit but the actual offsets remain untouched.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
forceCopy - - -boolean - - - - - - <optional>
- - - -

If true returns a copy, otherwise returns a view referencing the same memory if - possible. Defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Contents as an ArrayBuffer

-
- - - -
-
- Type -
-
- -ArrayBuffer - - -
-
- - - - -
- - - -
-

toDebug(columns) → {string|!Array.<string>}

- - -
-
- - -
-

Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - < : offset, - ' : markedOffset, - > : limit, - | : offset and limit, - [ : offset and markedOffset, - ] : markedOffset and limit, -* ! : offset, markedOffset and limit

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
columns - - -boolean - - - - - - <optional>
- - - -

If true returns two columns hex + ascii, defaults to false

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Debug string or array of lines if asArray = true

-
- - - -
-
- Type -
-
- -string -| - -!Array.<string> - - -
-
- - - - -
Examples
- -
 `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3`
- -
 `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4`
- -
 `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1`
- -
 `|` contains zero bytes with `offset=limit=0, markedOffset=-1`
- - -
- - - -
-

toHex(begin, end) → {string}

- - -
-
- - -
-

Encodes this ByteBuffer's contents to a hex encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
begin - - -number - - - - - - <optional>
- - - -

Offset to begin at. Defaults to ByteBuffer#offset.

end - - -number - - - - - - <optional>
- - - -

Offset to end at. Defaults to ByteBuffer#limit.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

Hex encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toString(encoding) → {string}

- - -
-
- - -
-

Converts the ByteBuffer's contents to a string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
encoding - - -string - - - - - - <optional>
- - - -

Output encoding. Returns an informative string representation if omitted but also allows - direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with - highlighted offsets.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If `encoding` is invalid -
- - - -
-
- Type -
-
- -Error - - -
-
- - - - -
Returns:
- - -
-

String representation

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

toUTF8() → {string}

- - -
-
- - -
-

Encodes this ByteBuffer's contents between ByteBuffer#offset and ByteBuffer#limit to an UTF8 encoded - string.

-
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
- - -
- If `offset > limit` -
- - - -
-
- Type -
-
- -RangeError - - -
-
- - - - -
Returns:
- - -
-

Hex encoded string

-
- - - -
-
- Type -
-
- -string - - -
-
- - - - -
- - - -
-

writeByte(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes an 8bit signed integer. This is an alias of ByteBuffer#writeInt8.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeCString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - characters itself.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - contained in str + 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeDouble(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit float. This is an alias of ByteBuffer#writeFloat64.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeFloat(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 32bit float. This is an alias of ByteBuffer#writeFloat32.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeFloat32(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 32bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeFloat64(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit float.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeInt8(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes an 8bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeInt16(value, offset)

- - -
-
- - -
-

Writes a 16bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` or `value` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - - - -
- - - -
-

writeInt32(value, offset)

- - -
-
- - -
-

Writes a 32bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
-

writeInt64(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit signed integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -!Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeIString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a length as uint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeShort(value, offset)

- - -
-
- - -
-

Writes a 16bit signed integer. This is an alias of ByteBuffer#writeInt16.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` or `value` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - - - -
- - - -
-

writeString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes an UTF8 encoded string. This is an alias of ByteBuffer#writeUTF8String.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeUint8(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes an 8bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 1 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeUint16(value, offset)

- - -
-
- - -
-

Writes a 16bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and advance ByteBuffer#offset by 2 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Throws:
-
    -
  • -
    - If `offset` or `value` is not a valid number -
    - - - -
    -
    - Type -
    -
    - -TypeError - - -
    -
    -
  • - -
  • -
    - If `offset` is out of bounds -
    - - - -
    -
    - Type -
    -
    - -RangeError - - -
    -
    -
  • -
- - - - -
- - - -
-

writeUint32(value, offset)

- - -
-
- - -
-

Writes a 32bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 4 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - -
-

writeUint64(value, offset) → {ByteBuffer}

- - -
-
- - -
-

Writes a 64bit unsigned integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -!Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by 8 if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this

-
- - - -
-
- Type -
-
- -ByteBuffer - - -
-
- - - - -
- - - -
-

writeUTF8String(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes an UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint32(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint32ZigZag(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a zig-zag encoded 32bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint64(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a 64bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVarint64ZigZag(value, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a zig-zag encoded 64bit base 128 variable-length integer.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
value - - -number -| - -Long - - - - - - - -

Value to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written.

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- - - -
-

writeVString(str, offset) → {ByteBuffer|number}

- - -
-
- - -
-

Writes a length as varint32 prefixed UTF8 encoded string.

-
- - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeArgumentDescription
str - - -string - - - - - - - -

String to write

offset - - -number - - - - - - <optional>
- - - -

Offset to write to. Will use and increase ByteBuffer#offset by the number of bytes - written if omitted.

- - - -
- - - - - - - - - - - - - - - - - - - - - -
See:
-
- -
- - - -
- - - - - - - -
Returns:
- - -
-

this if offset is omitted, else the actual number of bytes written

-
- - - -
-
- Type -
-
- -ByteBuffer -| - -number - - -
-
- - - - -
- -
- - - - - -
- -
- - - - -
- - - -
- - - - diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index d25fb36..0000000 --- a/docs/index.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Index - - - - - - - - - - -
- -

Index

- - - - - - - -

- - - - - - - - - - - - - - - - - - - -
- - - -
- - - - diff --git a/docs/scripts/html5.js b/docs/scripts/html5.js deleted file mode 100644 index 087417a..0000000 --- a/docs/scripts/html5.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed - Uncompressed source: https://github.com/aFarkas/html5shiv -*/ -(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); -a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); -for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/docs/scripts/prettify/prettify.js b/docs/scripts/prettify/prettify.js deleted file mode 100644 index eef5ad7..0000000 --- a/docs/scripts/prettify/prettify.js +++ /dev/null @@ -1,28 +0,0 @@ -var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= -[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), -l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, -q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, -"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), -a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} -for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], -H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ -I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), -["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", -/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), -["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", -hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= -!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p dist/ByteBufferAB.min.js", - "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz", - "jsdoc": "jsdoc -c jsdoc.json" + "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz" } } From 442cac572a22e8fa475db06d7031cd82be6cf2a6 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Sun, 10 Aug 2014 19:30:20 +0200 Subject: [PATCH 12/91] Update package for npm --- bower.json | 2 +- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js | 4 ++-- dist/ByteBufferAB.min.js.gz | Bin 7448 -> 7450 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 2 +- package.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index b2a477a..2991eea 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.1.1", + "version": "3.1.1-1", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 0edcc73..9bde6fb 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.1.1"; + ByteBuffer.VERSION = "3.1.1-1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index acc0b14..32a8fb9 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,8 +5,8 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.1.1";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, +this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.1.1-1";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b= diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 3183d32989e70d3cb74b40175134e519aaab9fdf..3cf115397f32955a7f343bf3bc1d4936ba971924 100644 GIT binary patch literal 7450 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 YQz!F7LI6aB|L_KX0b;Cx<42{Ehu> zN6ARjPo~jAe@EtvD2eqXEM;}EAPXJE`r&+zKJwSParns8(L#^Xh3+GK8pRXc=bum< z=#U*w&dyO9`7@%wkJ71r2Bpno-Jd7#7f@1L(_fGoK?@S-7cqR&(<#vp&k=_IJ&iDl z7sS?Ii#qk%9Zg>l;^@;fJzqEv9!wz53%?DeJYWrZ^87)u)?qT&1CpX>w$Ofjpc&ys zj8n+Vn46!nXMJJJq+fx7Y~RM_rv|N27{w%Lc%GMjJSWg8sM$1-7qlNA|8)53>B;X$ zhyOS{dUEos=_<*6AonHm<7bbb96qZd#z2fE;%CnfU%otkabmhrXzW0Z(52U*&z%u6 z(<$_!9+UU_3lvYt@qC`ljmDGNj7-o>#|Zi`N7gknd3mZUn;vrOu;#H+K6lfwltKdokWm4XPixdeF~=omDfJ2V$b z=nQBHBYPK-_kt+Cn9Ug7W0a!T@ZOLzGF^@RO2TkKQs_YT>kQ3LN${M%Yjyd{S#%bq z9?E_!Tkc8xlDclZv*SBEB5~F%Z)XQz1?|_zFJ3-*{>*Faw!7_a!wuR`pPZaLJr*M1 z?R4PPqbGmQe|O!gRC(Qfw=6uKoXo9C3(x6k5>LF@T}dcS#iJ z9T)V}ptYQO9Xo`76A!g#B%Y*GJ9fk2#I>x@4BF9Rson;96TUSsFWLX0Q{KZFVyH1`!wx*IllqlkRHX06vdeGDxird-I!fGp6)!H% z&y#ryMv}x}=AerlfOH=K6FQA*I7LCww8Z~|;8f~qv>J)Iyg53}LI+D3Cvi*U!T3>D zI5X1|YSPZMs z&It-ivcx6H_cXOL@A}N0zn&;vQ<9c^t`jAR&yXpyx?ABhE6wVz;_g1EX3s`;Wuil&ti5&C`Q;SGCZ1ZBRQ9^6cw$o)Px|VH<-3DK+ zx+^-FX-uh`p_-OAxD_t=Ey$oEb7Mp0N7$%6OWxZ%9n)5Qwg64q(`YiK6sA*`1*hn) z$b%KqH5E8CDB_S^k$bk&L9Gq8!UlqlX!jYkkTuvMW(_vPtb(M_5@v?db14eS@&hoL zegYOd^{FXQSDl`HfPYnB97w=e;dezgav`uar6=?qLGSHM$i@JweMiuWCs&aBZx=x%|+ot^j@Y#9{x`v3}q4MAbB4ip|I7ygWRbpoW8 z!#nF?Xm@$sRX_!{eR&g97_34C1@|N-0r@Y7|N8y);fp8FPIi00Kl=6L_@%c;cmAUp zzL=quyhiit+@I(zQEaz27@=|3>F)0i`ta0qdYy*{-Mt<>?>fExL4S9zzqb#+`pzD$ z;-AsvH#9k>yPHWVXP%{D(3K!_IPCrhirVd(P+n)5@-eARsne=;|I>m&RoA@iDC9YB zkoN7ajonEkn=0h3cPiX+NhYqmx_bO|z?g8)1aJv27p z{b+PRKiR5;R+nz5W2M8Grn%zCqCf;6o zWGQ9W?Dh^QP2a2|>MeRO?z)dL6cm1M!@7?I6U|fQye#K z%fjyaX*44SNIrBhqZpW`OD?4YOeImF#}}MW93_d(k1II%s-CeGxdFT734mBqQE<_+ zvosR3$EeN9^2$cX5FbnjDZW(~Zk7gizb_1I7do#Db0v>yIhSJ9H zdohi|^hGq8rmx~fGyzdIpo?WP7pcki_KReqK^=Pb68_*ZxAXp(+I{%zEbYAy_P#It z0L;GQ@t(7vf5+nkXW(#u;i1#*(CH~zTi18OxZDM7mU*X3b*p_Ln!tLBcF9ZLB6GzB=iiy`LvN$WtCj3HO{DA90T-iVE|pYf*4%XN#>&3f?nG& zLAP&TuY_KAg9HJu|0a~G%5O-&QQd><);-*~?qRj=X8s=+Bq2Zac(i_Yu}F2F=s20r zFU~=VL|mHW9f21#q6iU|@KKa5VB`@%jR$rBvfIB5;h8P1sfQO-x}?#CCWaTN1p|y) z9aao5jLHauL4gUr4j(lXJf4~{22D~o#$eg4TOl3QK-gDEzEY_*pcI(>4(q+p@4L z?YCtk^Q!GfFiv4sR((_y$T~HXLZ08s40KQ(+*hUhUal_uHTDzqxkb4d7*co_p>07P z6^F(Uq5&~R-ZD&*sF$ivbNbHFPXK~xXrVw40IY3MyJ1!@o{Kb>;2A-kVK8}!r$81X zFzKglZ14>bwGa;D8s`(o6$gIUGK?z@J8T6h*8-zQ zEsoJFlzZguK)K3B_iEe@_voo~pAJeaD0@v8)+!P0Opo>>9l=31wV){=6Tnk(K;%w? z=AAsNvz+KgHr{+EKe9ZH@9_cG$--r<&HT1uFs{Kq7X7CHd{_WqvGZN*!OL1C#7i8+ zOB5sw1%Ej{dGX}v-BPvblzT-)6rNnYtwb#Do!k^#g&En ztW2W%EEcC6pN?B6b>L2yF!Evul9d5L3o5sLEENiVlf46&7lAidGOR8FOG*Zr;w>o| z-rSks(Il}wp_TBdOIzyqPZJKMpfHgFm8V10Y~tb4T~%Q;R$_Ev3E8ryPy&thHz}za z)N4xlc~fU#nmGf@DF9MbTWG!P15cJdFm8ocSCx)oc+aG7BZ2&U(t@@qEldqIk(k(n zf@^Fv9>&+;|3q!1p?w(oE50eiamMiYh74aDV)BeYLcGW#OjhHDRFS@ju8MsdUuIZ! z2S!!e9UfLq?a-aB9$1CS%~n%3_z3~TXjYSY$7E7+OeVrHnFz;(W&t@Vw&+YjAa3ck zei}MYFll*ea9u@4JYuJ0YdoibKa+bP$EJX=hG~`Et=jS92Dt@POlSEC->_WWk>pG)Pk?t!fy^Mj6>Jw*o6DT5zt9!YWd`8e*POFIS z&m$Vw@Jt#1zrMCKxV2)QEDHf$newr<5`dsFh+jGQevRnb6;Ti(B421=7XnPP0Mez1 z(WbKuLM@A&pw7Y2T!x94deJR~@UC=N9&LWv*){Q<+5I0lEeYC+n>7lkwPFMPYS+AmpO<|f_@F@oCFdW%2_3rMDx^^zLeR~A`9hJZl_(jBT$gMjObcG0 zh%DuZA%o)Oke6PV-72Xg$&4!G*Zw8kkm$C6e!7>H}!XEI)@g+nf-QTqs8Tab9G zO7f)Ta-_;IcbUn}WOtEV%rPkyiPuRkAJ~%?&Y*mfNiYn)+9Y0F%*m1P+hA-wsUocG zvu+Nw{00isotE8KC?TX^CcmhK$71~y&RUHpnE5P2G%on?KAX2dW8XohQ!OrxX0ysr zZpDaw_#V7IDj|t&HPc(zhax@Tz`mNvv!88JS^u^F=XoOtPrS2H_aE(EBb1)J)e^=J~gL(pPRe&+#H{l^IMqvpPk{9+u+HDQ!N(M zB`ja*N4<{gxi59|IDT>XIFW{rT4DS+DU1j$Z|ZJ3ngm)?8b8vc82((b19g?A6>h`~ zZ$9nFrY-ZS$Bb8HL(^JmX@t%xCLqO^^)ry?bb)}~pjSM6nf;ID_!{VuB6equzyH3nUsyZYWjK&2eYblB!-F78oDJjwT_pC5!8xKoke)HYHHtg z^G@idwB3NM?-}3}=N^rVv%8e@-5*6hr-|bJC1o`ai;Ewi(A~_aBqbw)Oe5 zOpx$N(Jwefa=jUn9Xf$VA-CDY8?9i8ui5UR*gP$d+W^phQRI9%crGdZm29* zQh}aI;!5O-LmZU9N^d~4t+AY1KYU~ekuQOwU2p}($HK^?VRH?Uk8;7wd}Uv}&wf*n z+H7Ru8Blglcj4Y_;V83K1Q7L9g+yxx+ilgJ0sUzMi|_vu7kY znO&U4iz3mPQNFu-&7IvEbvCcq;PuRF96maFeEieje}3}c|MT>hXV3rfzb{^%yn6l5 zfBpI!@-gH)nMQw{&d%cG{Qu^Q^y1z74m#6GoW9(+JU-!<`y2nR;!0gYL^*Nw(XFedA0PCbD0 z9vCMBH+Rk9uzyKLqdv`^&}eeQVec{+jrQ%J>Fw{@lgmpZ@b>$52oD4vV4O3vyfe0N zahMvXrj6u8+K@NyB3W)5yepQ0Sq}&eP>b74dn_|i3hyDgxaL(yGBJCL{esn$~ zV0QI>Bj0PAU!|_G69|l@Vg9z&rBghi+iHdMV0*)Bj)V4*=S%2ia(mrKd1E1xweghrLUv_|v9dZ)t!Oa&kC38qqp)~PVq~er3l`w!6&z8L}&&zGL zbW^jx*_T(;{qKfj#fsp~rx#?y;k|h)j79tWVlg%94%KG@$K6OKB1dAmneGIgeKhzN zK!O~XtKyO4aKO*D6G8!Fd&~iSz%Yv=FIzK1#BY*&UIw)BA-KK6~XnDK6 zA!*WZJdmwINT9!+M!NxmWLZqF*#-t*48nfs?l+tCL*8}5Wg zBnjz!JNU33ZSqy%<=YPvvG$R_;D_*_h54JpGH!teSOwq~jl6)cm~ z5mywgx6I@r=?~E80W?oblxSlMOjS8lJ>41(2Kacp6*mwL?%AXj2&=OZljktli<0`-kjcp+J-3sNGk7g01fUh^_8+ zZFMazqiYu>Wlc`1@RHmJj`5UrFog9~#?Zej*tB9AkKN{Mc9|9LvqN@@td!4ashH8y zZ#G$B>^AMyL3>V1&|oEcx=(6*aO&;7?KzB`E;Su z9e3o+OV^#j1CekudRKzgO{jXlnDTQQWWu6xZ*D}nDw?&*tnMx%v0#yjPkNS3nf6K` zr4F(#8jaPKj-aGDusrgIdUr8@3AA`Va0{P#qTvHGc%_?9RhJdYN|LS{6%79lJ!JzG zFB>XIJi`hhNQ$>HCmoFb)WG2vJ`+c zQIOmf=(wfDK@mM^qR(uFe)Af-x!<*NqdS!!4^Midv%{PdmGjQzd_F2&abm|4%0g@g z^uA3PLT!%~1JoCBx`(ovTi8OyVolS4?s@a6_WHEK^l^^PN z!Zq|=$98AGSsVfg|h}EZ3Nqr8deU!!Q>NY!btTNyC(T{;0z6$ep*d&fAH8J6-m8yVU7J zd``i`hr}#`M-R;^x?k48jJG|630@Wc&JTFu!5m|g6gQM9M_NUL2EB?3hSc4H;jtDH zBLIFS$_6sqR+ae*2o`tY_ZZmTU^ihsUzzo4tZt(QdIQ0_;Tj3_X7|e5P42p)V6&wG zI*z)?YG2?ndCsH5sgU@}pB!jyU|claMvQpaAv8zhHUxfD5}HPbl2AqE+r(?Hnn4;# z0exGclB%u4;@8A~$7is?e`P@i4ZYLx%geb)4gsjG=fXJ9P=tXX70BJY6cjFO3x+lG zy#Yb62$#MLg`?&GOY6Oz{`Ge|LkDJuYiQL%w_Ms7uZ8DFVT7Cuof5S)#8kvhA$q%D zTHErcr?|#KddYkK5I*lgzKQ>n=rexYF4oOkzp#$c({px=tl|Cv3qY2=tMWz4Xe9nm zSPnv!Us|>G2}8OWeq^Wg8qe_", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", From de24fd5cf4f23fcb68733beb621f5ab1af1ce221 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Wed, 13 Aug 2014 01:02:17 +0200 Subject: [PATCH 13/91] Use Long 2 --- ByteBuffer.png | Bin 4383 -> 4381 bytes README.md | 6 +- bower.json | 2 +- dist/ByteBufferAB.js | 15 +- dist/ByteBufferAB.min.js | 6 +- dist/ByteBufferAB.min.js.gz | Bin 7450 -> 7442 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 2 +- dist/README.md | 2 +- externs/Long.js | 328 ------------------------------------ package.json | 11 +- src/ByteBufferAB.js | 13 +- tests/suite.js | 6 +- 13 files changed, 31 insertions(+), 362 deletions(-) delete mode 100644 externs/Long.js diff --git a/ByteBuffer.png b/ByteBuffer.png index 9a88c4f113c5fdbe4c73a8121378f0a7ac7ca148..0f50568f26f12331f2f9c0aa84ba72c2f6bf0e19 100644 GIT binary patch delta 4348 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 diff --git a/README.md b/README.md index 5ec8343..50c71d4 100644 --- a/README.md +++ b/README.md @@ -6,14 +6,14 @@ generated from a single source tree through [MetaScript](https://github.com/dcod [![Build Status](https://travis-ci.org/dcodeIO/ByteBuffer.js.svg?branch=master)](https://travis-ci.org/dcodeIO/ByteBuffer.js) [![Donate](https://raw.githubusercontent.com/dcodeIO/Long.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=info%40code-emitter.com&item_name=Open%20Source%3A%20Long.js) -What can it do? ---------------- +Features +-------- * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats -* Big and little endianness * Varints as used in protobuf (32 and 64 bit, zig-zag) * Base64, binary, debug, hex and utf8 encodings * Handy string and debugging utilities +* Big and little endianness * Relative and absolute zero-copy operations wherever possible * Transparent resizing when using unknown-length data * Chaining of all operations that do not return a specific value diff --git a/bower.json b/bower.json index 2991eea..748cdf4 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.1.1-1", + "version": "3.2.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 9bde6fb..2dbc131 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.1.1-1"; + ByteBuffer.VERSION = "3.2.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -3172,14 +3172,11 @@ return ByteBuffer; } - // Enable module loading if available - if (typeof module != 'undefined' && module["exports"]) { // CommonJS + /* CommonJS */ if (typeof module !== 'undefined' && module["exports"]) module["exports"] = loadByteBuffer(require("long")); - } else if (typeof define !== 'undefined' && define["amd"]) { // AMD - define("ByteBuffer", ["Math/Long"], function(Long) { return loadByteBuffer(Long); }); - } else { // Shim - if (!global["dcodeIO"]) global["dcodeIO"] = {}; - global["dcodeIO"]["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); - } + /* AMD */ else if (typeof define === 'function' && define["amd"]) + define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); })(this); diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 32a8fb9..abcc4f4 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,8 +5,8 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.1.1-1";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, +this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.2.0";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b= @@ -84,4 +84,4 @@ else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===( d&&c(d)},g:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode; k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return a{Ehu> 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 Q+J`sz3#dY>h%}=B0JM~rssI20 literal 7450 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 YQz!F7LI6aB|L_KX0b;Cx<42", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -14,15 +14,18 @@ }, "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { - "long": "~1", + "long": "~2", "bufferview": "~1" }, "devDependencies": { - "utfx": "~1.0", + "utfx": "~1", "testjs": "~1", "metascript": "~0", "closurecompiler": "~1" }, + "optionalDependencies": { + "memcpy": "~0.5" + }, "license": "Apache-2.0", "engines": { "node": ">=0.8" @@ -32,7 +35,7 @@ "test": "node node_modules/testjs/bin/testjs tests/suite.js", "make": "npm run-script build && npm run-script compile && npm run-script compress && npm test", "build": "node scripts/build.js", - "compile": "ccjs dist/ByteBufferAB.js --create_source_map=dist/ByteBufferAB.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=externs/Long.js > dist/ByteBufferAB.min.js", + "compile": "ccjs dist/ByteBufferAB.js --create_source_map=dist/ByteBufferAB.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB.min.js", "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz" } } diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index 7e6d80f..fbc099d 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -36,14 +36,11 @@ return ByteBuffer; } - // Enable module loading if available - if (typeof module != 'undefined' && module["exports"]) { // CommonJS + /* CommonJS */ if (typeof module !== 'undefined' && module["exports"]) module["exports"] = loadByteBuffer(require("long")); - } else if (typeof define !== 'undefined' && define["amd"]) { // AMD - define("ByteBuffer", ["Math/Long"], function(Long) { return loadByteBuffer(Long); }); - } else { // Shim - if (!global["dcodeIO"]) global["dcodeIO"] = {}; - global["dcodeIO"]["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); - } + /* AMD */ else if (typeof define === 'function' && define["amd"]) + define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); })(this); diff --git a/tests/suite.js b/tests/suite.js index 66abdfb..683ad7a 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -671,8 +671,8 @@ function makeSuite(ByteBuffer) { test.equal(ByteBuffer.zigZagDecode64(values[i][1]).toNumber(), values[i][0]); } values = [ - [Long.MAX_SIGNED_VALUE, Long.MAX_UNSIGNED_VALUE.subtract(Long.ONE)], - [Long.MIN_SIGNED_VALUE, Long.MAX_UNSIGNED_VALUE] + [Long.MAX_VALUE, Long.MAX_UNSIGNED_VALUE.subtract(Long.ONE)], + [Long.MIN_VALUE, Long.MAX_UNSIGNED_VALUE] ]; // NOTE: Even 64bit doubles from toNumber() fail for these values so we are using toString() here for (i=0; i Date: Wed, 13 Aug 2014 21:24:47 +0200 Subject: [PATCH 14/91] README --- README.md | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7442 -> 7442 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 50c71d4..334f2de 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A fast and complete ByteBuffer implementation using either ArrayBuffers in the b generated from a single source tree through [MetaScript](https://github.com/dcodeIO/MetaScript). [![Build Status](https://travis-ci.org/dcodeIO/ByteBuffer.js.svg?branch=master)](https://travis-ci.org/dcodeIO/ByteBuffer.js) -[![Donate](https://raw.githubusercontent.com/dcodeIO/Long.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=info%40code-emitter.com&item_name=Open%20Source%3A%20Long.js) +[![Donate](https://raw.githubusercontent.com/dcodeIO/Long.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=info%40code-emitter.com&item_name=Open%20Source%3A%20ByteBuffer.js) Features -------- diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index c7eb5b98ce08299cbbbc5bfb226ff9fc223f34e4..ec7e96278735a65a2a9e700f2440506e0a1c7d8d 100644 GIT binary patch delta 19 acmbPaHOY!gzMF%?fA{NPChm<~9I^mB_63pv delta 19 acmbPaHOY!gzMF&N@tjw|Ow1d(IAj4qcLn|c From 919da88f285e6b71725b62ed11f2b710568e2d79 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 01:46:48 +0200 Subject: [PATCH 15/91] Use utfx for writing strings on node, which is about 2.4 times faster than using intermediate buffers --- bower.json | 2 +- dist/ByteBufferAB.js | 22 ++++---- dist/ByteBufferAB.min.js | 88 ++++++++++++++++---------------- dist/ByteBufferAB.min.js.gz | Bin 7442 -> 7428 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 51 +++++++++--------- donate.png | Bin 0 -> 1553 bytes package.json | 2 +- src/types/strings/cstring.js | 17 +++--- src/types/strings/istring.js | 19 +++---- src/types/strings/utf8string.js | 22 +++----- src/types/strings/vstring.js | 20 +++----- tests/buffer_utfx.js | 34 ++++++++++++ 13 files changed, 141 insertions(+), 138 deletions(-) create mode 100644 donate.png create mode 100644 tests/buffer_utfx.js diff --git a/bower.json b/bower.json index 748cdf4..a75ca26 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.0", + "version": "3.2.1", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 2dbc131..12b405f 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.2.0"; + ByteBuffer.VERSION = "3.2.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1399,7 +1399,6 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset; - // UTF8 strings do not contain zero bytes in between except for the zero character, so: k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k+1; var capacity12 = this.buffer.byteLength; @@ -1481,8 +1480,7 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, - k; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += 4+k; var capacity13 = this.buffer.byteLength; if (offset > capacity13) @@ -1530,7 +1528,7 @@ sd; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = utfx.stringDestination()); str = sd(); if (relative) { this.offset = offset; @@ -1578,9 +1576,8 @@ if (offset < 0 || offset + 0 > this.buffer.byteLength) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - var k; - var start = offset; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + var start = offset, + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k; var capacity14 = this.buffer.byteLength; if (offset > capacity14) @@ -1690,7 +1687,7 @@ var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = utfx.stringDestination()); if (offset !== k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { @@ -1744,9 +1741,8 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, - k, l; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; - l = ByteBuffer.calculateVarint32(k); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1], + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.byteLength; if (offset > capacity15) @@ -1793,7 +1789,7 @@ sd = utfx.stringDestination(); utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd, this.noAssert); + }.bind(this), sd); str = sd(); if (relative) { this.offset = offset; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index abcc4f4..3f9ff04 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.2.0";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=k.b(k.a(a))[1];b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;k.d(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=k.c(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== -typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=k.b(k.a(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this)); -if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+= -4;var d=a+c;k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+ -this.buffer.byteLength);}var e,d=b;e=k.b(k.a(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return k.b(k.a(a))[0]};d.calculateUTF8Bytes=function(a){return k.b(k.a(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset); -"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=k.c();k.i(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;k.d(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=k.b(k.a(a),this.noAssert)[1];f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=k.c();k.d(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*= -2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian, -this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e); -0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); -}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+ -b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&& -(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength); -}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c= -this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this; -Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== -typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; -if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, -c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+ -a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ -this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length, -h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2, -b),64!==l&&p.view.setUint8(b++,k<<6&192|l))}p.limit=b;return p};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+= -" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,k=!1,l=!1,p=!1,m=!1,q=!1;h":if(!c){if(m){q=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d); -else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!== -d&&c(d)},g:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode; -k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d=k.b(k.a(a))[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var d=a+c;k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d=k.b(k.a(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*= +2)>b?f:b);b-=d;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-e};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return k.b(k.a(a))[0]};d.calculateUTF8Bytes=function(a){return k.b(k.a(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+ +a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=k.c();k.i(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;k.d(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}var e=b,h=k.b(k.a(a))[1],f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=k.c();k.d(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo= +function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view= +this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+ +" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset); +"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&& +(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+ +c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&& +"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+ +c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer); +return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer"); +b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"=== +typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64= +function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2,b),64!==l&&p.view.setUint8(b++,k<<6&192|l))}p.limit=b;return p};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()}; +d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()): +d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0, +b,c);for(var h=0,f=0,g,k=!1,l=!1,p=!1,m=!1,q=!1;h":if(!c){if(m){q=!0;break}m=!0}b.limit= +f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d& +31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},g:function(a,c){var d=null;"number"===typeof a&& +(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode;k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return agd3xwgHlMs_= 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 Q+J`sz3#dY>h%}=B0CBIDJ^%m! diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index a3f7163..5d94546 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":87, -"mappings":"A;;;;;;AAsBC,SAAQ,CAACA,CAAD,CAAS,CAQdC,QAASA,EAAc,CAACC,CAAD,CAAO,CAcTC,QAAA,EAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC5B,WAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDD,CAAAI,iBAAxD,CAC4B,YAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDF,CAAAK,eAAxD,CAC4B,YAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDH,CAAAM,iBAAxD,CACA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAM,KAAIM,UAAJ,CAAe,yBAAf,CAAyCN,CAAzC,CAAN,CACJ,GAA4B,SAA5B,GAAI,MAAOC,EAAX,CACI,KAAM,KAAIM,SAAJ,CAAc,qCAAd,CAAN,CACJ,GAAwB,SAAxB,GAAI,MAAOL,EAAX,CACI,KAAM,KAAIK,SAAJ,CAAc,iCAAd,CAAN,CAPO,CAef,IAAAC,OAAA,CAA2B,CAAb,GAAAR,CAAA,CAAiBS,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBV,CAAhB,CAO9C,KAAAW,KAAA,CAAyB,CAAb,GAAAX,CAAA,CAAiB,IAAjB,CAAwB,IAAIY,QAAJ,CAAa,IAAAJ,OAAb,CASpC;IAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAaf,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CAnEsC,CA4E5DH,CAAAiB,QAAA,CAAqB,OAQrBjB,EAAAkB,cAAA,CAA2B,CAAA,CAQ3BlB,EAAAmB,WAAA,CAAwB,CAAA,CAOxBnB,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAmB,WAO5BnB,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAQ1B,KAAIW,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAYnBX,EAAAoB,SAAA,CAAsBC,QAAQ,CAACpB,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAAsB,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoBvB,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAOsB,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACItB,CAEA,CAFWD,CAEX,CADAA,CACA,CADeuB,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAIzB,EAAW,CAAf,CACS0B,EAAE,CADX,CACcC,EAAEJ,CAAAK,OADhB,CACgCA,CAAhC,CAAwCF,CAAxC,CAA0CC,CAA1C,CAA6C,EAAED,CAA/C,CACS3B,CAAA8B,aAAA,CAAwBN,CAAA,CAAQG,CAAR,CAAxB,CAGL,GAFIH,CAAA,CAAQG,CAAR,CAEJ,CAFiB3B,CAAA+B,KAAA,CAAgBP,CAAA,CAAQG,CAAR,CAAhB,CAA4BF,CAA5B,CAEjB,EADAI,CACA;AADSL,CAAA,CAAQG,CAAR,CAAAX,MACT,CAD4BQ,CAAA,CAAQG,CAAR,CAAAb,OAC5B,CAAa,CAAb,CAAIe,CAAJ,GAAgB5B,CAAhB,EAA4B4B,CAA5B,CAEJ,IAAiB,CAAjB,GAAI5B,CAAJ,CAAoB,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACvB6B,EAAAA,CAAK,IAAIhC,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAELS,EAAAA,CAAO,IAAIqB,UAAJ,CAAeD,CAAAvB,OAAf,CACN,KAALkB,CAAK,CAAH,CAAG,CAAOA,CAAP,CAASC,CAAT,CAAA,CACDM,CAEA,CAFKV,CAAA,CAAQG,CAAA,EAAR,CAEL,CADAE,CACA,CADSK,CAAAlB,MACT,CADoBkB,CAAApB,OACpB,CAAc,CAAd,EAAIe,CAAJ,GACAjB,CAAAuB,IAAA,CAASC,CAAA,IAAIH,UAAJ,CAAeC,CAAAzB,OAAf,CAAA2B,UAAA,CAAmCF,CAAApB,OAAnC,CAA8CoB,CAAAlB,MAA9C,CAAT,CAAkEgB,CAAAlB,OAAlE,CACA,CAAAkB,CAAAlB,OAAA,EAAae,CAFb,CAIJG,EAAAhB,MAAA,CAAWgB,CAAAlB,OACXkB,EAAAlB,OAAA,CAAY,CACZ,OAAOkB,EA1B6D,CAmCxEhC,EAAA8B,aAAA,CAA0BO,QAAQ,CAACL,CAAD,CAAK,CACnC,MAAOA,EAAP,EAAaA,CAAb,WAA2BhC,EADQ,CASvCA,EAAAsC,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAO5B,YADkB,CAiB7BX,EAAA+B,KAAA,CAAkBS,QAAQ,CAAC/B,CAAD,CAASgB,CAAT,CAAmBvB,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAOsB,EAAX,GACItB,CAEA,CAFWD,CAEX,CADAA,CACA,CADeuB,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOjB,EAAX,CAEI,OADwB,WAChBgB,GADJ,MAAOA,EACHA,GAD6BA,CAC7BA,CADwC,MACxCA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAOzB,EAAAyC,WAAA,CAAsBhC,CAAtB;AAA8BP,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAA0C,QAAA,CAAmBjC,CAAnB,CAA2BP,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA2C,WAAA,CAAsBlC,CAAtB,CAA8BP,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA4C,SAAA,CAAoBnC,CAApB,CAA4BP,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA6C,UAAA,CAAqBpC,CAArB,CAA6BP,CAA7B,CACX,SACI,KAAM,KAAIM,SAAJ,CAAc,wBAAd,CAAuCiB,CAAvC,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAIhB,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAM,KAAID,SAAJ,CAAc,oCAAd,CAAN,CAEJ,GAAIR,CAAA8B,aAAA,CAAwBrB,CAAxB,CAAJ,CAGI,MAFAuB,EAEOA,CAFFhC,CAAA8C,UAAAC,MAAAC,KAAA,CAAgCvC,CAAhC,CAEEuB,CADPA,CAAAjB,aACOiB,CADY,EACZA,CAAAA,CAEX,IAAIvB,CAAJ,WAAsBwB,WAAtB,CACID,CACA,CADK,IAAIhC,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIM,CAAAoB,OAAJ,GACIG,CAAAvB,OAGA,CAHYA,CAAAA,OAGZ,CAFAuB,CAAAlB,OAEA,CAFYL,CAAAwC,WAEZ,CADAjB,CAAAhB,MACA,CADWP,CAAAwC,WACX,CAD+BxC,CAAAoB,OAC/B,CAAAG,CAAApB,KAAA;AAA0B,CAAhB,CAAAH,CAAAoB,OAAA,CAAoB,IAAIhB,QAAJ,CAAaJ,CAAAA,OAAb,CAApB,CAAkD,IAJhE,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACHqB,CACA,CADK,IAAIhC,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIM,CAAAyC,WAAJ,GACIlB,CAAAvB,OAGA,CAHYA,CAGZ,CAFAuB,CAAAlB,OAEA,CAFY,CAEZ,CADAkB,CAAAhB,MACA,CADWP,CAAAyC,WACX,CAAAlB,CAAApB,KAAA,CAA8B,CAApB,CAAAH,CAAAyC,WAAA,CAAwB,IAAIrC,QAAJ,CAAaJ,CAAb,CAAxB,CAA+C,IAJ7D,CAFG,KAQA,IAA+C,gBAA/C,GAAI0C,MAAAL,UAAAM,SAAAJ,KAAA,CAA+BvC,CAA/B,CAAJ,CAGH,IAFAuB,CAEK,CAFA,IAAIhC,CAAJ,CAAeS,CAAAoB,OAAf,CAA8B3B,CAA9B,CAA4CC,CAA5C,CAEA,CADL6B,CAAAhB,MACK,CADMP,CAAAoB,OACN,CAAAF,CAAA,CAAE,CAAP,CAAUA,CAAV,CAAYlB,CAAAoB,OAAZ,CAA2B,EAAEF,CAA7B,CACIK,CAAApB,KAAAyC,SAAA,CAAiB1B,CAAjB,CAAoBlB,CAAA,CAAOkB,CAAP,CAApB,CAJD,KAMH,MAAM,KAAInB,SAAJ,CAAc,gBAAd,CAAN,CACJ,MAAOwB,EAtD0D,CAkErEhC,EAAA8C,UAAAQ,UAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAQ1C,CAAR,CAAgB,CACrD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAUpBpC,CAAA,EAAU,CACV,KAAI4C,EAAY,IAAAjD,OAAAyC,WACZpC,EAAJ,CAAa4C,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmB5C,CAAnB,CAA4B4C,CAA5B,CAAwC5C,CAApD,CAEJ,KAAAF,KAAAgD,QAAA,CADA9C,CACA,CADU,CACV,CAA0B0C,CAA1B,CACIC,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDd,EAAA8C,UAAAe,UAAA,CAAiC7D,CAAA8C,UAAAQ,UAQjCtD,EAAA8C,UAAAgB,SAAA,CAAgCC,QAAQ,CAACjD,CAAD,CAAS,CAC7C,IAAI2C;AAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAAoD,QAAA,CAAkBlD,CAAlB,CACR2C,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZsC,CAsBjDxD,EAAA8C,UAAAmB,SAAA,CAAgCjE,CAAA8C,UAAAgB,SAShC9D,EAAA8C,UAAAoB,WAAA,CAAkCC,QAAQ,CAACX,CAAD,CAAQ1C,CAAR,CAAgB,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX;AAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAUpBpC,CAAA,EAAU,CACV,KAAIsD,EAAY,IAAA3D,OAAAyC,WACZpC,EAAJ,CAAasD,CAAb,EACI,IAAAT,OAAA,CAAY,CAACS,CAAD,EAAc,CAAd,EAAmBtD,CAAnB,CAA4BsD,CAA5B,CAAwCtD,CAApD,CAEJ,KAAAF,KAAAyC,SAAA,CADAvC,CACA,CADU,CACV,CAA2B0C,CAA3B,CACIC,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA6B1Dd,EAAA8C,UAAAuB,UAAA,CAAiCC,QAAQ,CAACxD,CAAD,CAAS,CAC9C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAA2D,SAAA,CAAmBzD,CAAnB,CACR2C,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZuC,CAyBlDxD,EAAA8C,UAAA0B,WAAA,CAAkCC,QAAQ,CAACjB,CAAD,CAAQ1C,CAAR,CAAgB,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB;AAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAUpBpC,CAAA,EAAU,CACV,KAAI4D,EAAY,IAAAjE,OAAAyC,WACZpC,EAAJ,CAAa4D,CAAb,EACI,IAAAf,OAAA,CAAY,CAACe,CAAD,EAAc,CAAd,EAAmB5D,CAAnB,CAA4B4D,CAA5B,CAAwC5D,CAApD,CAEJ,KAAAF,KAAA+D,SAAA,CADA7D,CACA,CADU,CACV,CAA2B0C,CAA3B,CAAkC,IAAAtD,aAAlC,CACIuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CAgC1Dd,EAAA8C,UAAA8B,WAAA,CAAkC5E,CAAA8C,UAAA0B,WAUlCxE,EAAA8C,UAAA+B,UAAA,CAAiCC,QAAQ,CAAChE,CAAD,CAAS,CAC9C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAAmE,SAAA,CAAmBjE,CAAnB,CAA2B,IAAAZ,aAA3B,CACRuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZuC,CAwBlDxD,EAAA8C,UAAAkC,UAAA,CAAiChF,CAAA8C,UAAA+B,UAUjC7E,EAAA8C,UAAAmC,YAAA,CAAmCC,QAAQ,CAAC1B,CAAD,CAAQ1C,CAAR,CAAgB,CACvD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN;AACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAUpBpC,CAAA,EAAU,CACV,KAAIqE,EAAY,IAAA1E,OAAAyC,WACZpC,EAAJ,CAAaqE,CAAb,EACI,IAAAxB,OAAA,CAAY,CAACwB,CAAD,EAAc,CAAd,EAAmBrE,CAAnB,CAA4BqE,CAA5B,CAAwCrE,CAApD,CAEJ,KAAAF,KAAAwE,UAAA,CADAtE,CACA,CADU,CACV,CAA4B0C,CAA5B,CAAmC,IAAAtD,aAAnC,CACIuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KApBgD,CA+B3Dd,EAAA8C,UAAAuC,WAAA,CAAkCC,QAAQ,CAACxE,CAAD,CAAS,CAC/C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC;AAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAA2E,UAAA,CAAoBzE,CAApB,CAA4B,IAAAZ,aAA5B,CACRuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZwC,CAuBnDxD,EAAA8C,UAAA0C,WAAA,CAAkCC,QAAQ,CAACjC,CAAD,CAAQ1C,CAAR,CAAgB,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAUpBpC,CAAA,EAAU,CACV,KAAI4E,EAAY,IAAAjF,OAAAyC,WACZpC,EAAJ,CAAa4E,CAAb,EACI,IAAA/B,OAAA,CAAY,CAAC+B,CAAD,EAAc,CAAd,EAAmB5E,CAAnB,CAA4B4E,CAA5B,CAAwC5E,CAApD,CAEJ,KAAAF,KAAA+E,SAAA,CADA7E,CACA,CADU,CACV,CAA2B0C,CAA3B,CAAkC,IAAAtD,aAAlC,CACIuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA6B1Dd,EAAA8C,UAAA8C,SAAA,CAAgC5F,CAAA8C,UAAA0C,WAQhCxF,EAAA8C,UAAA+C,UAAA,CAAiCC,QAAQ,CAAChF,CAAD,CAAS,CAC9C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA2B,IAAAZ,aAA3B,CACRuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZuC,CAqBlDxD,EAAA8C,UAAAkD,QAAA,CAA+BhG,CAAA8C,UAAA+C,UAQ/B7F,EAAA8C,UAAAmD,YAAA,CAAmCC,QAAQ,CAAC1C,CAAD,CAAQ1C,CAAR,CAAgB,CACvD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAUpBpC,CAAA,EAAU,CACV,KAAIqF,EAAY,IAAA1F,OAAAyC,WACZpC,EAAJ,CAAaqF,CAAb,EACI,IAAAxC,OAAA,CAAY,CAACwC,CAAD,EAAc,CAAd,EAAmBrF,CAAnB,CAA4BqF,CAA5B,CAAwCrF,CAApD,CAEJ,KAAAF,KAAAwF,UAAA,CADAtF,CACA,CADU,CACV,CAA4B0C,CAA5B,CAAmC,IAAAtD,aAAnC,CACIuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KApBgD,CA6B3Dd,EAAA8C,UAAAuD,WAAA,CAAkCC,QAAQ,CAACxF,CAAD,CAAS,CAC/C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ;AAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAA2F,UAAA,CAAoBzF,CAApB,CAA4B,IAAAZ,aAA5B,CACRuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZwC,CAiB/CzD,EAAJ,GASIC,CAAA8C,UAAA0D,WAqHA,CArHkCC,QAAQ,CAACjD,CAAD,CAAQ1C,CAAR,CAAgB,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,CACIA,CAAA,CAAQzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BzD,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOM,EAAX,GACIA,CADJ,CACYzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CADZ,CAEA1C,EAAA,EAAU,CACV,KAAI6F,EAAY,IAAAlG,OAAAyC,WACZpC,EAAJ,CAAa6F,CAAb,EACI,IAAAhD,OAAA,CAAY,CAACgD,CAAD,EAAc,CAAd,EAAmB7F,CAAnB,CAA4B6F,CAA5B,CAAwC7F,CAApD,CACJA,EAAA,EAAU,CACN,KAAAZ,aAAJ,EACI,IAAAU,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA6B0C,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAhG,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA0B,CAA1B,CAA6B0C,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAjG,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA6B0C,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAjG,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA0B,CAA1B,CAA6B0C,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOInD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KA7B+C,CAqH1D,CA9EAd,CAAA8C,UAAAgE,UA8EA,CA9EiC9G,CAAA8C,UAAA0D,WA8EjC,CAtEAxG,CAAA8C,UAAAiE,UAsEA;AAtEiCC,QAAQ,CAAClG,CAAD,CAAS,CAC9C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAAtD,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAa,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAIf,CAAJ,CAAS,IAAAa,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF2C,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAduC,CAsElD,CA/CAxD,CAAA8C,UAAAmE,SA+CA,CA/CgCjH,CAAA8C,UAAAiE,UA+ChC;AAtCA/G,CAAA8C,UAAAoE,YAsCA,CAtCmCC,QAAQ,CAAC3D,CAAD,CAAQ1C,CAAR,CAAgB,CACvD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,CACIA,CAAA,CAAQzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BzD,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOM,EAAX,GACIA,CADJ,CACYzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CADZ,CAEA1C;CAAA,EAAU,CACV,KAAIsG,EAAY,IAAA3G,OAAAyC,WACZpC,EAAJ,CAAasG,CAAb,EACI,IAAAzD,OAAA,CAAY,CAACyD,CAAD,EAAc,CAAd,EAAmBtG,CAAnB,CAA4BsG,CAA5B,CAAwCtG,CAApD,CACJA,EAAA,EAAU,CACN,KAAAZ,aAAJ,EACI,IAAAU,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA6B0C,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAhG,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA0B,CAA1B,CAA6B0C,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAjG,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA6B0C,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAjG,KAAA+E,SAAA,CAAmB7E,CAAnB,CAA0B,CAA1B,CAA6B0C,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOInD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KA7BgD,CAsC3D,CAAAd,CAAA8C,UAAAuE,WAAA,CAAkCC,QAAQ,CAACxG,CAAD,CAAS,CAC/C,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAAtD,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAa,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAIf,CAAJ,CAAS,IAAAa,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAmF,SAAA,CAAmBjF,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF2C,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAdwC,CA9HvD,CA2JAxD,EAAA8C,UAAAyE,aAAA,CAAoCC,QAAQ,CAAChE,CAAD,CAAQ1C,CAAR,CAAgB,CACxD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,iBAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA;AAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CAPY,CASpBpC,CAAA,EAAU,CACV,KAAI2G,EAAY,IAAAhH,OAAAyC,WACZpC,EAAJ,CAAa2G,CAAb,EACI,IAAA9D,OAAA,CAAY,CAAC8D,CAAD,EAAc,CAAd,EAAmB3G,CAAnB,CAA4B2G,CAA5B,CAAwC3G,CAApD,CAEJ,KAAAF,KAAA8G,WAAA,CADA5G,CACA,CADU,CACV,CAA6B0C,CAA7B,CAAoC,IAAAtD,aAApC,CACIuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBiD,CA8B5Dd,EAAA8C,UAAA6E,WAAA,CAAkC3H,CAAA8C,UAAAyE,aAQlCvH,EAAA8C,UAAA8E,YAAA,CAAmCC,QAAQ,CAAC/G,CAAD,CAAS,CAChD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAAkH,WAAA,CAAqBhH,CAArB,CAA6B,IAAAZ,aAA7B,CACRuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZyC,CAsBpDxD,EAAA8C,UAAAiF,UAAA,CAAiC/H,CAAA8C,UAAA8E,YAWjC5H,EAAA8C,UAAAkF,aAAA,CAAoCC,QAAQ,CAACzE,CAAD,CAAQ1C,CAAR,CAAgB,CACxD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,iBAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CAPY,CASpBpC,CAAA,EAAU,CACV,KAAIoH,EAAY,IAAAzH,OAAAyC,WACZpC,EAAJ,CAAaoH,CAAb,EACI,IAAAvE,OAAA,CAAY,CAACuE,CAAD,EAAc,CAAd,EAAmBpH,CAAnB,CAA4BoH,CAA5B,CAAwCpH,CAApD,CAEJ,KAAAF,KAAAuH,WAAA,CADArH,CACA,CADU,CACV,CAA6B0C,CAA7B,CAAoC,IAAAtD,aAApC,CACIuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBiD,CA8B5Dd,EAAA8C,UAAAsF,YAAA,CAAmCpI,CAAA8C,UAAAkF,aAQnChI,EAAA8C,UAAAuF,YAAA,CAAmCC,QAAQ,CAACxH,CAAD,CAAS,CAChD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA5C,KAAA2H,WAAA,CAAqBzH,CAArB,CAA6B,IAAAZ,aAA7B,CACRuD,EAAJ,GAAc,IAAA3C,OAAd,EAA6B,CAA7B,CACA,OAAO0C,EAZyC,CAsBpDxD,EAAA8C,UAAA0F,WAAA,CAAkCxI,CAAA8C,UAAAuF,YAWlCrI,EAAAyI,mBAAA,CAAgC,CAQhCzI,EAAA0I,kBAAA,CAA+BC,QAAQ,CAACnF,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/CxD,EAAA4I,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxC9I,EAAA+I,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxC9I,EAAA8C,UAAAmG,cAAA;AAAqCC,QAAQ,CAAC1F,CAAD,CAAQ1C,CAAR,CAAgB,CACzD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CAHqC,IAarDiG,EAAOnJ,CAAA0I,kBAAA,CAA6BlF,CAA7B,CAEX1C,EAAA,EAAUqI,CACV,KAAIC,EAAa,IAAA3I,OAAAyC,WACbpC,EAAJ,CAAasI,CAAb,EACI,IAAAzF,OAAA,CAAY,CAACyF,CAAD,EAAe,CAAf,EAAoBtI,CAApB,CAA6BsI,CAA7B,CAA0CtI,CAAtD,CACJA,EAAA,EAAUqI,CAEV,KAAAvI,KAAAyC,SAAA,CAAmBvC,CAAnB;AAA2BuI,CAA3B,CAA+B7F,CAA/B,CAAuC,GAAvC,CACAA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACI6F,CAEA,CAFK7F,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAA5C,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA6BuI,CAA7B,CACA,CAAa,KAAb,EAAI7F,CAAJ,EACI6F,CAEA,CAFK7F,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA5C,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA6BuI,CAA7B,CACA,CAAa,OAAb,EAAI7F,CAAJ,EACI6F,CAEA,CAFK7F,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA5C,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA6BuI,CAA7B,CACA,CAAa,SAAb,EAAI7F,CAAJ,EACI,IAAA5C,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA8B0C,CAA9B,EAAuC,EAAvC,CAA6C,EAA7C,CACA,CAAA2F,CAAA,CAAO,CAFX,GAII,IAAAvI,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA6BuI,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CALX,CAHJ,GAWI,IAAAvI,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA6BuI,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAAvI,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA6BuI,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAAvI,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA2BuI,CAA3B,CAA+B,GAA/B,CACA,CAAAF,CAAA,CAAO,CA1BX,CA4BA,OAAI1F,EAAJ,EACI,IAAA3C,OACO,EADQqI,CACR,CAAA,IAFX,EAIOA,CAvDkD,CAkE7DnJ,EAAA8C,UAAAwG,oBAAA,CAA2CC,QAAQ,CAAC/F,CAAD,CAAQ1C,CAAR,CAAgB,CAC/D,MAAO,KAAAmI,cAAA,CAAmBjJ,CAAA4I,eAAA,CAA0BpF,CAA1B,CAAnB,CAAqD1C,CAArD,CADwD,CAanEd,EAAA8C,UAAA0G,aAAA;AAAoCC,QAAQ,CAAC3I,CAAD,CAAS,CACjD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAH6B,IAW7CiG,EAAO,CAXsC,CAY7C3F,EAAQ,CAZqC,CAa7CkG,CACJ,GACIA,EAGA,CAHO,IAAA9I,KAAA2D,SAAA,CAAmBzD,CAAnB,CAA0BqI,CAA1B,CAGP,CAFW,CAEX,CAFIA,CAEJ,GADI3F,CACJ,GADekG,CACf,CADoB,GACpB,GAD4B,CAC5B,CAD8BP,CAC9B,GADyC,CACzC,EAAA,EAAEA,CAJN,OAK2B,GAL3B,IAKUO,CALV,CAKiB,GALjB,EAMAlG,EAAA,EAAgB,CAChB,OAAIC,EAAJ,EACI,IAAA3C,OACO0C,EADQ2F,CACR3F,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAU2F,CAFP,CAzB0C,CAwCrDnJ,EAAA8C,UAAA6G,mBAAA,CAA0CC,QAAQ,CAAC9I,CAAD,CAAS,CACnD+I,CAAAA,CAAM,IAAAL,aAAA,CAAkB1I,CAAlB,CACS;QAAnB,GAAI,MAAO+I,EAAX,CACIA,CAAA,MADJ,CACmB7J,CAAA+I,eAAA,CAA0Bc,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU7J,CAAA+I,eAAA,CAA0Bc,CAA1B,CACV,OAAOA,EANgD,CAWvD9J,EAAJ,GAQIC,CAAA8J,mBAsLA,CAtLgC,EAsLhC,CA9KA9J,CAAA+J,kBA8KA,CA9K+BC,QAAQ,CAACxG,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,GACIA,CADJ,CACYzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CADZ,CAD2C,KAIvCyG,EAAQzG,CAAA0G,MAAA,EAARD,GAA0B,CAJa,CAKvCE,EAAQ3G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQ7G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EApBW,CA8K/C,CAjJArK,CAAAsK,eAiJA,CAjJ4BC,QAAQ,CAAC/G,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAAgH,SAFT,GAEmChH,CAFnC,CAE2CA,CAAAiH,SAAA,EAF3C,CAIA,OAAOjH,EAAAkH,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuBnH,CAAAoH,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EALiC,CAiJ5C;AAnIA7K,CAAA8K,eAmIA,CAnI4BC,QAAQ,CAACvH,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAAgH,SAFT,GAEmChH,CAFnC,CAE2CA,CAAAiH,SAAA,EAF3C,CAIA,OAAOjH,EAAA4G,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgCnH,CAAAwH,IAAA,CAAUjL,CAAAkL,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EALiC,CAmI5C,CAnHAzK,CAAA8C,UAAAqI,cAmHA,CAnHqCC,QAAQ,CAAC5H,CAAD,CAAQ1C,CAAR,CAAgB,CACzD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,CACIA,CAAA,CAAQzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BzD,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO1C,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOM,EAAX,CACIA,CADJ,CACYzD,CAAA2G,WAAA,CAAgBlD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAAgH,SAFT,GAEmChH,CAFnC,CAE2CA,CAAAiH,SAAA,EAF3C,CAdyD,KAiBrDtB,EAAOnJ,CAAA+J,kBAAA,CAA6BvG,CAA7B,CAjB8C,CAkBrDyG,EAAQzG,CAAA0G,MAAA,EAARD,GAA0B,CAlB2B,CAmBrDE,EAAQ3G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAnBI,CAoBrDE,EAAQ7G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDvJ,EAAA,EAAUqI,CACV,KAAIkC,EAAa,IAAA5K,OAAAyC,WACbpC,EAAJ,CAAauK,CAAb,EACI,IAAA1H,OAAA,CAAY,CAAC0H,CAAD,EAAe,CAAf,EAAoBvK,CAApB,CAA6BuK,CAA7B,CAA0CvK,CAAtD,CACJA,EAAA,EAAUqI,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAAvI,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAA8BuJ,CAA9B,GAAyC,CAAzC,CAA8C,CAA9C,CACT,MAAK,CAAL,CAAS,IAAAzJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT;AAAAqI,CAAA,CAAckB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAzJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAvJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAvJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcgB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAvJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcgB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAvJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcc,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcc,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAqI,CAAA,CAAcc,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArJ,KAAAyC,SAAA,CAAmBvC,CAAnB,CAAsC,CAAT,GAAAqI,CAAA,CAAcc,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CAVb,CAYA,MAAIxG,EAAJ,EACI,IAAA3C,OACO,EADQqI,CACR,CAAA,IAFX,EAIWA,CA1C8C,CAmH7D,CA7DAnJ,CAAA8C,UAAAwI,oBA6DA;AA7D2CC,QAAQ,CAAC/H,CAAD,CAAQ1C,CAAR,CAAgB,CAC/D,MAAO,KAAAqK,cAAA,CAAmBnL,CAAAsK,eAAA,CAA0B9G,CAA1B,CAAnB,CAAqD1C,CAArD,CADwD,CA6DnE,CAhDAd,CAAA8C,UAAA0I,aAgDA,CAhDoCC,QAAQ,CAAC3K,CAAD,CAAS,CACjD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAH6B,IAW7CwI,EAAQ5K,CAXqC,CAY7CmJ,EAAQ,CAZqC,CAa7CE,EAAQ,CAbqC,CAc7CE,EAAQ,CAdqC,CAe7ChB,EAAK,CAfwC,CAgBjDA,EAAI,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAhB6C,CAgBfmJ,EAAUZ,CAAVY,CAAc,GAAa,IAAIZ,CAAJ,CAAQ,GAAR,GAC7DA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BmJ,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ;CACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BmJ,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BmJ,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BqJ,CAA+B,CAArBd,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BqJ,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BqJ,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BqJ,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BuJ,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAA6D,CAA/BuJ,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GADJ,CADA,CADA,CADA,CADA,CADA,CADA,CADA,CADJ,EAU7D,KAAUsC,MAAJ,CAAU,sCAAV,CAAN,CACInI,CAAAA,CAAQzD,CAAA6L,SAAA,CAAc3B,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD,CAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAI5G,EAAJ,EACI,IAAA3C,OACO0C,CADO1C,CACP0C,CAAAA,CAFX,EAIW,CACH,MAASA,CADN;AAEH,OAAU1C,CAAV,CAAiB4K,CAFd,CAhCsC,CAgDrD,CAAA1L,CAAA8C,UAAA+I,mBAAA,CAA0CC,QAAQ,CAAChL,CAAD,CAAS,CAEvD,CADI+I,CACJ,CADU,IAAA2B,aAAA,CAAkB1K,CAAlB,CACV,GAAW+I,CAAA,MAAX,WAAmC9J,EAAnC,CACI8J,CAAA,MADJ,CACmB7J,CAAA8K,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU7J,CAAA8K,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EANgD,CA9L/D,CAqNA7J,EAAA8C,UAAAiJ,aAAA,CAAoCC,QAAQ,CAACC,CAAD,CAAMnL,CAAN,CAAc,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CAFsD,KAGlDa,CAHkD,CAIlDC,EAAIqK,CAAApK,OACR,IAAK1B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO8L,EAAX,CACI,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN,CACJ,IAAKmB,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYC,CAAZ,CAAe,EAAED,CAAjB,CACI,GAA0B,CAA1B,GAAIsK,CAAAC,WAAA,CAAevK,CAAf,CAAJ,CACI,KAAM,KAAIpB,UAAJ,CAAe,uCAAf,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAOO,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CAXY,CAahBwI,CAAAA,CAAQ5K,CAEZc,EAAA,CAAIuK,CAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAA,CAAkD,CAAlD,CACJnL,EAAA,EAAUc,CAAV,CAAY,CACZ,KAAI0K,EAAa,IAAA7L,OAAAyC,WACbpC,EAAJ,CAAawL,CAAb,EACI,IAAA3I,OAAA,CAAY,CAAC2I,CAAD,EAAe,CAAf,EAAoBxL,CAApB,CAA6BwL,CAA7B,CAA0CxL,CAAtD,CACJA,EAAA,EAAUc,CAAV,CAAY,CACZuK,EAAAI,EAAA,CAAuBJ,CAAAE,EAAA,CAAkBJ,CAAlB,CAAvB,CAA+C,QAAQ,CAAC5C,CAAD,CAAI,CACvD,IAAAzI,KAAAyC,SAAA,CAAmBvC,CAAA,EAAnB,CAA6BuI,CAA7B,CADuD,CAAZmD,KAAA,CAExC,IAFwC,CAA/C,CAGA,KAAA5L,KAAAyC,SAAA,CAAmBvC,CAAA,EAAnB,CAA6B,CAA7B,CACA,OAAI2C,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CADgB4K,CAChB,CAAA,IAFX,EAIO9J,CAlC+C,CA8C1D5B,EAAA8C,UAAA2J,YAAA,CAAmCC,QAAQ,CAAC5L,CAAD,CAAS,CAChD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAH4B,IAU5CwI,EAAQ5K,CAVoC,CAa5C6L,CAb4C,CAaxCtD,EAAK,EACb8C,EAAAS,EAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAIvD,CAAJ,CAAa,MAAO,KACpB,IAAIvI,CAAJ,EAAc,IAAAE,MAAd,CACI,KAAMT,WAAA,CAAW,iCAAX,CAA6CO,CAA7C,CAAoD,KAApD,CAA0D,IAAAE,MAA1D,CAAN,CACJ,MAA8C,EAAvC,IAACqI,CAAD,CAAK,IAAAzI,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAAL,EAA2C,IAA3C,CAAkDuI,CAJ3B,CAAXmD,KAAA,CAKhB,IALgB,CAAvB,CAKcG,CALd,CAKmBR,CAAAU,EAAA,EALnB,CAK6C,CAAA,CAL7C,CAMA,OAAIpJ,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CAAA6L,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAU7L,CAAV,CAAmB4K,CAFhB,CAxBqC,CA0CpD1L,EAAA8C,UAAAgK,aAAA,CAAoCC,QAAQ,CAACd,CAAD,CAAMnL,CAAN,CAAc,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB;AAAI,MAAO8L,EAAX,CACI,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CAPY,CAHkC,IAYlDwI,EAAQ5K,CAZ0C,CAalDc,CACJA,EAAA,CAAIuK,CAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAkD,IAAA9L,SAAlD,CAAA,CAAiE,CAAjE,CACJW,EAAA,EAAU,CAAV,CAAYc,CACZ,KAAIoL,EAAa,IAAAvM,OAAAyC,WACbpC,EAAJ,CAAakM,CAAb,EACI,IAAArJ,OAAA,CAAY,CAACqJ,CAAD,EAAe,CAAf,EAAoBlM,CAApB,CAA6BkM,CAA7B,CAA0ClM,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYc,CACZ,KAAAhB,KAAAwF,UAAA,CAAoBtF,CAApB,CAA4Bc,CAA5B,CAA+B,IAAA1B,aAA/B,CACAY,EAAA,EAAU,CACVqL,EAAAI,EAAA,CAAuBJ,CAAAE,EAAA,CAAkBJ,CAAlB,CAAvB,CAA+C,QAAQ,CAAC5C,CAAD,CAAI,CACvD,IAAAzI,KAAAyC,SAAA,CAAmBvC,CAAA,EAAnB,CAA6BuI,CAA7B,CADuD,CAAZmD,KAAA,CAExC,IAFwC,CAA/C,CAGA;GAAI1L,CAAJ,GAAe4K,CAAf,CAAuB,CAAvB,CAA2B9J,CAA3B,CACI,KAAM,KAAIrB,UAAJ,CAAe,iCAAf,CAAiDO,CAAjD,CAAwD,MAAxD,EAAgEA,CAAhE,CAAuE,CAAvE,CAAyEc,CAAzE,EAAN,CACJ,MAAI6B,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB4K,CA/BsC,CA2C1D1L,EAAA8C,UAAAmK,YAAA,CAAmCC,QAAQ,CAACpM,CAAD,CAAS,CAChD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAH4B,IAU5CwG,EAAO,CAVqC,CAW5CgC,EAAQ5K,CAXoC,CAahD4I,EAAO,IAAA9I,KAAA2F,UAAA,CAAoBzF,CAApB,CAA4B,IAAAZ,aAA5B,CACPY,EAAA;AAAU,CAdsC,KAe5Cc,EAAId,CAAJc,CAAa8H,CAEjByC,EAAAS,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO9L,EAAA,CAASc,CAAT,CAAa,IAAAhB,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX0L,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBR,CAAAU,EAAA,EAFnB,CAE6C,IAAA1M,SAF7C,CAGA8L,EAAA,CAAMU,CAAA,EACN,OAAIlJ,EAAJ,EACI,IAAA3C,OACOmL,CADOnL,CACPmL,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUnL,CAAV,CAAmB4K,CAFhB,CAzBqC,CAwCpD1L,EAAAmN,cAAA,CAA2B,GAQ3BnN,EAAAoN,cAAA,CAA2B,GAS3BpN,EAAA8C,UAAAuK,gBAAA,CAAuCC,QAAQ,CAACrB,CAAD,CAAMnL,CAAN,CAAc,CACzD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD;AAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOpB,IAAItB,CAAJ,CACI8J,EAAQ5K,CACZc,EAAA,CAAIuK,CAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAA,CAAkD,CAAlD,CACJnL,EAAA,EAAUc,CACV,KAAI2L,EAAa,IAAA9M,OAAAyC,WACbpC,EAAJ,CAAayM,CAAb,EACI,IAAA5J,OAAA,CAAY,CAAC4J,CAAD,EAAe,CAAf,EAAoBzM,CAApB,CAA6ByM,CAA7B,CAA0CzM,CAAtD,CACJA,EAAA,EAAUc,CACVuK,EAAAI,EAAA,CAAuBJ,CAAAE,EAAA,CAAkBJ,CAAlB,CAAvB,CAA+C,QAAQ,CAAC5C,CAAD,CAAI,CACvD,IAAAzI,KAAAyC,SAAA,CAAmBvC,CAAA,EAAnB,CAA6BuI,CAA7B,CADuD,CAAZmD,KAAA,CAExC,IAFwC,CAA/C,CAGA,OAAI/I,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB4K,CAzByC,CAoC7D1L,EAAA8C,UAAA0K,YAAA,CAAmCxN,CAAA8C,UAAAuK,gBAUnCrN,EAAAyN,mBAAA,CAAgCC,QAAQ,CAACzB,CAAD,CAAM,CAC1C,MAAOE,EAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAA,CAAkD,CAAlD,CADmC,CAW9CjM,EAAA2N,mBAAA,CAAgCC,QAAQ,CAAC3B,CAAD,CAAM,CAC1C,MAAOE,EAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAA,CAAkD,CAAlD,CADmC,CAe9CjM,EAAA8C,UAAA+K,eAAA,CAAsCC,QAAQ,CAACjM,CAAD,CAASkM,CAAT,CAAkBjN,CAAlB,CAA0B,CAC7C,QAAvB,GAAI,MAAOiN,EAAX,GACIjN,CACA,CADSiN,CACT,CAAAA,CAAA,CAAUrM,IAAAA,EAFd,CAIA,KAAI+B,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACuB;WAAvB,GAAI,MAAOiN,EAAX,GAAoCA,CAApC,CAA8C/N,CAAAmN,cAA9C,CACA,IAAKhN,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO0B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIrB,SAAJ,CAAc,kBAAd,CAAiCqB,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CARY,CARgD,IAkBhEvB,EAAI,CAlB4D,CAmBhE+J,EAAQ5K,CAnBwD,CAoBhE6L,CACJ,IAAIoB,CAAJ,GAAgB/N,CAAAmN,cAAhB,CAA0C,CACtCR,CAAA,CAAKR,CAAAU,EAAA,EACLV,EAAA6B,EAAA,CAAgB,QAAQ,EAAG,CACvB,MAAOrM,EAAA,CAAIE,CAAJ,EAAcf,CAAd,CAAuB,IAAAE,MAAvB,CAAoC,IAAAJ,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAApC,CAAmE,IADnD,CAAX0L,KAAA,CAET,IAFS,CAAhB;AAEc,QAAQ,CAACyB,CAAD,CAAK,CACvB,EAAEtM,CAAGwK,EAAA+B,EAAA,CAAiBD,CAAjB,CAAqBtB,CAArB,CADkB,CAAbH,KAAA,CAEP,IAFO,CAFd,CAKA,IAAI7K,CAAJ,GAAUE,CAAV,CACI,KAAM,KAAItB,UAAJ,CAAe,iCAAf,CAAiDoB,CAAjD,CAAmD,MAAnD,CAA0DE,CAA1D,CAAN,CACJ,MAAI4B,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CAAA6L,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAU7L,CAAV,CAAmB4K,CAFhB,CAb2B,CAkBnC,GAAIqC,CAAJ,GAAgB/N,CAAAoN,cAAhB,CAA0C,CAC7C,GAAKjN,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2Be,CAA3B,CAAoC,IAAApB,OAAAyC,WAApC,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAA8C,KAA9C,CAAoDe,CAApD,CAA2D,OAA3D,CAAmE,IAAApB,OAAAyC,WAAnE,CAAN,CALY,CAOpB,IAAItB,EAAId,CAAJc,CAAaC,CACjBsK,EAAAS,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO9L,EAAA,CAASc,CAAT,CAAa,IAAAhB,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX0L,KAAA,CAEhB,IAFgB,CAAvB;AAEcG,CAFd,CAEmBR,CAAAU,EAAA,EAFnB,CAE6C,IAAA1M,SAF7C,CAGA,IAAIW,CAAJ,GAAec,CAAf,CACI,KAAM,KAAIrB,UAAJ,CAAe,iCAAf,CAAiDO,CAAjD,CAAwD,MAAxD,CAA+Dc,CAA/D,CAAN,CACJ,MAAI6B,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CAAA6L,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAU7L,CAAV,CAAmB4K,CAFhB,CAlBkC,CAwB7C,KAAM,KAAIlL,SAAJ,CAAc,uBAAd,CAAsCuN,CAAtC,CAAN,CA/DgE,CA8ExE/N,EAAA8C,UAAAqL,WAAA,CAAkCnO,CAAA8C,UAAA+K,eAalC7N,EAAA8C,UAAAsL,aAAA,CAAoCC,QAAQ,CAACpC,CAAD,CAAMnL,CAAN,CAAc,CACtD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO8L,EAAX,CACI,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC;AAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CAPY,CAHkC,IAYlDwI,EAAQ5K,CAZ0C,CAalDc,CAbkD,CAa/C0M,CACP1M,EAAA,CAAIuK,CAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAkD,IAAA9L,SAAlD,CAAA,CAAiE,CAAjE,CACJmO,EAAA,CAAItO,CAAA0I,kBAAA,CAA6B9G,CAA7B,CACJd,EAAA,EAAUwN,CAAV,CAAY1M,CACZ,KAAI2M,EAAa,IAAA9N,OAAAyC,WACbpC,EAAJ,CAAayN,CAAb,EACI,IAAA5K,OAAA,CAAY,CAAC4K,CAAD,EAAe,CAAf,EAAoBzN,CAApB,CAA6ByN,CAA7B,CAA0CzN,CAAtD,CACJA,EAAA,EAAUwN,CAAV,CAAY1M,CACZd,EAAA,EAAU,IAAAmI,cAAA,CAAmBrH,CAAnB,CAAsBd,CAAtB,CACVqL,EAAAI,EAAA,CAAuBJ,CAAAE,EAAA,CAAkBJ,CAAlB,CAAvB,CAA+C,QAAQ,CAAC5C,CAAD,CAAI,CACvD,IAAAzI,KAAAyC,SAAA,CAAmBvC,CAAA,EAAnB,CAA6BuI,CAA7B,CADuD,CAAZmD,KAAA,CAExC,IAFwC,CAA/C,CAGA,IAAI1L,CAAJ,GAAe4K,CAAf,CAAqB9J,CAArB,CAAuB0M,CAAvB,CACI,KAAM,KAAI/N,UAAJ,CAAe,iCAAf,CAAiDO,CAAjD,CAAwD,MAAxD,EAAgEA,CAAhE,CAAuEc,CAAvE,CAAyE0M,CAAzE,EAAN,CACJ,MAAI7K,EAAJ,EACI,IAAA3C,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB4K,CA/BsC,CA2C1D1L,EAAA8C,UAAA0L,YAAA;AAAmCC,QAAQ,CAAC3N,CAAD,CAAS,CAChD,IAAI2C,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAH4B,IAU5CwG,EAAO,IAAAF,aAAA,CAAkB1I,CAAlB,CAVqC,CAW5C4K,EAAQ5K,CAEZA,EAAA,EAAU4I,CAAA,OACV,KAAAA,EAAOA,CAAA,MAAP,CACI9H,EAAId,CAAJc,CAAa8H,CADjB,CAEIiD,EAAKR,CAAAU,EAAA,EACTV,EAAAS,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO9L,EAAA,CAASc,CAAT,CAAa,IAAAhB,KAAA2D,SAAA,CAAmBzD,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX0L,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEkB,IAAAxM,SAFlB,CAGA8L,EAAA,CAAMU,CAAA,EACN,OAAIlJ,EAAJ,EACI,IAAA3C,OACOmL,CADOnL,CACPmL,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUnL,CAAV;AAAmB4K,CAFhB,CAzBqC,CA8CpD1L,EAAA8C,UAAA4L,OAAA,CAA8BC,QAAQ,CAACC,CAAD,CAASnN,CAAT,CAAmBX,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAOW,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIX,CACA,CADSW,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI+B,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOd0L,CAAN,WAAwB5O,EAAxB,GACI4O,CADJ,CACa5O,CAAA+B,KAAA,CAAgB6M,CAAhB,CAAwBnN,CAAxB,CADb,CAEII,EAAAA,CAAS+M,CAAA5N,MAATa,CAAwB+M,CAAA9N,OAC5B,IAAc,CAAd,EAAIe,CAAJ,CAAiB,MAAO,KACxBf,EAAA,EAAUe,CACV,KAAIgN,EAAa,IAAApO,OAAAyC,WACbpC,EAAJ,CAAa+N,CAAb,EACI,IAAAlL,OAAA,CAAY,CAACkL,CAAD;AAAe,CAAf,EAAoB/N,CAApB,CAA6B+N,CAA7B,CAA0C/N,CAAtD,CAEJqB,EAAA,IAAIF,UAAJ,CAAe,IAAAxB,OAAf,CADAK,CACA,CADUe,CACV,CAAAM,KAAA,CAAwCC,CAAA,IAAIH,UAAJ,CAAe2M,CAAAnO,OAAf,CAAA2B,UAAA,CAAuCwM,CAAA9N,OAAvC,CAAsD8N,CAAA5N,MAAtD,CAAxC,CACA4N,EAAA9N,OAAA,EAAiBe,CACb4B,EAAJ,GAAc,IAAA3C,OAAd,EAA6Be,CAA7B,CACA,OAAO,KA1BsD,CAuCjE7B,EAAA8C,UAAAgM,SAAA,CAAgCC,QAAQ,CAACC,CAAD,CAASlO,CAAT,CAAiB,CACrDkO,CAAAN,OAAA,CAAc,IAAd,CAAoB5N,CAApB,CACA,OAAO,KAF8C,CAYzDd,EAAA8C,UAAAmM,OAAA,CAA8BC,QAAQ,CAACD,CAAD,CAAS,CAC3C,IAAA9O,SAAA,CAAgB,CAAC8O,CACjB,OAAO,KAFoC,CAU/CjP,EAAA8C,UAAA7C,SAAA,CAAgCkP,QAAQ,EAAG,CACvC,MAAO,KAAA1O,OAAAyC,WADgC,CAU3ClD,EAAA8C,UAAAsM,MAAA,CAA6BC,QAAQ,EAAG,CACpC,IAAAvO,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAAyC,WACb,KAAAnC,aAAA,CAAqB,EACrB,OAAO,KAJ6B,CAcxCf,EAAA8C,UAAAC,MAAA,CAA6BuM,QAAQ,CAACC,CAAD,CAAO,CACxC,IAAIvN,EAAK,IAAIhC,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB;AAAqC,IAAAC,SAArC,CACLoP,EAAJ,EACQ9O,CAGJ,CAHa,IAAIE,WAAJ,CAAgB,IAAAF,OAAAyC,WAAhB,CAGb,CAFAf,CAAA,IAAIF,UAAJ,CAAexB,CAAf,CAAA0B,KAAA,CAA2B,IAAA1B,OAA3B,CAEA,CADAuB,CAAAvB,OACA,CADYA,CACZ,CAAAuB,CAAApB,KAAA,CAAU,IAAIC,QAAJ,CAAaJ,CAAb,CAJd,GAMIuB,CAAAvB,OACA,CADY,IAAAA,OACZ,CAAAuB,CAAApB,KAAA,CAAU,IAAAA,KAPd,CASAoB,EAAAlB,OAAA,CAAY,IAAAA,OACZkB,EAAAjB,aAAA,CAAkB,IAAAA,aAClBiB,EAAAhB,MAAA,CAAW,IAAAA,MACX,OAAOgB,EAdiC,CA0B5ChC,EAAA8C,UAAA0M,QAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX;AAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAIwM,CAAJ,EAAmBC,CAAnB,GAA2B,IAAAlP,OAAAyC,WAA3B,CACI,MAAO,KACX,KAAI0M,EAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ,GAAIE,CAAJ,CAMI,MALA,KAAAnP,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0C2O,CAG1C,EADP,IAAA1O,MACO,CAFP,IAAAF,OAEO,CAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgBiP,CAAhB,CACbzN,EAAA,IAAIF,UAAJ,CAAexB,CAAf,CAAA0B,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAAxB,OAAf,CAAA2B,UAAA,CAAqCsN,CAArC,CAA4CC,CAA5C,CAA3B,CACA,KAAAlP,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACa;CAAzB,EAAI,IAAAM,aAAJ,GAA4B,IAAAA,aAA5B,EAAiD2O,CAAjD,CACA,KAAA5O,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa4O,CACb,OAAO,KA/ByC,CA0CpD5P,EAAA8C,UAAAyM,KAAA,CAA4BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN;AARY,CAUpB,GAAIwM,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAI3P,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdkC,KAezCF,EAAW0P,CAAX1P,CAAiByP,CAfwB,CAgBzC1N,EAAK,IAAIhC,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACT6B,EAAAlB,OAAA,CAAY,CACZkB,EAAAhB,MAAA,CAAWf,CACY,EAAvB,EAAI+B,CAAAjB,aAAJ,GAA0BiB,CAAAjB,aAA1B,EAA6C2O,CAA7C,CACA,KAAAI,OAAA,CAAY9N,CAAZ,CAAgB,CAAhB,CAAmB0N,CAAnB,CAA0BC,CAA1B,CACA,OAAO3N,EArBsC,CAoCjDhC,EAAA8C,UAAAgN,OAAA,CAA8BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAChFzM,CADgF,CAEhF0M,CACJ,IAAKhQ,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAA8B,aAAA,CAAwBkN,CAAxB,CADT,CAEQ,KAAM,KAAIxO,SAAJ,CAAc,kCAAd,CAAN,CAERwP,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAAlO,OAAzD,CAAyEkP,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAACxM,CAAD,CAAoC,WAApC,GAAY,MAAOwM,EAAnB,EAAmD,IAAAnP,OAAnD,CAAiEmP,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAAlP,MAArC,CAAkDkP,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAAvO,OAAAyC,WAAvC,CACI,KAAM,KAAI3C,UAAJ,CAAe,6BAAf;AAA6CyP,CAA7C,CAA0D,MAA1D,CAAiEhB,CAAAvO,OAAAyC,WAAjE,CAAN,CACJ,GAAmB,CAAnB,CAAI+M,CAAJ,EAAwBC,CAAxB,CAAsC,IAAAzP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,6BAAf,CAA6C0P,CAA7C,CAA0D,MAA1D,CAAiE,IAAAxP,OAAAyC,WAAjE,CAAN,CAEJ,IAAI0M,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEAzN,EAAA,IAAIF,UAAJ,CAAe+M,CAAAvO,OAAf,CAAA0B,KAAA,CAAkCC,CAAA,IAAIH,UAAJ,CAAe,IAAAxB,OAAf,CAAA2B,UAAA,CAAqC6N,CAArC,CAAmDC,CAAnD,CAAlC,CAAmGF,CAAnG,CAEIvM,EAAJ,GAAc,IAAA3C,OAAd,EAA6B8O,CAA7B,CACIO,EAAJ,GAAoBnB,CAAAlO,OAApB,EAAqC8O,CAArC,CAEA,OAAO,KA3B6E,CAsCxF5P,EAAA8C,UAAAsN,eAAA,CAAsCC,QAAQ,CAACpQ,CAAD,CAAW,CACrD,IAAIqQ,EAAU,IAAA7P,OAAAyC,WACd,OAAIoN,EAAJ,CAAcrQ,CAAd,CACW,IAAA0D,OAAA,CAAY,CAAC2M,CAAD,EAAY,CAAZ,EAAiBrQ,CAAjB,CAA4BqQ,CAA5B,CAAsCrQ,CAAlD,CADX,CAEO,IAJ8C,CAkBzDD,EAAA8C,UAAAyN,KAAA,CAA4BC,QAAQ,CAAChN,CAAD,CAAQkM,CAAR,CAAeC,CAAf,CAAoB,CACpD,IAAIlM,EAA4B,WAA5BA,GAAW,MAAOiM,EAClBjM,EAAJ;CAAciM,CAAd,CAAsB,IAAA5O,OAAtB,CACqB,SAArB,GAAI,MAAO0C,EAAX,EAAgD,CAAhD,CAAiCA,CAAA3B,OAAjC,GACI2B,CADJ,CACYA,CAAA0I,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAOwD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOqD,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIhD,SAAJ,CAAc,iBAAd,CAAgCgD,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAOkM,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf;AAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CAXY,CAapB,GAAIwM,CAAJ,EAAaC,CAAb,CAAkB,MAAO,KACzB,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAA/O,KAAAyC,SAAA,CAAmBqM,CAAA,EAAnB,CAA4BlM,CAA5B,CAChBC,EAAJ,GACI,IAAA3C,OADJ,CACkB4O,CADlB,CAGA,OAAO,KAzB6C,CAkCxD1P,EAAA8C,UAAA2N,KAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAA1P,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH4B,CAcvCd,EAAA8C,UAAA6N,KAAA,CAA4BC,QAAQ,CAAC9P,CAAD,CAAS,CACzCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN;AALY,CAOpB,IAAAnC,aAAA,CAAoBD,CACpB,OAAO,KAVkC,CAkB7Cd,EAAA8C,UAAA+N,MAAA,CAA6BC,QAAQ,CAAC5Q,CAAD,CAAe,CAChD,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM,KAAIM,SAAJ,CAAc,qCAAd,CAAN,CAER,IAAAN,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANyC,CAepDF,EAAA8C,UAAAiO,GAAA,CAA0BC,QAAQ,CAAC9Q,CAAD,CAAe,CAC7C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFsC,CAWjDF,EAAA8C,UAAAmO,GAAA,CAA0BC,QAAQ,CAACC,CAAD,CAAY,CAC1C,IAAAjR,aAAA,CAAyC,WAArB,GAAA,MAAOiR,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFmC,CAkB9CnR,EAAA8C,UAAAsO,QAAA,CAA+BC,QAAQ,CAACzC,CAAD,CAASnN,CAAT,CAAmBX,CAAnB,CAA2B,CAC9D,GAAwB,QAAxB,GAAI,MAAOW,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIX,CACA,CADSW,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI+B,EAA6B,WAA7BA,GAAW,MAAO3C,EAClB2C,EAAJ,GAAc3C,CAAd;AAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAyC,WAA/B,CACI,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAyC,WAA9D,CAAN,CALY,CAOd0L,CAAN,WAAwB5O,EAAxB,GACI4O,CADJ,CACa5O,CAAA+B,KAAA,CAAgB6M,CAAhB,CAAwBnN,CAAxB,CADb,CAEImO,EAAAA,CAAMhB,CAAA5N,MAAN4O,CAAqBhB,CAAA9N,OACzB,IAAW,CAAX,EAAI8O,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAaxQ,CAAjB,CACIyQ,CACJ,IAAW,CAAX,CAAID,CAAJ,CAAc,CACV,IAAI7Q,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAAyC,WAAhB,CAAyCoO,CAAzC,CACbC,EAAA,CAAY,IAAItP,UAAJ,CAAexB,CAAf,CACZ8Q,EAAApP,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe,IAAAxB,OAAf,CAAA2B,UAAA,CAAqCtB,CAArC,CAA6C,IAAAL,OAAAyC,WAA7C,CAAd,CAAoF0M,CAApF,CACA,KAAAnP,OAAA,CAAcA,CACd,KAAAG,KAAA;AAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACZ,KAAAK,OAAA,EAAewQ,CACU,EAAzB,EAAI,IAAAvQ,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDuQ,CAAjD,CACA,KAAAtQ,MAAA,EAAcsQ,CACdxQ,EAAA,EAAUwQ,CATA,CAAd,IAWIC,EAAA,CAAY,IAAItP,UAAJ,CAAe,IAAAxB,OAAf,CAEhB8Q,EAAApP,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe2M,CAAAnO,OAAf,CAAA2B,UAAA,CAAuCwM,CAAA9N,OAAvC,CAAsD8N,CAAA5N,MAAtD,CAAd,CAAmFF,CAAnF,CAA4F8O,CAA5F,CACAhB,EAAA9N,OAAA,CAAgB8N,CAAA5N,MACZyC,EAAJ,GACI,IAAA3C,OADJ,EACmB8O,CADnB,CAEA,OAAO,KArCuD,CAmDlE5P,EAAA8C,UAAA0O,UAAA,CAAiCC,QAAQ,CAACzC,CAAD,CAASlO,CAAT,CAAiB,CACtDkO,CAAAoC,QAAA,CAAe,IAAf,CAAqBtQ,CAArB,CACA,OAAO,KAF+C,CAS1Dd,EAAA8C,UAAA4O,WAAA,CAAkCC,QAAQ,CAACC,CAAD,CAAM,CACzB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAAC,IAAAtF,KAAA,CAAiBqF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAAxO,SAAA,EADJ,CAEI,yEAFJ,CAGI,IAAA2O,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF4C,CAehD/R;CAAA8C,UAAAkP,UAAA,CAAiCC,QAAQ,EAAG,CACxC,MAAO,KAAAjR,MAAP,CAAoB,IAAAF,OADoB,CAW5Cd,EAAA8C,UAAAoP,MAAA,CAA6BC,QAAQ,EAAG,CACX,CAAzB,EAAI,IAAApR,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP6B,CAkBxCd,EAAA8C,UAAAa,OAAA,CAA8ByO,QAAQ,CAACnS,CAAD,CAAW,CAC7C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAM,KAAIO,SAAJ,CAAc,oBAAd,CAAmCP,CAAnC,CAA4C,mBAA5C,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAM,KAAIM,UAAJ,CAAe,yBAAf,CAAyCN,CAAzC,CAAN,CALY,CAOhB,IAAAQ,OAAAyC,WAAJ,CAA6BjD,CAA7B,GACQQ,CAGJ,CAHa,IAAIE,WAAJ,CAAgBV,CAAhB,CAGb,CAFAkC,CAAA,IAAIF,UAAJ,CAAexB,CAAf,CAAA0B,KAAA,CAA2B,IAAIF,UAAJ,CAAe,IAAAxB,OAAf,CAA3B,CAEA;AADA,IAAAA,OACA,CADcA,CACd,CAAA,IAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CAJhB,CAMA,OAAO,KAdsC,CAuBjDT,EAAA8C,UAAAuP,QAAA,CAA+BC,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAUpB,GAAIwM,CAAJ,GAAcC,CAAd,CACI,MAAO,KACX4C;KAAAzP,UAAAuP,QAAArP,KAAA,CAA6BZ,CAAA,IAAIH,UAAJ,CAAe,IAAAxB,OAAf,CAAA2B,UAAA,CAAqCsN,CAArC,CAA4CC,CAA5C,CAA7B,CACA,KAAA/O,KAAA,CAAY,IAAIC,QAAJ,CAAa,IAAAJ,OAAb,CACZ,OAAO,KAjByC,CAyBpDT,EAAA8C,UAAA0P,KAAA,CAA4BC,QAAQ,CAAC5Q,CAAD,CAAS,CACzC,GAAK1B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO0B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIrB,SAAJ,CAAc,kBAAd,CAAiCqB,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIf,EAAS,IAAAA,OAATA,CAAuBe,CAC3B,IAAK1B,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQW,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAAyC,WAD/B,EAEQ,KAAM,KAAI3C,UAAJ,CAAe,uBAAf,CAAuC,IAAAO,OAAvC,CAAmD,KAAnD,CAAyDe,CAAzD,CAAgE,MAAhE,CAAuE,IAAApB,OAAAyC,WAAvE,CAAN,CAER,IAAApC,OAAA,CAAcA,CACd,OAAO,KAZkC,CAsB7Cd,EAAA8C,UAAA4P,MAAA,CAA6BC,QAAQ,CAACjD,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB;AAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAUpB,IAAIlB,EAAK,IAAAe,MAAA,EACTf,EAAAlB,OAAA,CAAY4O,CACZ1N,EAAAhB,MAAA,CAAW2O,CACX,OAAO3N,EAhBuC,CA2BlDhC,EAAA8C,UAAA8P,SAAA,CAAgCC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC5ChS,EAAS,IAAAA,OADmC,CAE5CE,EAAQ,IAAAA,MACZ;GAAIF,CAAJ,CAAaE,CAAb,CACI,IAAI+R,EAAIjS,CAAR,CACAA,EAASE,CADT,CAEAA,EAAQ+R,CAEZ,IAAK5S,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,gCAAd,CAAN,CACJM,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIR,SAAJ,CAAc,+BAAd,CAAN,CACJQ,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAAyC,WAA5C,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCO,CAAtC,CAA6C,MAA7C,CAAoDE,CAApD,CAA0D,MAA1D,CAAiE,IAAAP,OAAAyC,WAAjE,CAAN,CARY,CAYpB,GAAK4P,CAAAA,CAAL,EAA6B,CAA7B,GAAkBhS,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAAyC,WAA5C,CACI,MAAO,KAAAzC,OAEX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EAEPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACbqB,EAAA,IAAIF,UAAJ,CAAexB,CAAf,CAAA0B,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAAxB,OAAf,CAAA2B,UAAA,CAAqCtB,CAArC;AAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EA5ByC,CA0CpDT,EAAA8C,UAAAkQ,cAAA,CAAqChT,CAAA8C,UAAA8P,SAYrC5S,EAAA8C,UAAAM,SAAA,CAAgC6P,QAAQ,CAACxR,CAAD,CAAW,CAC/C,GAAwB,WAAxB,GAAI,MAAOA,EAAX,CACI,MAAO,sBAAP,CAA8B,IAAAX,OAA9B,CAA0C,gBAA1C,CAA2D,IAAAC,aAA3D,CAA6E,SAA7E,CAAuF,IAAAC,MAAvF,CAAkG,YAAlG,CAA+G,IAAAf,SAAA,EAA/G,CAA+H,GACnI,QAAQwB,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAAyR,OAAA,EACX,MAAK,QAAL,CACI,MAAO,KAAAC,SAAA,EACX,MAAK,KAAL,CACI,MAAO,KAAAC,MAAA,EACX,MAAK,QAAL,CACI,MAAO,KAAAC,SAAA,EACX,MAAK,OAAL,CACI,MAAO,KAAAtB,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAuB,EAAA,EACX,SACI,KAAU3H,MAAJ,CAAU,wBAAV;AAAmClK,CAAnC,CAAN,CAdR,CAH+C,CA4BnD,KAAI8R,EAAM,mEAAV,CACAA,EAAMA,CAANA,CAAU,EASVvT,EAAA8C,UAAAqQ,SAAA,CAAgCK,QAAQ,CAAC9D,CAAD,CAAQC,CAAR,CAAa,CAC5B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD;AAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAUpB,GAAIwM,CAAJ,GAAcC,CAAd,CAAmB,MAAO,EAK1B,KAlBiD,IAc7C8D,CAd6C,CAczCC,CAdyC,CAcrCC,CAdqC,CAe7CC,CAf6C,CAezCC,CAfyC,CAgB7CC,CAhB6C,CAiB7ClC,EAAM,EACV,CAAOlC,CAAP,CAAeC,CAAf,CAAA,CACI8D,CAWA,CAXK,IAAA7S,KAAA2D,SAAA,CAAmBmL,CAAA,EAAnB,CAWL,CAVAgE,CAUA,CAVK,CAACE,CAAD,CAAMlE,CAAN,CAAcC,CAAd,EAAqB,IAAA/O,KAAA2D,SAAA,CAAmBmL,CAAA,EAAnB,CAArB,CAAmD,CAUxD,CATAiE,CASA,CATK,CAACE,CAAD,CAAMnE,CAAN,CAAcC,CAAd,EAAqB,IAAA/O,KAAA2D,SAAA,CAAmBmL,CAAA,EAAnB,CAArB,CAAmD,CASxD,CARAoE,CAQA,CAR2BL,CAQ3B,EARiC,CAQjC,CAPAM,CAOA,EAPON,CAOP,CAPY,CAOZ,GAPqB,CAOrB,CAP2BC,CAO3B,EAPiC,CAOjC,CANAM,CAMA,EANON,CAMP,CANY,EAMZ,GANqB,CAMrB,CAN2BC,CAM3B,EANiC,CAMjC,CALAM,CAKA,EALY,EAKZ,CAJKJ,CAIL,GAHII,CACA,CADK,EACL,CAAKL,CAAL,GAASI,CAAT,CAAc,EAAd,CAEJ,EAAApC,CAAA,EAAO2B,CAAAW,OAAA,CAAWJ,CAAX,CAAP,CAAwBP,CAAAW,OAAA,CAAWH,CAAX,CAAxB,CAAyCR,CAAAW,OAAA,CAAWF,CAAX,CAAzC,CAA0DT,CAAAW,OAAA,CAAWD,CAAX,CAE9D,OAAOrC,EAhC0C,CA6CrD5R,EAAAyC,WAAA,CAAwB0R,QAAQ,CAAClI,CAAD,CAAM/L,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO8L,EAAX,CACI,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAuB,CAAvB,GAAIyL,CAAApK,OAAJ,CAAiB,CAAjB,CACI,KAAM,KAAIrB,SAAJ,CAAc,yCAAd,CAAN,CAJO,CAD2C,IAOtDoP,EAAM3D,CAAApK,OAPgD;AAQtDuS,EAAS,CAR6C,CAStDzS,CACJ,KAAKA,CAAL,CAAOsK,CAAApK,OAAP,CAAkB,CAAlB,CAAwB,CAAxB,EAAqBF,CAArB,CAA2B,EAAEA,CAA7B,CACI,GAAsB,GAAtB,GAAIsK,CAAAiI,OAAA,CAAWvS,CAAX,CAAJ,CAA2ByS,CAAA,EAA3B,KACK,MAET,IAAa,CAAb,CAAIA,CAAJ,CACI,KAAM,KAAI5T,SAAJ,CAAc,kCAAd,CAAN,CACJ,GAAY,CAAZ,GAAIoP,CAAJ,CACI,MAAO,KAAI5P,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CAjB+C,KAkBlDuT,CAlBkD,CAkB9CC,CAlB8C,CAkB1CU,CAlB0C,CAoBtDrS,EAAK,IAAIhC,CAAJ,CAAe4P,CAAf,CAAmB,CAAnB,CAAqB,CAArB,CAAuBwE,CAAvB,CAA+BlU,CAA/B,CAA6CC,CAA7C,CACT,KAAUmU,CAAV,CAAK3S,CAAL,CAAO,CAAP,CAAeA,CAAf,CAAiBiO,CAAjB,CAAA,CAAwB,CACpB6D,CAAA,CAAsBF,CAAAgB,QAAA,CAAYtI,CAAAiI,OAAA,CAAWvS,CAAA,EAAX,CAAZ,CACtB+R,EAAA,CAAW/R,CAAN,CAAUiO,CAAV,CAAiB2D,CAAAgB,QAAA,CAAYtI,CAAAiI,OAAA,CAAWvS,CAAA,EAAX,CAAZ,CAAjB,CAAgD,CACrDgS,EAAA,CAAWhS,CAAN,CAAUiO,CAAV,CAAiB2D,CAAAgB,QAAA,CAAYtI,CAAAiI,OAAA,CAAWvS,CAAA,EAAX,CAAZ,CAAjB,CAAgD,CACrD0S,EAAA,CAAW1S,CAAN,CAAUiO,CAAV,CAAiB2D,CAAAgB,QAAA,CAAYtI,CAAAiI,OAAA,CAAWvS,CAAA,EAAX,CAAZ,CAAjB,CAAgD,CACrD,IAAKxB,CAAAA,CAAL,GACa,CADb,CACQsT,CADR,EACuB,CADvB,CACkBC,CADlB,EACiC,CADjC,CAC4BC,CAD5B,EAC2C,CAD3C,CACsCU,CADtC,EAEQ,KAAM,KAAI7T,SAAJ,CAAc,6CAAd,CAAN,CAERwB,CAAApB,KAAAyC,SAAA,CAAiBiR,CAAA,EAAjB,CAAuBb,CAAvB,EAA6B,CAA7B,CAAmCC,CAAnC,EAAyC,CAAzC,CACW,GAAX,GAAIC,CAAJ,GACI3R,CAAApB,KAAAyC,SAAA,CAAiBiR,CAAA,EAAjB,CAAwBZ,CAAxB,EAA8B,CAA9B,CAAmC,GAAnC,CAA4CC,CAA5C,EAAkD,CAAlD;AAAsDW,CAAtD,CACA,CAAW,EAAX,GAAID,CAAJ,EACIrS,CAAApB,KAAAyC,SAAA,CAAiBiR,CAAA,EAAjB,CAAwBX,CAAxB,EAA8B,CAA9B,CAAmC,GAAnC,CAA2CU,CAA3C,CAHR,CAVoB,CAiBxBrS,CAAAhB,MAAA,CAAWsT,CACX,OAAOtS,EAvCmD,CAiD9DhC,EAAAwU,KAAA,CAAkBC,QAAQ,CAACxI,CAAD,CAAM,CAC5B,MAAOjM,EAAA2C,WAAA,CAAsBsJ,CAAtB,CAAAkH,SAAA,EADqB,CAWhCnT,EAAA0U,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAO5U,EAAAyC,WAAA,CAAsBmS,CAAtB,CAAAvB,SAAA,EADqB,CAchCrT,EAAA8C,UAAAuQ,SAAA,CAAgCwB,QAAQ,CAACnF,CAAD,CAAQC,CAAR,CAAa,CACjDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA5O,OAA/B,CAA6C4O,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAA3O,MAA7B,CAA0C2O,CAChD,IAAKxP,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf;AAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAUpB,GAAIwM,CAAJ,GAAcC,CAAd,CAAmB,MAAO,EAE1B,KADA,IAAIiC,EAAM,EACV,CAAOlC,CAAP,CAAeC,CAAf,CAAA,CACIiC,CAAAkD,KAAA,CAAS,IAAAlU,KAAA2D,SAAA,CAAmBmL,CAAA,EAAnB,CAAT,CACJ,OAAOqF,OAAAC,aAAAC,MAAA,CAA0BF,MAA1B,CAAkCnD,CAAlC,CAjB0C,CA8BrD5R,EAAA2C,WAAA,CAAwBuS,QAAQ,CAACjJ,CAAD,CAAM/L,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO8L,EADf,CAEQ,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN,CAIR,IAP0D,IAKtDmB,EAAI,CALkD,CAK/CC,EAAIqK,CAAApK,OAL2C,CAMtDG,EAAK,IAAIhC,CAAJ,CAAe4B,CAAf,CAAkB1B,CAAlB,CAAgCC,CAAhC,CACT,CAAOwB,CAAP,CAASC,CAAT,CAAA,CAAY,CACRuT,CAAA,CAAWlJ,CAAAC,WAAA,CAAevK,CAAf,CACX,IAAKxB,CAAAA,CAAL,EAA4B,GAA5B,CAAiBgV,CAAjB,CACI,KAAM,KAAI3U,SAAJ,CAAc,sBAAd,CAAqCmB,CAArC,CAAuC,SAAvC,CAAiDwT,CAAjD,CAA0D,SAA1D,CAAN,CACJnT,CAAApB,KAAAyC,SAAA,CAAiB1B,CAAA,EAAjB,CAAsBwT,CAAtB,CAJQ,CAMZnT,CAAAhB,MAAA,CAAWY,CACX,OAAOI,EAdmD,CAoC9DhC,EAAA8C,UAAAiP,QAAA,CAA+BqD,QAAQ,CAACC,CAAD,CAAU,CAO7C,IAP6C,IACzC1T,EAAK,EADoC,CAEzCC,EAAI,IAAAnB,OAAAyC,WAFqC;AAGzCmG,CAHyC,CAIzCiM,EAAM,EAJmC,CAKzCC,EAAM,EALmC,CAMzC3D,EAAM,EACV,CAAOjQ,CAAP,CAASC,CAAT,CAAA,CAAY,CACG,EAAX,GAAID,CAAJ,GACI0H,CAGA,CAHI,IAAAzI,KAAA2D,SAAA,CAAmB5C,CAAnB,CAGJ,CAFc2T,CAEd,CAFQ,EAAR,CAAIjM,CAAJ,CAAciM,CAAd,EAAqB,GAArB,CAAyBjM,CAAAjG,SAAA,CAAW,EAAX,CAAAoS,YAAA,EAAzB,EACKF,CADL,CACYjM,CAAAjG,SAAA,CAAW,EAAX,CAAAoS,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAAlM,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoB0L,MAAAC,aAAA,CAAoB3L,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAQA,GAAE1H,CACF,IAAI0T,CAAJ,EACY,CADZ,CACQ1T,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCC,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAO0T,CAAAzT,OAAP,CAAA,CAA4ByT,CAAA,EAAO,GACnC1D,EAAA,EAAO0D,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADA3T,CAAJ,GAAU,IAAAb,OAAV,EAAyBa,CAAzB,GAA+B,IAAAX,MAA/B,CACIsU,CADJ,EACW3T,CAAA,GAAM,IAAAZ,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESY,CAAJ,GAAU,IAAAb,OAAV,CACDwU,CADC,EACM3T,CAAA,GAAM,IAAAZ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEIY,CAAJ,GAAU,IAAAX,MAAV,CACDsU,CADC,EACM3T,CAAA,GAAM,IAAAZ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGDuU,CAHC,EAGM3T,CAAA,GAAM,IAAAZ,aAAN,CAA0B,GAA1B,CAAiCsU,CAAA,EAAkB,CAAlB,GAAY1T,CAAZ,EAAuBA,CAAvB,GAA6BC,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAIyT,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAAzT,OAAP,CAAA,CAA4ByT,CAAA;AAAO,GACnC1D,EAAA,EAAO0D,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUzD,CAAV,CAAgB0D,CArCsB,CAmDjDtV,EAAA6C,UAAA,CAAuB4S,QAAQ,CAACxJ,CAAD,CAAM/L,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrDyB,EAAIqK,CAAApK,OACJG,EAAAA,CAAK,IAAIhC,CAAJ,EAAiB4B,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B1B,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrDwB,EAAI,CAHiD,CAG9C2S,EAAI,CAH0C,CAGvCoB,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrDC,EAAO,CAAA,CACX,CAAOpU,CAAP,CAASC,CAAT,CAAA,CAAY,CACR,OAAQ8T,CAAR,CAAazJ,CAAAiI,OAAA,CAAWvS,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAKxB,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChBC,CAAA,CAAO,CAAA,CAAM,MADG,CAGpBH,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMf9T,CAAAlB,OAAA,CAAYkB,CAAAjB,aAAZ,CAA8BiB,CAAAhB,MAA9B,CAAyCsT,CACzCqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,EAAUE,CAAV,CAAc,CACVC,CAAA,CAAO,CAAA,CAAM,MADH,CAGdH,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMf9T,CAAAlB,OAAA,CAAYkB,CAAAhB,MAAZ,CAAuBsT,CACvBqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,EAAUC,CAAV,CAAc,CACVE,CAAA,CAAO,CAAA,CAAM,MADH,CAGdH,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMf7T,CAAAlB,OAAA,CAAYkB,CAAAjB,aAAZ,CAA8BuT,CAC9BqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,CAAQ,CACJG,CAAA,CAAO,CAAA,CAAM,MADT,CAGRH,CAAA,CAAK,CAAA,CAJM,CAMf5T,CAAAlB,OAAA,CAAYwT,CACZqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAI2V,CAAJ,EAAUD,CAAV,CAAc,CACVE,CAAA;AAAO,CAAA,CAAM,MADH,CAGdD,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMf7T,CAAAhB,MAAA,CAAWgB,CAAAjB,aAAX,CAA6BuT,CAC7BqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAI2V,CAAJ,CAAQ,CACJC,CAAA,CAAO,CAAA,CAAM,MADT,CAGRD,CAAA,CAAK,CAAA,CAJM,CAMf9T,CAAAhB,MAAA,CAAWsT,CACXqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKxV,CAAAA,CAAL,CAAe,CACX,GAAI0V,CAAJ,CAAQ,CACJE,CAAA,CAAO,CAAA,CAAM,MADT,CAGRF,CAAA,CAAK,CAAA,CAJM,CAMf7T,CAAAjB,aAAA,CAAkBuT,CAClBqB,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAKxV,CAAAA,CAAL,EACQwV,CADR,CACY,CACJI,CAAA,CAAO,CAAA,CAAM,MADT,CAIZ1M,CAAA,CAAI2M,QAAA,CAASN,CAAT,CAAYzJ,CAAAiI,OAAA,CAAWvS,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAKxB,CAAAA,CAAL,GACQ8V,KAAA,CAAM5M,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAM,KAAI7I,SAAJ,CAAc,yCAAd,CAAN,CAERwB,CAAApB,KAAAyC,SAAA,CAAiBiR,CAAA,EAAjB,CAAsBjL,CAAtB,CACAsM,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAII,CAAJ,CACI,KAAM,KAAIvV,SAAJ,CAAc,iCAAd,CAAgDmB,CAAhD,CAAN,CA1FI,CA4FZ,GAAKxB,CAAAA,CAAL,CAAe,CACX,GAAKyV,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAM,KAAItV,SAAJ,CAAc,sCAAd,CAAN;AACJ,GAAI8T,CAAJ,CAAMtS,CAAAvB,OAAAyC,WAAN,CACI,KAAM,KAAI1C,SAAJ,CAAc,uDAAd,CAAsE8T,CAAtE,CAAwE,KAAxE,CAA8E1S,CAA9E,CAAN,CAJO,CAMf,MAAOI,EAzGkD,CAqH7DhC,EAAA8C,UAAAsQ,MAAA,CAA6B8C,QAAQ,CAACxG,CAAD,CAAQC,CAAR,CAAa,CAC9CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA5O,OAA/B,CAA6C4O,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAA3O,MAA7B,CAA0C2O,CAChD,IAAKxP,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN,CACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf;AAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAYpB,IAf8C,IAa1C0O,EAAUW,KAAJ,CAAU5C,CAAV,CAAgBD,CAAhB,CAboC,CAc1CrG,CACJ,CAAOqG,CAAP,CAAeC,CAAf,CAAA,CACItG,CACA,CADI,IAAAzI,KAAA2D,SAAA,CAAmBmL,CAAA,EAAnB,CACJ,CAAQ,EAAR,CAAIrG,CAAJ,CAAcuI,CAAAkD,KAAA,CAAS,GAAT,CAAczL,CAAAjG,SAAA,CAAW,EAAX,CAAd,CAAd,CACKwO,CAAAkD,KAAA,CAASzL,CAAAjG,SAAA,CAAW,EAAX,CAAT,CAET,OAAOwO,EAAAuE,KAAA,CAAS,EAAT,CApBuC,CAiClDnW,EAAA0C,QAAA,CAAqB0T,QAAQ,CAACnK,CAAD,CAAM/L,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO8L,EAAX,CACI,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAuB,CAAvB,GAAIyL,CAAApK,OAAJ,CAAiB,CAAjB,CACI,KAAM,KAAIrB,SAAJ,CAAc,yCAAd,CAAN,CAJO,CADwC,IAOnDoB,EAAIqK,CAAApK,OACJG,EAAAA,CAAK,IAAIhC,CAAJ,CAAgB4B,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4B1B,CAA5B,CAET,KAHA,IAEImJ,CAFJ,CAGS1H,EAAE,CAHX,CAGc2S,EAAE,CAAhB,CAAmB3S,CAAnB,CAAqBC,CAArB,CAAwBD,CAAxB,EAA2B,CAA3B,CAA8B,CAC1B0H,CAAA,CAAI2M,QAAA,CAAS/J,CAAAoK,UAAA,CAAc1U,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAKxB,CAAAA,CAAL,GACS,CAAAmW,QAAA,CAASjN,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAM,KAAI7I,SAAJ,CAAc,0CAAd,CAAN;AAERwB,CAAApB,KAAAyC,SAAA,CAAiBiR,CAAA,EAAjB,CAAsBjL,CAAtB,CAN0B,CAQ9BrH,CAAAhB,MAAA,CAAWsT,CACX,OAAOtS,EAnBgD,CA6B3D,KAAImK,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,EAAgB,OAPV,CAeN,EAAaoK,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAIxI,EAAK,IACU,SAAnB,GAAI,MAAOuI,EAAX,GACIvI,CACA,CADKuI,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAOvI,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BuI,CAAA,EAA5B,EAAA,CACa,GAAT,CAAIvI,CAAJ,CACIwI,CAAA,CAAIxI,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACDwI,CAAA,CAAMxI,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ,CACDwI,CAAA,CAAMxI,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKDwI,CAAA,CAAMxI,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAAwI,CAAA,CAAMxI,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAAwI,CAAA,CAAMxI,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAAwI,CAAA,CAAKxI,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA,CAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,EAAayI,QAAQ,CAACF,CAAD,CAAMC,CAAN,CAAW,CACVV,QAAA,EAAQ,CAAC1M,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAAqJ,MAAA,CAAQ,CAAR,CAAWrJ,CAAAkL,QAAA,CAAU,IAAV,CAAX,CACJ,KAAIoC,EAAMhL,KAAA,CAAMtC,CAAAjG,SAAA,EAAN,CACVuT,EAAAC,KAAA,CAAW,gBACXD,EAAA,MAAA,CAAetN,CACf,MAAMsN,EAAN,CAL+B,CAOnC,IARiC,IAC7BE,CAD6B,CAC1BxN,CAD0B,CACvByN,CADuB,CACpBC,CAOb,CAAuB,IAAvB,IAAQF,CAAR,CAAYL,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAKK,CAAL,CAAO,GAAP,EACIJ,CAAA,CAAII,CAAJ,CADJ;IAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADExN,CACF,CADMmN,CAAA,EACN,GAD0BT,CAAA,CAAK,CAACc,CAAD,CAAIxN,CAAJ,CAAL,CAC1B,CAAAoN,CAAA,EAAMI,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqBxN,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAKwN,CAAL,CAAO,GAAP,EACc,IACf,IADExN,CACF,CADImN,CAAA,EACJ,GADqC,IACrC,IADwBM,CACxB,CAD0BN,CAAA,EAC1B,GAD8CT,CAAA,CAAK,CAACc,CAAD,CAAIxN,CAAJ,CAAOyN,CAAP,CAAL,CAC9C,CAAAL,CAAA,EAAMI,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuBxN,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCyN,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAKD,CAAL,CAAO,GAAP,EACc,IACf,IADExN,CACF,CADImN,CAAA,EACJ,GADqC,IACrC,IADwBM,CACxB,CAD0BN,CAAA,EAC1B,GAD2D,IAC3D,IAD8CO,CAC9C,CADgDP,CAAA,EAChD,GADoET,CAAA,CAAK,CAACc,CAAD,CAAIxN,CAAJ,CAAOyN,CAAP,CAAUC,CAAV,CAAL,CACpE,CAAAN,CAAA,EAAMI,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuBxN,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCyN,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDC,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAMxW,WAAA,CAAW,yBAAX,CAAqCsW,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,EAAcG,QAAQ,CAACR,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9BQ,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmBV,CAAA,EADjC,EAAA,CAGc,KAAV,EAAIS,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACcV,CAAA,EADd,GAEkB,KAFlB,EAEYU,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGYT,CAAA,CAAgB,IAAhB,EAAKQ,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQAT,CAAA,CAAIQ,CAAJ,CAEO,KAAX;AAAIC,CAAJ,EAAiBT,CAAA,CAAIS,CAAJ,CAfiB,CA/E3B,CAwGN,EAAcC,QAAQ,CAACX,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAIxI,EAAK,IACU,SAAnB,GAAI,MAAOuI,EAAX,GACIvI,CAAU,CAALuI,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAOvI,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BuI,CAAA,EAA5B,EAAA,CACc,KAAV,EAAIvI,CAAJ,CACIwI,CAAA,CAAIxI,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADAwI,CAAA,EAAKxI,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAAwI,CAAA,CAAKxI,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,EAAoBmJ,QAAQ,CAACZ,CAAD,CAAMC,CAAN,CAAW,CACxCtK,CAAAkL,EAAA,CAAiBb,CAAjB,CAAsB,QAAQ,CAACvI,CAAD,CAAK,CAC/B9B,CAAAmL,EAAA,CAAgBrJ,CAAhB,CAAoBwI,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,EAAoBc,QAAQ,CAACf,CAAD,CAAMC,CAAN,CAAW,CACxCtK,CAAA6B,EAAA,CAAgBwI,CAAhB,CAAqB,QAAQ,CAACvI,CAAD,CAAK,CAC9B9B,CAAA+B,EAAA,CAAiBD,CAAjB,CAAqBwI,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,EAAqBe,QAAQ,CAACvJ,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,EAAgBwJ,QAAQ,CAACjB,CAAD,CAAM,CAE/B,IAF+B,IAC3BvI,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAauI,CAAA,EAAb,EAAA,CACIlI,CAAA,EAAKnC,CAAAuL,EAAA,CAAwBzJ,CAAxB,CACT,OAAOK,EAJwB,CAhKxB,CA6KN,EAAuBqJ,QAAQ,CAACnB,CAAD,CAAM,CAAA,IAClC1N,EAAE,CADgC,CAC7BwF,EAAE,CACXnC,EAAAkL,EAAA,CAAiBb,CAAjB,CAAsB,QAAQ,CAACvI,CAAD,CAAK,CAC/B,EAAEnF,CAAGwF,EAAA,EAAKnC,CAAAuL,EAAA,CAAwBzJ,CAAxB,CADqB,CAAnC,CAGA,OAAO,CAACnF,CAAD,CAAGwF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOnC,EA7LW,CAAX,EAAX,CAqMIyL,EAAqB7C,MAAAC,aASzB7I;CAAAE,EAAA,CAAoBwL,QAAQ,CAACC,CAAD,CAAI,CAC5B,IAAInW,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAImW,CAAAjW,OAAJ,CAAeiW,CAAA5L,WAAA,CAAavK,CAAA,EAAb,CAAf,CAAmC,IADnB,CADC,CAWhCwK,EAAAU,EAAA,CAAyBkL,QAAQ,EAAG,CAAA,IAC5BC,EAAK,EADuB,CACnBC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAArW,OAAJ,CACI,MAAOoW,EAAA9B,KAAA,CAAQ,EAAR,CAAP,CAAmByB,CAAA3C,MAAA,CAAyBF,MAAzB,CAAiCiD,CAAjC,CACY,KAAnC,CAAIA,CAAAnW,OAAJ,CAAgBqW,SAAArW,OAAhB,GACIoW,CAAAnD,KAAA,CAAQ8C,CAAA3C,MAAA,CAAyBF,MAAzB,CAAiCiD,CAAjC,CAAR,CACA,CAAAA,CAAAnW,OAAA,CAAY,CAFhB,CAGA0Q,MAAAzP,UAAAgS,KAAAG,MAAA,CAA2B+C,CAA3B,CAA+BE,SAA/B,CANoC,CADR,CAoBpClY,EAAA8C,UAAAoQ,OAAA,CAA8BiF,QAAQ,CAACzI,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA5O,OAA1C,CACmB,YAAnB,GAAI,MAAO6O,EAAX,GAAgCA,CAAhC,CAAsC,IAAA3O,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIlP,SAAJ,CAAc,+BAAd,CAAN;AACJkP,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAInP,SAAJ,CAAc,6BAAd,CAAN,CACJmP,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAlP,OAAAyC,WAAtC,CACI,KAAM,KAAI3C,UAAJ,CAAe,sBAAf,CAAsCmP,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAAlP,OAAAyC,WAA9D,CAAN,CARY,CAH2B,IAa3ClB,EAAK,IAbsC,CAahC2K,CAAI,IAAI,CACnBR,CAAAS,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO8C,EAAA,CAAQC,CAAR,CAAc3N,CAAApB,KAAA2D,SAAA,CAAiBmL,CAAA,EAAjB,CAAd,CAA0C,IADnB,CAAlC,CAEG/C,CAFH,CAEQR,CAAAU,EAAA,EAFR,CADmB,CAIrB,MAAOuL,CAAP,CAAU,CACR,GAAI1I,CAAJ,GAAcC,CAAd,CACI,KAAM,KAAIpP,UAAJ,CAAe,iCAAf,CAAiDmP,CAAjD,CAAuD,MAAvD,CAA8DC,CAA9D,CAAN,CAFI,CAIZ,MAAOhD,EAAA,EArBwC,CAkCnD3M,EAAA4C,SAAA,CAAsByV,QAAQ,CAACpM,CAAD,CAAM/L,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO8L,EADf,CAEQ,KAAM,KAAIzL,SAAJ,CAAc,2BAAd,CAAN;AAHgD,IAKpDwB,EAAK,IAAIhC,CAAJ,CAAemM,CAAAC,EAAA,CAA0BD,CAAAE,EAAA,CAAkBJ,CAAlB,CAA1B,CAAkD,CAAA,CAAlD,CAAA,CAAwD,CAAxD,CAAf,CAA2E/L,CAA3E,CAAyFC,CAAzF,CAL+C,CAMpDwB,EAAI,CACRwK,EAAAI,EAAA,CAAuBJ,CAAAE,EAAA,CAAkBJ,CAAlB,CAAvB,CAA+C,QAAQ,CAAC5C,CAAD,CAAI,CACvDrH,CAAApB,KAAAyC,SAAA,CAAiB1B,CAAA,EAAjB,CAAsB0H,CAAtB,CADuD,CAA3D,CAGArH,EAAAhB,MAAA,CAAWW,CACX,OAAOK,EAXiD,CAe5D,OAAOhC,EArkGmB,CAwkGO,WAAtB,GAAI,MAAOsY,OAAX,EAAqCA,MAAA,QAArC,CACXA,MAAA,QADW,CACSxY,CAAA,CAAeyY,OAAA,CAAQ,MAAR,CAAf,CADT,CAEsB,UAAtB,GAAI,MAAOC,OAAX,EAAoCA,MAAA,IAApC,CACXA,MAAA,CAAO,YAAP,CAAqB,CAAC,MAAD,CAArB,CAA+B,QAAQ,CAACzY,CAAD,CAAO,CAAE,MAAOD,EAAA,CAAeC,CAAf,CAAT,CAA9C,CADW,CAGX,CAACF,CAAA,QAAD,CAAqBA,CAAA,QAArB,EAA0C,EAA1C,YAHW,CAGmDC,CAAA,CAAeD,CAAA,QAAA,KAAf,CArlGpD,CAAjB,CAAD,CAulGG,IAvlGH;", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","i","k","length","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","getUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","start","Error","fromBits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","str","charCodeAt","utfx","calculateUTF16asUTF8","stringSource","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBuffer.prototype.readCString","sd","decodeUTF8toUTF16","stringDestination","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","out","console","log","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","push","String","fromCharCode","apply","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","src","dst","utfx.decodeUTF8","err","name","a","c","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","stringFromCharCode","utfx.stringSource","s","utfx.stringDestination","cs","ps","arguments","ByteBuffer.prototype.toUTF8","e","ByteBuffer.fromUTF8","module","require","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index dd68403..e48f942 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.2.0"; + ByteBuffer.VERSION = "3.2.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1552,18 +1552,16 @@ module.exports = (function() { throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset; - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k+1; var capacity12 = this.buffer.length; if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - buffer.copy(this.buffer, offset); - offset += k; + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.buffer[offset++] = b; + }.bind(this)); this.buffer[offset++] = 0; - buffer = null; if (relative) { this.offset = offset - start; return this; @@ -1634,9 +1632,7 @@ module.exports = (function() { throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, - k; - var buffer = new Buffer(str, "utf8"); - k = buffer.length; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += 4+k; var capacity13 = this.buffer.length; if (offset > capacity13) @@ -1654,8 +1650,11 @@ module.exports = (function() { this.buffer[offset+3] = k & 0xFF; } offset += 4; - buffer.copy(this.buffer, offset); - offset += k; + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.buffer[offset++] = b; + }.bind(this)); + if (offset !== start + 4 + k) + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); if (relative) { this.offset = offset; return this; @@ -1747,20 +1746,21 @@ module.exports = (function() { if (offset < 0 || offset + 0 > this.buffer.length) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } - var k; - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; + var start = offset, + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k; var capacity14 = this.buffer.length; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - buffer.copy(this.buffer, offset); + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.buffer[offset++] = b; + }.bind(this)); if (relative) { - this.offset += k; + this.offset = offset; return this; } - return k; + return offset - start; }; /** @@ -1909,18 +1909,19 @@ module.exports = (function() { throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, - k, l; - var buffer = new Buffer(str, "utf8"); - k = buffer.length; - l = ByteBuffer.calculateVarint32(k); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1], + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.length; if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; - offset += this.writeVarint32(buffer.length, offset); - buffer.copy(this.buffer, offset); - offset += buffer.length; + offset += this.writeVarint32(k, offset); + utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + this.buffer[offset++] = b; + }.bind(this)); + if (offset !== start+k+l) + throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); if (relative) { this.offset = offset; return this; diff --git a/donate.png b/donate.png new file mode 100644 index 0000000000000000000000000000000000000000..f1404fde9f1fad2111de347d2bf2bd4b329e2007 GIT binary patch literal 1553 zcmV+s2JZQZP)lu%bJv0tbeJ*5(Of^uL39QXm_^G~LvF&91 z@X=m=OEfh{&TNEU1=N-)k15IzP6Vz6dGozENo$ruymBGoUrlzINfA~L1fyoisOH+N z0c5LU_%d7sPtqV_ReC?F3?t}_GH8qB-f=ERxl+73FYvO>&sMCa7pO$z<@jAAdLRg+ zI-W?#mhk<8cD$te7D&Yr$tgnh_08C5^k9$44NL?8lL^~{8}Wg^;?5F=g3?vS1!v2S z!B%QO<4=jZMs$L7qQLF}S=MERHiRpxx1sWOOMp^^zC}-FfsUzm;nD}d1a{FP zQp~L4rI~O(Xp$`B<|y3VJ~+FKsLa!#?*1&;EA(*nL{ZlgKp@7$y)_qHFeT!Fm;lFD zez*r>VxEQ#W|(zKH1$N_Y#Rf6GXY^|@zhvv64r1bjJhf# zEQ?)(>dINb?~{tpiv{h6pzS<0jZranoodT_eQ><@DJo4-II9g(zmN~Md|t%e?OkxL(uz3O+aqENo_iM<^P+BrX3gi zZeYV}`_b5Z2970aI2Nm6f9oT-TF#;IQ8VP?K)>6LW7ycwQ6~A!&J$aJe>1SkU#UV z8l;Vj(-hEo$pkJn2J5^`DThEyevA&S%sjw6xxo=$S5pT2LL*$~e+J8rVz1*7sXbX* z+A(3Yh)pXCsXylhA`_CGe0%}{pOM;T$W63NyRY7eZOjX}I{FD-MJws{R_hN!hwa#e zL-V)Loq(Cfbzk}gd+nRSd~pE*I@sHmmZPz?8*HzKlwJti!d$qzL$I$XhWp2!$sCkR zJ82{Q", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index f48c137..9d688d4 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -24,23 +24,18 @@ ByteBuffer.prototype.writeCString = function(str, offset) { //? ASSERT_OFFSET(); } var start = offset; - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - //? if (NODE) { - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; - //? ENSURE_CAPACITY('k+1'); - buffer.copy(this.buffer, offset); - offset += k; - this.buffer[offset++] = 0; - buffer = null; - //? } else { k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('k+1'); utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + //? if (NODE) + this.buffer[offset++] = b; + //? else this.view.setUint8(offset++, b); }.bind(this)); + //? if (NODE) + this.buffer[offset++] = 0; + //? else this.view.setUint8(offset++, 0); - //? } if (relative) { this.offset = offset - start; return this; diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index 07f1a3a..0831b0c 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -18,26 +18,21 @@ ByteBuffer.prototype.writeIString = function(str, offset) { //? ASSERT_OFFSET(); } var start = offset, - k; - //? if (NODE) { - var buffer = new Buffer(str, "utf8"); - k = buffer.length; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('4+k'); + //? if (NODE) //? WRITE_UINT32_ARRAY('k'); - offset += 4; - buffer.copy(this.buffer, offset); - offset += k; - //? } else { - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; - //? ENSURE_CAPACITY('4+k'); + //? else this.view.setUint32(offset, k, this.littleEndian); offset += 4; utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + //? if (NODE) + this.buffer[offset++] = b; + //? else this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); - //? } if (relative) { this.offset = offset; return this; @@ -76,7 +71,7 @@ ByteBuffer.prototype.readIString = function(offset) { sd; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = utfx.stringDestination()); str = sd(); //? } if (relative) { diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index 1f1ba1e..edc96c9 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -29,22 +29,13 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { if (!this.noAssert) { //? ASSERT_OFFSET(); } - var k; - //? if (NODE) { - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; - //? ENSURE_CAPACITY('k'); - buffer.copy(this.buffer, offset); - if (relative) { - this.offset += k; - return this; - } - return k; - //? } else { - var start = offset; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + var start = offset, + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('k'); utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + //? if (NODE) + this.buffer[offset++] = b; + //? else this.view.setUint8(offset++, b); }.bind(this)); if (relative) { @@ -52,7 +43,6 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { return this; } return offset - start; - //? } }; //? if (ALIASES) { @@ -162,7 +152,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = utfx.stringDestination()); if (offset !== k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index 13bcf63..503b257 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -18,26 +18,18 @@ ByteBuffer.prototype.writeVString = function(str, offset) { //? ASSERT_OFFSET(); } var start = offset, - k, l; - //? if (NODE) { - var buffer = new Buffer(str, "utf8"); - k = buffer.length; - l = ByteBuffer.calculateVarint32(k); - //? ENSURE_CAPACITY('l+k'); - offset += this.writeVarint32(buffer.length, offset); - buffer.copy(this.buffer, offset); - offset += buffer.length; - //? } else { - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; - l = ByteBuffer.calculateVarint32(k); + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1], + l = ByteBuffer.calculateVarint32(k); //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(k, offset); utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + //? if (NODE) + this.buffer[offset++] = b; + //? else this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); - //? } if (relative) { this.offset = offset; return this; @@ -74,7 +66,7 @@ ByteBuffer.prototype.readVString = function(offset) { sd = utfx.stringDestination(); utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd, this.noAssert); + }.bind(this), sd); str = sd(); //? } if (relative) { diff --git a/tests/buffer_utfx.js b/tests/buffer_utfx.js new file mode 100644 index 0000000..92a369f --- /dev/null +++ b/tests/buffer_utfx.js @@ -0,0 +1,34 @@ +// This file compares encoding speed of an intermediate node Buffer with using utfx directly. +// Turns out that utfx is about 2.4 times faster when writing while buffers are about 2.4 times faster when reading. + +var utfx = require("utfx"); + +var sample = "hello world"; + +(function() { + console.time("Buffer write"); + for (var i=0; i<100000; ++i) + new Buffer(sample, "utf8"); + console.timeEnd("Buffer write"); + var buf = new Buffer(sample, "utf8"); + console.time("Buffer read"); + for (i=0; i<100000; ++i) + buf.toString("utf8"); + console.timeEnd("Buffer read"); +})(); + +(function() { + console.time("utfx write"); + for (var i=0; i<100000; ++i) + utfx.encodeUTF16toUTF8(utfx.stringSource(sample), function(b) {}); + console.timeEnd("utfx write"); + var arr = new Buffer(sample, "utf8"); + console.time("utfx read"); + for (i=0; i<100000; ++i) { + var j=0; + utfx.decodeUTF8toUTF16(function() { + return j < arr.length ? arr[j++] : null; + }, function(c) {}); + } + console.timeEnd("utfx read"); +})(); From d6c7d32ad3041bf690ab9816bdf851c6f01ded0f Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 02:25:57 +0200 Subject: [PATCH 16/91] Revert previous as this seems to be true for small strings only, optimize string conversion instead --- bower.json | 2 +- dist/ByteBufferAB.js | 22 ++++---- dist/ByteBufferAB.min.js | 88 ++++++++++++++++---------------- dist/ByteBufferAB.min.js.gz | Bin 7428 -> 7443 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 59 +++++++++++---------- package.json | 2 +- src/types/strings/cstring.js | 19 ++++--- src/types/strings/istring.js | 21 +++++--- src/types/strings/utf8string.js | 24 ++++++--- src/types/strings/vstring.js | 22 +++++--- tests/buffer_utfx.js | 1 + 12 files changed, 147 insertions(+), 115 deletions(-) diff --git a/bower.json b/bower.json index a75ca26..4a0806a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.1", + "version": "3.2.2", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 12b405f..994915a 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.2.1"; + ByteBuffer.VERSION = "3.2.2"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1399,6 +1399,7 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset; + // UTF8 strings do not contain zero bytes in between except for the zero character, so: k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k+1; var capacity12 = this.buffer.byteLength; @@ -1480,7 +1481,8 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + k; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; offset += 4+k; var capacity13 = this.buffer.byteLength; if (offset > capacity13) @@ -1528,7 +1530,7 @@ sd; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination()); + }.bind(this), sd = utfx.stringDestination(), this.noAssert); str = sd(); if (relative) { this.offset = offset; @@ -1576,8 +1578,9 @@ if (offset < 0 || offset + 0 > this.buffer.byteLength) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + var k; + var start = offset; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; offset += k; var capacity14 = this.buffer.byteLength; if (offset > capacity14) @@ -1687,7 +1690,7 @@ var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination()); + }.bind(this), sd = utfx.stringDestination(), this.noAssert); if (offset !== k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { @@ -1741,8 +1744,9 @@ throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1], - l = ByteBuffer.calculateVarint32(k); + k, l; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.byteLength; if (offset > capacity15) @@ -1789,7 +1793,7 @@ sd = utfx.stringDestination(); utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd); + }.bind(this), sd, this.noAssert); str = sd(); if (relative) { this.offset = offset; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 3f9ff04..61c695e 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.2.1";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=k.b(k.a(a))[1];b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;k.d(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=k.c(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== -typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d=k.b(k.a(a))[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+ -b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var d=a+c;k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d=k.b(k.a(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*= -2)>b?f:b);b-=d;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-e};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return k.b(k.a(a))[0]};d.calculateUTF8Bytes=function(a){return k.b(k.a(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+ -a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=k.c();k.i(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;k.d(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var e=b,h=k.b(k.a(a))[1],f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=k.c();k.d(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo= -function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view= -this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+ -" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset); -"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&& -(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+ -c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&& -"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+ -c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer); -return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer"); -b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"=== -typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64= -function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length,h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2,b),64!==l&&p.view.setUint8(b++,k<<6&192|l))}p.limit=b;return p};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()}; -d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()): -d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0, -b,c);for(var h=0,f=0,g,k=!1,l=!1,p=!1,m=!1,q=!1;h":if(!c){if(m){q=!0;break}m=!0}b.limit= -f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d& -31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},g:function(a,c){var d=null;"number"===typeof a&& -(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode;k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=k.b(k.a(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this)); +if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+= +4;var d=a+c;k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+ +this.buffer.byteLength);}var e,d=b;e=k.b(k.a(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return k.b(k.a(a))[0]};d.calculateUTF8Bytes=function(a){return k.b(k.a(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset); +"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=k.c();k.i(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;k.d(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=k.b(k.a(a),this.noAssert)[1];f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=k.c();k.d(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*= +2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian, +this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e); +0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); +}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+ +b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&& +(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength); +}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c= +this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this; +Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== +typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; +if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, +c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+ +a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ +this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length, +h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2, +b),64!==l&&p.view.setUint8(b++,k<<6&192|l))}p.limit=b;return p};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+= +" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,k=!1,l=!1,p=!1,m=!1,q=!1;h":if(!c){if(m){q=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d); +else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!== +d&&c(d)},g:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode; +k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return a{Ehu> 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 Rc(f0H@E0qyRkbvu008jml7s*N literal 7428 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 capacity13) @@ -1650,11 +1654,8 @@ module.exports = (function() { this.buffer[offset+3] = k & 0xFF; } offset += 4; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - this.buffer[offset++] = b; - }.bind(this)); - if (offset !== start + 4 + k) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + buffer.copy(this.buffer, offset); + offset += k; if (relative) { this.offset = offset; return this; @@ -1698,7 +1699,7 @@ module.exports = (function() { offset += 4; if (offset + temp > this.buffer.length) throw new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); - str = this.buffer.slice(offset, offset + temp).toString("utf8"); + str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; if (relative) { this.offset = offset; @@ -1746,21 +1747,20 @@ module.exports = (function() { if (offset < 0 || offset + 0 > this.buffer.length) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } - var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + var k; + var buffer = new Buffer(str, 'utf8'); + k = buffer.length; offset += k; var capacity14 = this.buffer.length; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - this.buffer[offset++] = b; - }.bind(this)); + buffer.copy(this.buffer, offset); if (relative) { - this.offset = offset; + this.offset += k; return this; } - return offset - start; + return k; }; /** @@ -1857,7 +1857,7 @@ module.exports = (function() { if (offset < 0 || offset + length > this.buffer.length) throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); } - temp = this.buffer.slice(offset, offset+length).toString("utf8"); + temp = this.buffer.toString("utf8", offset, offset+length); if (relative) { this.offset += length; return temp; @@ -1909,19 +1909,18 @@ module.exports = (function() { throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1], - l = ByteBuffer.calculateVarint32(k); + k, l; + var buffer = new Buffer(str, "utf8"); + k = buffer.length; + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.length; if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; - offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - this.buffer[offset++] = b; - }.bind(this)); - if (offset !== start+k+l) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + offset += this.writeVarint32(buffer.length, offset); + buffer.copy(this.buffer, offset); + offset += buffer.length; if (relative) { this.offset = offset; return this; @@ -1955,7 +1954,7 @@ module.exports = (function() { temp = temp['value']; if (offset + temp > this.buffer.length) throw new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); - str = this.buffer.slice(offset, offset + temp).toString("utf8"); + str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; if (relative) { this.offset = offset; diff --git a/package.json b/package.json index 518c070..d10a992 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.1", + "version": "3.2.2", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index 9d688d4..d7d2946 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -24,18 +24,23 @@ ByteBuffer.prototype.writeCString = function(str, offset) { //? ASSERT_OFFSET(); } var start = offset; + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + //? if (NODE) { + var buffer = new Buffer(str, 'utf8'); + k = buffer.length; + //? ENSURE_CAPACITY('k+1'); + buffer.copy(this.buffer, offset); + offset += k; + this.buffer[offset++] = 0; + buffer = null; + //? } else { k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('k+1'); utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - //? if (NODE) - this.buffer[offset++] = b; - //? else this.view.setUint8(offset++, b); }.bind(this)); - //? if (NODE) - this.buffer[offset++] = 0; - //? else this.view.setUint8(offset++, 0); + //? } if (relative) { this.offset = offset - start; return this; @@ -66,7 +71,7 @@ ByteBuffer.prototype.readCString = function(offset) { throw new RangeError("Index out of range: "+offset+" <= "+this.buffer.length); temp = this.buffer[offset++]; } while (temp !== 0); - var str = this.buffer.slice(start, offset-1).toString("utf8"); + var str = this.buffer.toString("utf8", start, offset-1); if (relative) { this.offset = offset; return str; diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index 0831b0c..229e303 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -18,21 +18,26 @@ ByteBuffer.prototype.writeIString = function(str, offset) { //? ASSERT_OFFSET(); } var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + k; + //? if (NODE) { + var buffer = new Buffer(str, "utf8"); + k = buffer.length; //? ENSURE_CAPACITY('4+k'); - //? if (NODE) //? WRITE_UINT32_ARRAY('k'); - //? else + offset += 4; + buffer.copy(this.buffer, offset); + offset += k; + //? } else { + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + //? ENSURE_CAPACITY('4+k'); this.view.setUint32(offset, k, this.littleEndian); offset += 4; utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - //? if (NODE) - this.buffer[offset++] = b; - //? else this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + //? } if (relative) { this.offset = offset; return this; @@ -62,7 +67,7 @@ ByteBuffer.prototype.readIString = function(offset) { offset += 4; if (offset + temp > this.buffer.length) throw new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); - str = this.buffer.slice(offset, offset + temp).toString("utf8"); + str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; //? } else { temp = this.view.getUint32(offset, this.littleEndian); @@ -71,7 +76,7 @@ ByteBuffer.prototype.readIString = function(offset) { sd; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination()); + }.bind(this), sd = utfx.stringDestination(), this.noAssert); str = sd(); //? } if (relative) { diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index edc96c9..2d4ad07 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -29,13 +29,22 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { if (!this.noAssert) { //? ASSERT_OFFSET(); } - var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + var k; + //? if (NODE) { + var buffer = new Buffer(str, 'utf8'); + k = buffer.length; + //? ENSURE_CAPACITY('k'); + buffer.copy(this.buffer, offset); + if (relative) { + this.offset += k; + return this; + } + return k; + //? } else { + var start = offset; + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('k'); utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - //? if (NODE) - this.buffer[offset++] = b; - //? else this.view.setUint8(offset++, b); }.bind(this)); if (relative) { @@ -43,6 +52,7 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { return this; } return offset - start; + //? } }; //? if (ALIASES) { @@ -138,7 +148,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { //? ASSERT_OFFSET('length'); } //? if (NODE) { - temp = this.buffer.slice(offset, offset+length).toString("utf8"); + temp = this.buffer.toString("utf8", offset, offset+length); if (relative) { this.offset += length; return temp; @@ -152,7 +162,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination()); + }.bind(this), sd = utfx.stringDestination(), this.noAssert); if (offset !== k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index 503b257..8ac5a27 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -18,18 +18,26 @@ ByteBuffer.prototype.writeVString = function(str, offset) { //? ASSERT_OFFSET(); } var start = offset, - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1], - l = ByteBuffer.calculateVarint32(k); + k, l; + //? if (NODE) { + var buffer = new Buffer(str, "utf8"); + k = buffer.length; + l = ByteBuffer.calculateVarint32(k); + //? ENSURE_CAPACITY('l+k'); + offset += this.writeVarint32(buffer.length, offset); + buffer.copy(this.buffer, offset); + offset += buffer.length; + //? } else { + k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(k, offset); utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { - //? if (NODE) - this.buffer[offset++] = b; - //? else this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + //? } if (relative) { this.offset = offset; return this; @@ -59,14 +67,14 @@ ByteBuffer.prototype.readVString = function(offset) { //? if (NODE) { if (offset + temp > this.buffer.length) throw new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); - str = this.buffer.slice(offset, offset + temp).toString("utf8"); + str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; //? } else { var k = offset + temp, sd = utfx.stringDestination(); utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd); + }.bind(this), sd, this.noAssert); str = sd(); //? } if (relative) { diff --git a/tests/buffer_utfx.js b/tests/buffer_utfx.js index 92a369f..cac13ab 100644 --- a/tests/buffer_utfx.js +++ b/tests/buffer_utfx.js @@ -1,5 +1,6 @@ // This file compares encoding speed of an intermediate node Buffer with using utfx directly. // Turns out that utfx is about 2.4 times faster when writing while buffers are about 2.4 times faster when reading. +// EDIT: This seems to be true for small strings (<=11 bytes) only. var utfx = require("utfx"); From 19e12ac72143bb50b672456fa665b4388df07396 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 17:43:14 +0200 Subject: [PATCH 17/91] Optimize string writing, too --- bower.json | 2 +- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7443 -> 7443 bytes dist/ByteBufferNB.js | 30 +++++++++++------------------- package.json | 2 +- src/types/strings/cstring.js | 7 ++----- src/types/strings/istring.js | 6 ++---- src/types/strings/utf8string.js | 7 +++---- src/types/strings/vstring.js | 8 +++----- 10 files changed, 25 insertions(+), 41 deletions(-) diff --git a/bower.json b/bower.json index 4a0806a..e0139cd 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.2", + "version": "3.2.3", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 994915a..5ad7879 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.2.2"; + ByteBuffer.VERSION = "3.2.3"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 61c695e..dd02ef5 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.2.2";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0qpFTM`d3r2Fz}xA-t4B}%p8xK;RjKm2 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 D2`rP| delta 6909 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 Dm~4Up diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index bc28351..3cd87af 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.2.2"; + ByteBuffer.VERSION = "3.2.3"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -1553,17 +1553,14 @@ module.exports = (function() { } var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); offset += k+1; var capacity12 = this.buffer.length; if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - buffer.copy(this.buffer, offset); - offset += k; + offset += this.buffer.write(str, offset, k, "utf8"); this.buffer[offset++] = 0; - buffer = null; if (relative) { this.offset = offset - start; return this; @@ -1635,8 +1632,7 @@ module.exports = (function() { } var start = offset, k; - var buffer = new Buffer(str, "utf8"); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); offset += 4+k; var capacity13 = this.buffer.length; if (offset > capacity13) @@ -1654,8 +1650,7 @@ module.exports = (function() { this.buffer[offset+3] = k & 0xFF; } offset += 4; - buffer.copy(this.buffer, offset); - offset += k; + offset += this.buffer.write(str, offset, k, "utf8"); if (relative) { this.offset = offset; return this; @@ -1748,16 +1743,15 @@ module.exports = (function() { throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var k; - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); offset += k; var capacity14 = this.buffer.length; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - buffer.copy(this.buffer, offset); + offset += this.buffer.write(str, offset, k, "utf8"); if (relative) { - this.offset += k; + this.offset += offset; return this; } return k; @@ -1910,17 +1904,15 @@ module.exports = (function() { } var start = offset, k, l; - var buffer = new Buffer(str, "utf8"); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.length; if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; - offset += this.writeVarint32(buffer.length, offset); - buffer.copy(this.buffer, offset); - offset += buffer.length; + offset += this.writeVarint32(k, offset); + offset += this.buffer.write(str, offset, k, "utf8"); if (relative) { this.offset = offset; return this; diff --git a/package.json b/package.json index d10a992..6045f07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.2", + "version": "3.2.3", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index d7d2946..bc680e1 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -26,13 +26,10 @@ ByteBuffer.prototype.writeCString = function(str, offset) { var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: //? if (NODE) { - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); //? ENSURE_CAPACITY('k+1'); - buffer.copy(this.buffer, offset); - offset += k; + offset += this.buffer.write(str, offset, k, "utf8"); this.buffer[offset++] = 0; - buffer = null; //? } else { k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; //? ENSURE_CAPACITY('k+1'); diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index 229e303..cbb36bf 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -20,13 +20,11 @@ ByteBuffer.prototype.writeIString = function(str, offset) { var start = offset, k; //? if (NODE) { - var buffer = new Buffer(str, "utf8"); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); //? ENSURE_CAPACITY('4+k'); //? WRITE_UINT32_ARRAY('k'); offset += 4; - buffer.copy(this.buffer, offset); - offset += k; + offset += this.buffer.write(str, offset, k, "utf8"); //? } else { k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; //? ENSURE_CAPACITY('4+k'); diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index 2d4ad07..be9e55b 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -31,12 +31,11 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { } var k; //? if (NODE) { - var buffer = new Buffer(str, 'utf8'); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); //? ENSURE_CAPACITY('k'); - buffer.copy(this.buffer, offset); + offset += this.buffer.write(str, offset, k, "utf8"); if (relative) { - this.offset += k; + this.offset += offset; return this; } return k; diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index 8ac5a27..ce4074d 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -20,13 +20,11 @@ ByteBuffer.prototype.writeVString = function(str, offset) { var start = offset, k, l; //? if (NODE) { - var buffer = new Buffer(str, "utf8"); - k = buffer.length; + k = Buffer.byteLength(str, "utf8"); l = ByteBuffer.calculateVarint32(k); //? ENSURE_CAPACITY('l+k'); - offset += this.writeVarint32(buffer.length, offset); - buffer.copy(this.buffer, offset); - offset += buffer.length; + offset += this.writeVarint32(k, offset); + offset += this.buffer.write(str, offset, k, "utf8"); //? } else { k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; l = ByteBuffer.calculateVarint32(k); From 11c617e0eace1714005a931fd1a44f31f2e1b270 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 22:01:18 +0200 Subject: [PATCH 18/91] Also optimize encodings, use lxiv for base64 --- bower.json | 2 +- dist/ByteBufferAB.js | 292 ++++++++++++++++++++------------ dist/ByteBufferAB.min.js | 163 +++++++++--------- dist/ByteBufferAB.min.js.gz | Bin 7443 -> 7561 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferNB.js | 86 +++++----- package.json | 3 +- src/encodings/base64.js | 76 ++------- src/encodings/binary.js | 2 +- src/encodings/hex.js | 2 +- src/encodings/utf8.js | 42 +---- src/helpers.js | 40 +++++ src/types/strings/cstring.js | 6 +- src/types/strings/istring.js | 6 +- src/types/strings/utf8string.js | 12 +- src/types/strings/vstring.js | 6 +- 16 files changed, 386 insertions(+), 358 deletions(-) diff --git a/bower.json b/bower.json index e0139cd..6d1ddb9 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.3", + "version": "3.3.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 5ad7879..1190c29 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -118,7 +118,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.2.3"; + ByteBuffer.VERSION = "3.3.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -175,6 +175,44 @@ */ var EMPTY_BUFFER = new ArrayBuffer(0); + /** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ + var stringFromCharCode = String.fromCharCode; + + /** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ + function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + } + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + /** * Allocates a new ByteBuffer backed by a buffer of the specified capacity. * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. @@ -1400,13 +1438,13 @@ } var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k+1; var capacity12 = this.buffer.byteLength; if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); this.view.setUint8(offset++, 0); @@ -1445,7 +1483,7 @@ if (offset >= this.limit) throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); return (b = this.view.getUint8(offset++)) === 0 ? null : b; - }.bind(this), sd = utfx.stringDestination(), true); + }.bind(this), sd = stringDestination(), true); if (relative) { this.offset = offset; return sd(); @@ -1482,7 +1520,7 @@ } var start = offset, k; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; offset += 4+k; var capacity13 = this.buffer.byteLength; if (offset > capacity13) @@ -1490,7 +1528,7 @@ offset -= 4+k; this.view.setUint32(offset, k, this.littleEndian); offset += 4; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) @@ -1530,7 +1568,7 @@ sd; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = stringDestination(), this.noAssert); str = sd(); if (relative) { this.offset = offset; @@ -1580,13 +1618,13 @@ } var k; var start = offset; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k; var capacity14 = this.buffer.byteLength; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); if (relative) { @@ -1615,7 +1653,7 @@ * @expose */ ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[0]; + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; }; /** @@ -1626,7 +1664,7 @@ * @expose */ ByteBuffer.calculateUTF8Bytes = function(str) { - return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; }; /** @@ -1662,7 +1700,7 @@ start = offset, sd; if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = utfx.stringDestination(); + sd = stringDestination(); utfx.decodeUTF8(function() { return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; }.bind(this), function(cp) { @@ -1690,7 +1728,7 @@ var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { @@ -1745,7 +1783,7 @@ } var start = offset, k, l; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.byteLength; @@ -1753,7 +1791,7 @@ this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) @@ -1790,7 +1828,7 @@ offset += temp['length']; temp = temp['value']; var k = offset + temp, - sd = utfx.stringDestination(); + sd = stringDestination(); utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd, this.noAssert); @@ -2451,15 +2489,121 @@ } }; - // encodings/base64 + // lxiv-embeddable /** - * Base64 alphabet. - * @type {string} - * @inner + * lxiv-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/lxiv for details */ - var B64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - B64 = B64+""; // Prevent CC from inlining this + var lxiv = function() { + "use strict"; + + /** + * lxiv namespace. + * @type {!Object.} + * @exports lxiv + */ + var lxiv = {}; + + /** + * Character codes for output. + * @type {!Array.} + * @inner + */ + var aout = [ + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 + ]; + + /** + * Character codes for input. + * @type {!Array.} + * @inner + */ + var ain = []; + for (var i=0, k=aout.length; i>2)&0x3f]); + t = (b&0x3)<<4; + if ((b = src()) !== null) { + t |= (b>>4)&0xf; + dst(aout[(t|((b>>4)&0xf))&0x3f]); + t = (b&0xf)<<2; + if ((b = src()) !== null) + dst(aout[(t|((b>>6)&0x3))&0x3f]), + dst(aout[b&0x3f]); + else + dst(aout[t&0x3f]), + dst(61); + } else + dst(aout[t&0x3f]), + dst(61), + dst(61); + } + }; + + /** + * Decodes base64 char codes to bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + * @throws {Error} If a character code is invalid + */ + lxiv.decode = function(src, dst) { + var c, t1, t2; + function fail(c) { + throw Error("Illegal character code: "+c); + } + while ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') fail(c); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') fail(c); + dst((t1<<2)>>>0|(t2&0x30)>>4); + if ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t1&0x3)<<6)>>>0|t2); + } + } + } + } + }; + + /** + * Tests if a string is valid base64. + * @param {string} str String to test + * @returns {boolean} `true` if valid, otherwise `false` + */ + lxiv.test = function(str) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); + }; + + return lxiv; + }(); + + // encodings/base64 /** * Encodes this ByteBuffer's contents to a base64 encoded string. @@ -2481,26 +2625,10 @@ if (begin < 0 || begin > end || end > this.buffer.byteLength) throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - if (begin === end) return ""; - var b1, b2, b3, // input bytes - h2, h3, // has input? - o1, o2, o3, o4, // output bytes - out = ""; // output - while (begin < end) { - b1 = this.view.getUint8(begin++); - b2 = (h2 = begin < end) ? this.view.getUint8(begin++) : 0; - b3 = (h3 = begin < end) ? this.view.getUint8(begin++) : 0; - o1 = b1 >> 2; - o2 = ((b1 & 0x03) << 4) | (b2 >> 4); - o3 = ((b2 & 0x0F) << 2) | (b3 >> 6); - o4 = b3 & 0x3F; - if (!h3) { - o4 = 64; - if (!h2) o3 = 64; - } - out += B64.charAt(o1) + B64.charAt(o2) + B64.charAt(o3) + B64.charAt(o4); - } - return out; + var sd; lxiv.encode(function() { + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); + return sd(); }; /** @@ -2520,38 +2648,12 @@ if (str.length % 4 !== 0) throw new TypeError("Illegal str: Length not a multiple of 4"); } - var len = str.length, - suffix = 0, - i, j; - for (i=str.length-1; i>=0; --i) { - if (str.charAt(i) === '=') suffix++; - else break; - } - if (suffix > 2) - throw new TypeError("Illegal str: Suffix is too large"); - if (len === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var b1, b2, b3, b4, // input bytes - h2, h3, h4, // has input? - bb = new ByteBuffer(len/4*3-suffix, littleEndian, noAssert); - for (i=0, j=0; i> 4)); - if (b3 !== 64) { - bb.view.setUint8(j++, ((b2 << 4) & 0xF0) | (b3 >> 2), j); - if (b4 !== 64) { - bb.view.setUint8(j++, ((b3 << 6) & 0xC0) | b4); - } - } - } - bb.limit = j; + var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; return bb; }; @@ -3075,42 +3177,6 @@ return utfx; }(); - /** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ - var stringFromCharCode = String.fromCharCode; - - /** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - */ - utfx.stringSource = function(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; - }; - - /** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - */ - utfx.stringDestination = function() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; - }; - // encodings/utf8 /** @@ -3136,7 +3202,7 @@ var bb = this, sd; try { utfx.decodeUTF8toUTF16(function() { return begin < end ? bb.view.getUint8(begin++) : null; - }, sd = utfx.stringDestination()); + }, sd = stringDestination()); } catch (e) { if (begin !== end) throw new RangeError("Illegal range: Truncated data, "+begin+" != "+end); @@ -3159,9 +3225,9 @@ if (typeof str !== 'string') throw new TypeError("Illegal str: Not a string"); } - var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(utfx.stringSource(str), true)[1], littleEndian, noAssert), + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), i = 0; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { bb.view.setUint8(i++, b); }); bb.limit = i; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index dd02ef5..6537ab0 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -4,84 +4,85 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(r){function s(l){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}d.VERSION="3.2.3";d.LITTLE_ENDIAN=!0;d.BIG_ENDIAN=!1;d.DEFAULT_CAPACITY=16;d.DEFAULT_ENDIAN=d.BIG_ENDIAN;d.DEFAULT_NOASSERT=!1;d.Long=l||null;var r=new ArrayBuffer(0);d.allocate=function(a,b,c){return new d(a,b,c)};d.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var h=0,f=0,g=a.length,n;f=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a, -c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== -typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% -1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt=d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a|| -a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};l&&(d.prototype.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=l.fromNumber(a);else if(!(a&&a instanceof l))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=l.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new l(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new l(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64, -d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=l.fromNumber(a);else if(!(a&&a instanceof l))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=l.fromNumber(a)); -b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new l(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new l(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>= -0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeFloat=d.prototype.writeFloat32;d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32;d.prototype.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};d.prototype.writeDouble=d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble=d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b, -e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+3,e&127),e=4)):(this.view.setUint8(b+2,e&127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a); -"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};l&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=l.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, -d.zigZagDecode64=function(a){"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(l.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=l.fromNumber(a);else if(!(a&&a instanceof l))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=l.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var n=this.buffer.byteLength;b>n&&this.resize((n*=2)>b?n:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!== -e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag= -function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&& -(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=l.fromBits(e|d<<28,d>>>4|f<<24,!1);return b?(this.offset=a,e):{value:e, -length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof l?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=k.b(k.a(a))[1];b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;k.d(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=k.c(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== -typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=k.b(k.a(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this)); -if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+= -4;var d=a+c;k.d(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+ -this.buffer.byteLength);}var e,d=b;e=k.b(k.a(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return k.b(k.a(a))[0]};d.calculateUTF8Bytes=function(a){return k.b(k.a(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset); -"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=k.c();k.i(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;k.d(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=k.b(k.a(a),this.noAssert)[1];f=d.calculateVarint32(h);b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);k.e(k.a(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=k.c();k.d(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*= -2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert=!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian, -this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e); -0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); -}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+ -b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g);f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&& -(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength); -}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c= -this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this; -Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"=== -typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit; -if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, -c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8();case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+ -a);}};var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",m=m+"";d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ -this.buffer.byteLength);}if(a===b)return"";for(var c,e,d,f,g,k,l="";a>2,c=(c&3)<<4|e>>4,e=(e&15)<<2|d>>6,d&=63,g||(d=64,f||(e=64)),l+=m.charAt(k)+m.charAt(c)+m.charAt(e)+m.charAt(d);return l};d.fromBase64=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%4)throw new TypeError("Illegal str: Length not a multiple of 4");}var e=a.length, -h=0,f;for(f=a.length-1;0<=f;--f)if("="===a.charAt(f))h++;else break;if(2h||0>g||0>k||0>l))throw new TypeError("Illegal str: Contains non-base64 characters");p.view.setUint8(b++,h<<2|g>>4);64!==k&&(p.view.setUint8(b++,g<<4&240|k>>2, -b),64!==l&&p.view.setUint8(b++,k<<6&192|l))}p.limit=b;return p};d.btoa=function(a){return d.fromBinary(a).toBase64()};d.atob=function(a){return d.fromBase64(a).toBinary()};d.prototype.toBinary=function(a,b){a="undefined"===typeof a?this.offset:a;b="undefined"===typeof b?this.limit:b;if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+= -" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,k=!1,l=!1,p=!1,m=!1,q=!1;h":if(!c){if(m){q=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},i:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d); -else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!== -d&&c(d)},g:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},e:function(b,c){a.f(b,function(b){a.j(b,c)})},d:function(b,c){a.i(b,function(b){a.g(b,c)})},h:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.h(c);return d},b:function(b){var c=0,d=0;a.f(b,function(b){++c;d+=a.h(b)});return[c,d]}};return a}(),s=String.fromCharCode; -k.a=function(a){var b=0;return function(){return b>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this,d;try{k.d(function(){return aa)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); +this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset, +c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+ +b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+ +this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a); +b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+= +2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength; +b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a}; +d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b- +4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt= +d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength; +b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64,d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== +typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this}, +d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+= +4);return this};d.prototype.writeFloat=d.prototype.writeFloat32;d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32; +d.prototype.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian); +c&&(this.offset+=8);return this};d.prototype.writeDouble=d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble= +d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b,e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+ +3,e&127),e=4)):(this.view.setUint8(b+2,e&127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};k&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a= +a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},d.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a= +a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var n=this.buffer.byteLength;b>n&&this.resize((n*=2)>b?n:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+ +4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag=function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g= +this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=k.fromBits(e|d<<28,d>>>4|f<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=l.a(m(a))[1]; +b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); +}var c=a,e,d=-1;l.b(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=l.a(m(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var d=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=l.a(m(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;l.c(m(a),function(a){this.view.setUint8(b++, +a)}.bind(this));return c?(this.offset=b,this):b-d};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return l.a(m(a))[0]};d.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!== +typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=s();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=l.a(m(a),this.noAssert)[1];f=d.calculateVarint32(h); +b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert= +!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b}; +d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0=== +c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer"); +b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g); +f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a? +!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d|| +(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)"); +a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ +b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8(); +case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var u=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.h=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,k;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(k=c[d],"undefined"===typeof k&&e(d),b(h<<2>>>0|(k&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61=== +d)break;else e(d);b((k&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){k=c[d];if("undefined"===typeof k)if(61===d)break;else e(d);b((h&3)<<6>>>0|k)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;u.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a> +b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"): +d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,k=!1,l=!1,m=!1,q=!1,p=!1;h":if(!c){if(q){p=!0;break}q=!0}b.limit=f;k=!1;break;case "'":if(!c){if(m){p=!0;break}m=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},g:function(a,c){function e(a){a=a.slice(0,a.indexOf(null)); +var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!== +d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c); +return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();d.prototype.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+ +" <= "+this.buffer.byteLength);}var c=this,d;try{l.b(function(){return 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 R@Ms_Y;4jL^5=Jzm004K=q+tL6 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index a3f7163..f76e1e6 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":87, -"mappings":"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", +"lineCount":88, +"mappings":"A;;;;;;AAsBC,SAAQ,CAACA,CAAD,CAAS,CAQdC,QAASA,EAAc,CAACC,CAAD,CAAO,CAcTC,QAAA,EAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC5B,WAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDD,CAAAI,iBAAxD,CAC4B,YAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDF,CAAAK,eAAxD,CAC4B,YAA5B,GAAI,MAAOF,EAAX,GAAyCA,CAAzC,CAAwDH,CAAAM,iBAAxD,CACA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAM,KAAIM,UAAJ,CAAe,yBAAf,CAAyCN,CAAzC,CAAN,CACJ,GAA4B,SAA5B,GAAI,MAAOC,EAAX,CACI,KAAM,KAAIM,SAAJ,CAAc,qCAAd,CAAN,CACJ,GAAwB,SAAxB,GAAI,MAAOL,EAAX,CACI,KAAM,KAAIK,SAAJ,CAAc,iCAAd,CAAN,CAPO,CAef,IAAAC,OAAA,CAA2B,CAAb,GAAAR,CAAA,CAAiBS,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBV,CAAhB,CAO9C,KAAAW,KAAA,CAAyB,CAAb,GAAAX,CAAA,CAAiB,IAAjB,CAAwB,IAAIY,QAAJ,CAAa,IAAAJ,OAAb,CASpC;IAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAaf,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CAnEsC,CAoJ5Dc,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf,CAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ,CAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CApF7BzB,CAAAiC,QAAA,CAAqB,OAQrBjC,EAAAkC,cAAA,CAA2B,CAAA,CAQ3BlC,EAAAmC,WAAA,CAAwB,CAAA,CAOxBnC,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA;AAA4BL,CAAAmC,WAO5BnC,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAQ1B,KAAIW,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAAnB,CAOIgB,EAAqBE,MAAAO,aA2CzBpC,EAAAqC,SAAA,CAAsBC,QAAQ,CAACrC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAAuC,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoBxC,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAOuC,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACIvC,CAEA,CAFWD,CAEX,CADAA,CACA,CADewC,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAI1C,EAAW,CAAf,CACSkB,EAAE,CADX,CACcyB,EAAEH,CAAArB,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0CyB,CAA1C,CAA6C,EAAEzB,CAA/C,CACSnB,CAAA6C,aAAA,CAAwBJ,CAAA,CAAQtB,CAAR,CAAxB,CAGL,GAFIsB,CAAA,CAAQtB,CAAR,CAEJ,CAFiBnB,CAAA8C,KAAA,CAAgBL,CAAA,CAAQtB,CAAR,CAAhB,CAA4BuB,CAA5B,CAEjB,EADAtB,CACA,CADSqB,CAAA,CAAQtB,CAAR,CAAAH,MACT,CAD4ByB,CAAA,CAAQtB,CAAR,CAAAL,OAC5B,CAAa,CAAb,CAAIM,CAAJ,GAAgBnB,CAAhB,EAA4BmB,CAA5B,CAEJ,IAAiB,CAAjB,GAAInB,CAAJ,CAAoB,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACvB4C,EAAAA,CAAK,IAAI/C,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAELS,EAAAA,CAAO,IAAIoC,UAAJ,CAAeD,CAAAtC,OAAf,CACN,KAALU,CAAK,CAAH,CAAG,CAAOA,CAAP,CAASyB,CAAT,CAAA,CACDK,CAEA,CAFKR,CAAA,CAAQtB,CAAA,EAAR,CAEL,CADAC,CACA,CADS6B,CAAAjC,MACT,CADoBiC,CAAAnC,OACpB,CAAc,CAAd,EAAIM,CAAJ,GACAR,CAAAsC,IAAA,CAASC,CAAA,IAAIH,UAAJ,CAAeC,CAAAxC,OAAf,CAAA0C,UAAA,CAAmCF,CAAAnC,OAAnC;AAA8CmC,CAAAjC,MAA9C,CAAT,CAAkE+B,CAAAjC,OAAlE,CACA,CAAAiC,CAAAjC,OAAA,EAAaM,CAFb,CAIJ2B,EAAA/B,MAAA,CAAW+B,CAAAjC,OACXiC,EAAAjC,OAAA,CAAY,CACZ,OAAOiC,EA1B6D,CAmCxE/C,EAAA6C,aAAA,CAA0BO,QAAQ,CAACL,CAAD,CAAK,CACnC,MAAOA,EAAP,EAAaA,CAAb,WAA2B/C,EADQ,CASvCA,EAAAqD,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAO3C,YADkB,CAiB7BX,EAAA8C,KAAA,CAAkBS,QAAQ,CAAC9C,CAAD,CAASiC,CAAT,CAAmBxC,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAOuC,EAAX,GACIvC,CAEA,CAFWD,CAEX,CADAA,CACA,CADewC,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOlC,EAAX,CAEI,OADwB,WAChBiC,GADJ,MAAOA,EACHA,GAD6BA,CAC7BA,CADwC,MACxCA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAO1C,EAAAwD,WAAA,CAAsB/C,CAAtB,CAA8BP,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAAyD,QAAA,CAAmBhD,CAAnB,CAA2BP,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA0D,WAAA,CAAsBjD,CAAtB,CAA8BP,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA2D,SAAA,CAAoBlD,CAApB,CAA4BP,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA4D,UAAA,CAAqBnD,CAArB,CAA6BP,CAA7B,CACX,SACI,KAAM,KAAIM,SAAJ,CAAc,wBAAd;AAAuCkC,CAAvC,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAIjC,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAM,KAAID,SAAJ,CAAc,oCAAd,CAAN,CAEJ,GAAIR,CAAA6C,aAAA,CAAwBpC,CAAxB,CAAJ,CAGI,MAFAsC,EAEOA,CAFF/C,CAAAgC,UAAA6B,MAAAC,KAAA,CAAgCrD,CAAhC,CAEEsC,CADPA,CAAAhC,aACOgC,CADY,EACZA,CAAAA,CAEX,IAAItC,CAAJ,WAAsBuC,WAAtB,CACID,CACA,CADK,IAAI/C,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIM,CAAAW,OAAJ,GACI2B,CAAAtC,OAGA,CAHYA,CAAAA,OAGZ,CAFAsC,CAAAjC,OAEA,CAFYL,CAAAsD,WAEZ,CADAhB,CAAA/B,MACA,CADWP,CAAAsD,WACX,CAD+BtD,CAAAW,OAC/B,CAAA2B,CAAAnC,KAAA,CAA0B,CAAhB,CAAAH,CAAAW,OAAA,CAAoB,IAAIP,QAAJ,CAAaJ,CAAAA,OAAb,CAApB,CAAkD,IAJhE,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACHoC,CACA,CADK,IAAI/C,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIM,CAAAuD,WAAJ,GACIjB,CAAAtC,OAGA,CAHYA,CAGZ,CAFAsC,CAAAjC,OAEA,CAFY,CAEZ,CADAiC,CAAA/B,MACA,CADWP,CAAAuD,WACX,CAAAjB,CAAAnC,KAAA,CAA8B,CAApB,CAAAH,CAAAuD,WAAA,CAAwB,IAAInD,QAAJ,CAAaJ,CAAb,CAAxB,CAA+C,IAJ7D,CAFG,KAQA,IAA+C,gBAA/C;AAAIwD,MAAAjC,UAAAkC,SAAAJ,KAAA,CAA+BrD,CAA/B,CAAJ,CAGH,IAFAsC,CAEK,CAFA,IAAI/C,CAAJ,CAAeS,CAAAW,OAAf,CAA8BlB,CAA9B,CAA4CC,CAA5C,CAEA,CADL4C,CAAA/B,MACK,CADMP,CAAAW,OACN,CAAAD,CAAA,CAAE,CAAP,CAAUA,CAAV,CAAYV,CAAAW,OAAZ,CAA2B,EAAED,CAA7B,CACI4B,CAAAnC,KAAAuD,SAAA,CAAiBhD,CAAjB,CAAoBV,CAAA,CAAOU,CAAP,CAApB,CAJD,KAMH,MAAM,KAAIX,SAAJ,CAAc,gBAAd,CAAN,CACJ,MAAOuC,EAtD0D,CAkErE/C,EAAAgC,UAAAoC,UAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAQxD,CAAR,CAAgB,CACrD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAUpBlD,CAAA,EAAU,CACV,KAAI0D,EAAY,IAAA/D,OAAAuD,WACZlD,EAAJ,CAAa0D,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmB1D,CAAnB,CAA4B0D,CAA5B,CAAwC1D,CAApD,CAEJ,KAAAF,KAAA8D,QAAA,CADA5D,CACA,CADU,CACV,CAA0BwD,CAA1B,CACIC,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDd,EAAAgC,UAAA2C,UAAA,CAAiC3E,CAAAgC,UAAAoC,UAQjCpE,EAAAgC,UAAA4C,SAAA,CAAgCC,QAAQ,CAAC/D,CAAD,CAAS,CAC7C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD;AAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAkE,QAAA,CAAkBhE,CAAlB,CACRyD,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZsC,CAsBjDtE,EAAAgC,UAAA+C,SAAA,CAAgC/E,CAAAgC,UAAA4C,SAShC5E,EAAAgC,UAAAgD,WAAA,CAAkCC,QAAQ,CAACX,CAAD,CAAQxD,CAAR,CAAgB,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAUpBlD,CAAA,EAAU,CACV,KAAIoE,EAAY,IAAAzE,OAAAuD,WACZlD,EAAJ,CAAaoE,CAAb,EACI,IAAAT,OAAA,CAAY,CAACS,CAAD,EAAc,CAAd,EAAmBpE,CAAnB,CAA4BoE,CAA5B,CAAwCpE,CAApD,CAEJ,KAAAF,KAAAuD,SAAA,CADArD,CACA,CADU,CACV,CAA2BwD,CAA3B,CACIC,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA6B1Dd,EAAAgC,UAAAmD,UAAA,CAAiCC,QAAQ,CAACtE,CAAD,CAAS,CAC9C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAyE,SAAA,CAAmBvE,CAAnB,CACRyD;CAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZuC,CAyBlDtE,EAAAgC,UAAAsD,WAAA,CAAkCC,QAAQ,CAACjB,CAAD,CAAQxD,CAAR,CAAgB,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAUpBlD,CAAA,EAAU,CACV,KAAI0E,EAAY,IAAA/E,OAAAuD,WACZlD,EAAJ,CAAa0E,CAAb,EACI,IAAAf,OAAA,CAAY,CAACe,CAAD;AAAc,CAAd,EAAmB1E,CAAnB,CAA4B0E,CAA5B,CAAwC1E,CAApD,CAEJ,KAAAF,KAAA6E,SAAA,CADA3E,CACA,CADU,CACV,CAA2BwD,CAA3B,CAAkC,IAAApE,aAAlC,CACIqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CAgC1Dd,EAAAgC,UAAA0D,WAAA,CAAkC1F,CAAAgC,UAAAsD,WAUlCtF,EAAAgC,UAAA2D,UAAA,CAAiCC,QAAQ,CAAC9E,CAAD,CAAS,CAC9C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAiF,SAAA,CAAmB/E,CAAnB,CAA2B,IAAAZ,aAA3B,CACRqE,EAAJ,GAAc,IAAAzD,OAAd;AAA6B,CAA7B,CACA,OAAOwD,EAZuC,CAwBlDtE,EAAAgC,UAAA8D,UAAA,CAAiC9F,CAAAgC,UAAA2D,UAUjC3F,EAAAgC,UAAA+D,YAAA,CAAmCC,QAAQ,CAAC1B,CAAD,CAAQxD,CAAR,CAAgB,CACvD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAUpBlD,CAAA,EAAU,CACV,KAAImF,EAAY,IAAAxF,OAAAuD,WACZlD;CAAJ,CAAamF,CAAb,EACI,IAAAxB,OAAA,CAAY,CAACwB,CAAD,EAAc,CAAd,EAAmBnF,CAAnB,CAA4BmF,CAA5B,CAAwCnF,CAApD,CAEJ,KAAAF,KAAAsF,UAAA,CADApF,CACA,CADU,CACV,CAA4BwD,CAA5B,CAAmC,IAAApE,aAAnC,CACIqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KApBgD,CA+B3Dd,EAAAgC,UAAAmE,WAAA,CAAkCC,QAAQ,CAACtF,CAAD,CAAS,CAC/C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAyF,UAAA,CAAoBvF,CAApB,CAA4B,IAAAZ,aAA5B,CACRqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZwC,CAuBnDtE;CAAAgC,UAAAsE,WAAA,CAAkCC,QAAQ,CAACjC,CAAD,CAAQxD,CAAR,CAAgB,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAUpBlD,CAAA,EAAU,CACV,KAAI0F,EAAY,IAAA/F,OAAAuD,WACZlD,EAAJ,CAAa0F,CAAb,EACI,IAAA/B,OAAA,CAAY,CAAC+B,CAAD,EAAc,CAAd,EAAmB1F,CAAnB,CAA4B0F,CAA5B,CAAwC1F,CAApD,CAEJ,KAAAF,KAAA6F,SAAA,CADA3F,CACA;AADU,CACV,CAA2BwD,CAA3B,CAAkC,IAAApE,aAAlC,CACIqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA6B1Dd,EAAAgC,UAAA0E,SAAA,CAAgC1G,CAAAgC,UAAAsE,WAQhCtG,EAAAgC,UAAA2E,UAAA,CAAiCC,QAAQ,CAAC9F,CAAD,CAAS,CAC9C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA2B,IAAAZ,aAA3B,CACRqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZuC,CAqBlDtE,EAAAgC,UAAA8E,QAAA;AAA+B9G,CAAAgC,UAAA2E,UAQ/B3G,EAAAgC,UAAA+E,YAAA,CAAmCC,QAAQ,CAAC1C,CAAD,CAAQxD,CAAR,CAAgB,CACvD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAUpBlD,CAAA,EAAU,CACV,KAAImG,EAAY,IAAAxG,OAAAuD,WACZlD,EAAJ,CAAamG,CAAb,EACI,IAAAxC,OAAA,CAAY,CAACwC,CAAD;AAAc,CAAd,EAAmBnG,CAAnB,CAA4BmG,CAA5B,CAAwCnG,CAApD,CAEJ,KAAAF,KAAAsG,UAAA,CADApG,CACA,CADU,CACV,CAA4BwD,CAA5B,CAAmC,IAAApE,aAAnC,CACIqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KApBgD,CA6B3Dd,EAAAgC,UAAAmF,WAAA,CAAkCC,QAAQ,CAACtG,CAAD,CAAS,CAC/C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAyG,UAAA,CAAoBvG,CAApB,CAA4B,IAAAZ,aAA5B,CACRqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZwC,CAiB/CvE,EAAJ,GASIC,CAAAgC,UAAAsF,WAqHA;AArHkCC,QAAQ,CAACjD,CAAD,CAAQxD,CAAR,CAAgB,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,CACIA,CAAA,CAAQvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BvE,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOM,EAAX,GACIA,CADJ,CACYvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CADZ,CAEAxD,EAAA,EAAU,CACV,KAAI2G,EAAY,IAAAhH,OAAAuD,WACZlD;CAAJ,CAAa2G,CAAb,EACI,IAAAhD,OAAA,CAAY,CAACgD,CAAD,EAAc,CAAd,EAAmB3G,CAAnB,CAA4B2G,CAA5B,CAAwC3G,CAApD,CACJA,EAAA,EAAU,CACN,KAAAZ,aAAJ,EACI,IAAAU,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA6BwD,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA9G,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA0B,CAA1B,CAA6BwD,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAA/G,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA6BwD,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA/G,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA0B,CAA1B,CAA6BwD,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOInD,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KA7B+C,CAqH1D,CA9EAd,CAAAgC,UAAA4F,UA8EA,CA9EiC5H,CAAAgC,UAAAsF,WA8EjC,CAtEAtH,CAAAgC,UAAA6F,UAsEA,CAtEiCC,QAAQ,CAAChH,CAAD,CAAS,CAC9C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAApE,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAa,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAIf,CAAJ,CAAS,IAAAa,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACFyD,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAduC,CAsElD,CA/CAtE,CAAAgC,UAAA+F,SA+CA,CA/CgC/H,CAAAgC,UAAA6F,UA+ChC,CAtCA7H,CAAAgC,UAAAgG,YAsCA,CAtCmCC,QAAQ,CAAC3D,CAAD,CAAQxD,CAAR,CAAgB,CACvD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,CACIA,CAAA,CAAQvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BvE,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOM,EAAX,GACIA,CADJ,CACYvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CADZ,CAEAxD,EAAA,EAAU,CACV,KAAIoH,EAAY,IAAAzH,OAAAuD,WACZlD,EAAJ,CAAaoH,CAAb,EACI,IAAAzD,OAAA,CAAY,CAACyD,CAAD,EAAc,CAAd,EAAmBpH,CAAnB,CAA4BoH,CAA5B,CAAwCpH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAZ,aAAJ,EACI,IAAAU,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA6BwD,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA9G,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA0B,CAA1B,CAA6BwD,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAA/G,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA6BwD,CAAAqD,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA/G,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA0B,CAA1B,CAA6BwD,CAAAoD,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOInD,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KA7BgD,CAsC3D;AAAAd,CAAAgC,UAAAmG,WAAA,CAAkCC,QAAQ,CAACtH,CAAD,CAAS,CAC/C,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAApE,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAa,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAIf,CAAJ,CAAS,IAAAa,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAiG,SAAA,CAAmB/F,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACFyD,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAdwC,CA9HvD,CA2JAtE,EAAAgC,UAAAqG,aAAA;AAAoCC,QAAQ,CAAChE,CAAD,CAAQxD,CAAR,CAAgB,CACxD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,iBAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CAPY,CASpBlD,CAAA,EAAU,CACV,KAAIyH,EAAY,IAAA9H,OAAAuD,WACZlD,EAAJ,CAAayH,CAAb,EACI,IAAA9D,OAAA,CAAY,CAAC8D,CAAD,EAAc,CAAd,EAAmBzH,CAAnB,CAA4ByH,CAA5B,CAAwCzH,CAApD,CAEJ,KAAAF,KAAA4H,WAAA,CADA1H,CACA,CADU,CACV,CAA6BwD,CAA7B,CAAoC,IAAApE,aAApC,CACIqE,EAAJ,GAAc,IAAAzD,OAAd;AAA6B,CAA7B,CACA,OAAO,KAnBiD,CA8B5Dd,EAAAgC,UAAAyG,WAAA,CAAkCzI,CAAAgC,UAAAqG,aAQlCrI,EAAAgC,UAAA0G,YAAA,CAAmCC,QAAQ,CAAC7H,CAAD,CAAS,CAChD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAgI,WAAA,CAAqB9H,CAArB,CAA6B,IAAAZ,aAA7B,CACRqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZyC,CAsBpDtE,EAAAgC,UAAA6G,UAAA,CAAiC7I,CAAAgC,UAAA0G,YAWjC1I;CAAAgC,UAAA8G,aAAA,CAAoCC,QAAQ,CAACzE,CAAD,CAAQxD,CAAR,CAAgB,CACxD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,iBAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CAPY,CASpBlD,CAAA,EAAU,CACV,KAAIkI,EAAY,IAAAvI,OAAAuD,WACZlD,EAAJ,CAAakI,CAAb,EACI,IAAAvE,OAAA,CAAY,CAACuE,CAAD,EAAc,CAAd,EAAmBlI,CAAnB,CAA4BkI,CAA5B,CAAwClI,CAApD,CAEJ,KAAAF,KAAAqI,WAAA,CADAnI,CACA,CADU,CACV,CAA6BwD,CAA7B,CAAoC,IAAApE,aAApC,CACIqE;CAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBiD,CA8B5Dd,EAAAgC,UAAAkH,YAAA,CAAmClJ,CAAAgC,UAAA8G,aAQnC9I,EAAAgC,UAAAmH,YAAA,CAAmCC,QAAQ,CAACtI,CAAD,CAAS,CAChD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA1D,KAAAyI,WAAA,CAAqBvI,CAArB,CAA6B,IAAAZ,aAA7B,CACRqE,EAAJ,GAAc,IAAAzD,OAAd,EAA6B,CAA7B,CACA,OAAOwD,EAZyC,CAsBpDtE,EAAAgC,UAAAsH,WAAA;AAAkCtJ,CAAAgC,UAAAmH,YAWlCnJ,EAAAuJ,mBAAA,CAAgC,CAQhCvJ,EAAAwJ,kBAAA,CAA+BC,QAAQ,CAACnF,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/CtE,EAAA0J,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxC5J,EAAA6J,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxC5J,EAAAgC,UAAA+H,cAAA,CAAqCC,QAAQ,CAAC1F,CAAD,CAAQxD,CAAR,CAAgB,CACzD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CAHqC,IAarDiG,EAAOjK,CAAAwJ,kBAAA,CAA6BlF,CAA7B,CAEXxD,EAAA,EAAUmJ,CACV,KAAIC,EAAa,IAAAzJ,OAAAuD,WACblD,EAAJ,CAAaoJ,CAAb,EACI,IAAAzF,OAAA,CAAY,CAACyF,CAAD,EAAe,CAAf,EAAoBpJ,CAApB,CAA6BoJ,CAA7B,CAA0CpJ,CAAtD,CACJA,EAAA,EAAUmJ,CAEV,KAAArJ,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA2BqJ,CAA3B,CAA+B7F,CAA/B,CAAuC,GAAvC,CACAA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACI6F,CAEA,CAFK7F,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAA1D,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA6BqJ,CAA7B,CACA,CAAa,KAAb,EAAI7F,CAAJ,EACI6F,CAEA,CAFK7F,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA1D,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA6BqJ,CAA7B,CACA,CAAa,OAAb,EAAI7F,CAAJ,EACI6F,CAEA,CAFK7F,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA1D,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA6BqJ,CAA7B,CACA,CAAa,SAAb,EAAI7F,CAAJ,EACI,IAAA1D,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA8BwD,CAA9B,EAAuC,EAAvC,CAA6C,EAA7C,CACA,CAAA2F,CAAA,CAAO,CAFX,GAII,IAAArJ,KAAAuD,SAAA,CAAmBrD,CAAnB;AAA0B,CAA1B,CAA6BqJ,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CALX,CAHJ,GAWI,IAAArJ,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA6BqJ,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAArJ,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA6BqJ,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAArJ,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA2BqJ,CAA3B,CAA+B,GAA/B,CACA,CAAAF,CAAA,CAAO,CA1BX,CA4BA,OAAI1F,EAAJ,EACI,IAAAzD,OACO,EADQmJ,CACR,CAAA,IAFX,EAIOA,CAvDkD,CAkE7DjK,EAAAgC,UAAAoI,oBAAA,CAA2CC,QAAQ,CAAC/F,CAAD,CAAQxD,CAAR,CAAgB,CAC/D,MAAO,KAAAiJ,cAAA,CAAmB/J,CAAA0J,eAAA,CAA0BpF,CAA1B,CAAnB,CAAqDxD,CAArD,CADwD,CAanEd,EAAAgC,UAAAsI,aAAA,CAAoCC,QAAQ,CAACzJ,CAAD,CAAS,CACjD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAH6B,IAW7CiG,EAAO,CAXsC,CAY7C3F,EAAQ,CAZqC,CAa7CkG,CACJ,GACIA,EAGA,CAHO,IAAA5J,KAAAyE,SAAA,CAAmBvE,CAAnB,CAA0BmJ,CAA1B,CAGP,CAFW,CAEX,CAFIA,CAEJ,GADI3F,CACJ,GADekG,CACf,CADoB,GACpB,GAD4B,CAC5B,CAD8BP,CAC9B,GADyC,CACzC,EAAA,EAAEA,CAJN,OAK2B,GAL3B,IAKUO,CALV,CAKiB,GALjB,EAMAlG,EAAA,EAAgB,CAChB,OAAIC,EAAJ,EACI,IAAAzD,OACOwD,EADQ2F,CACR3F,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAU2F,CAFP,CAzB0C,CAwCrDjK,EAAAgC,UAAAyI,mBAAA,CAA0CC,QAAQ,CAAC5J,CAAD,CAAS,CACnD6J,CAAAA,CAAM,IAAAL,aAAA,CAAkBxJ,CAAlB,CACS,SAAnB,GAAI,MAAO6J,EAAX,CACIA,CAAA,MADJ,CACmB3K,CAAA6J,eAAA,CAA0Bc,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU3K,CAAA6J,eAAA,CAA0Bc,CAA1B,CACV,OAAOA,EANgD,CAWvD5K,EAAJ,GAQIC,CAAA4K,mBAsLA,CAtLgC,EAsLhC,CA9KA5K,CAAA6K,kBA8KA,CA9K+BC,QAAQ,CAACxG,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,GACIA,CADJ,CACYvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CADZ,CAD2C,KAIvCyG,EAAQzG,CAAA0G,MAAA,EAARD,GAA0B,CAJa,CAKvCE,EAAQ3G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA;AAAQ7G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EApBW,CA8K/C,CAjJAnL,CAAAoL,eAiJA,CAjJ4BC,QAAQ,CAAC/G,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAAgH,SAFT,GAEmChH,CAFnC,CAE2CA,CAAAiH,SAAA,EAF3C,CAIA,OAAOjH,EAAAkH,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuBnH,CAAAoH,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EALiC,CAiJ5C,CAnIA3L,CAAA4L,eAmIA,CAnI4BC,QAAQ,CAACvH,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAAgH,SAFT,GAEmChH,CAFnC,CAE2CA,CAAAiH,SAAA,EAF3C,CAIA,OAAOjH,EAAA4G,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgCnH,CAAAwH,IAAA,CAAU/L,CAAAgM,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EALiC,CAmI5C,CAnHAvL,CAAAgC,UAAAiK,cAmHA;AAnHqCC,QAAQ,CAAC5H,CAAD,CAAQxD,CAAR,CAAgB,CACzD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,CACIA,CAAA,CAAQvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CADZ,KAEK,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BvE,EAA1B,CAAN,CACD,KAAM,KAAIS,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,2BAAtC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CATY,CAWC,QAArB,GAAI,MAAOM,EAAX,CACIA,CADJ,CACYvE,CAAAyH,WAAA,CAAgBlD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE4B,CAAA,CAF5B,GAESA,CAAAgH,SAFT,GAEmChH,CAFnC;AAE2CA,CAAAiH,SAAA,EAF3C,CAdyD,KAiBrDtB,EAAOjK,CAAA6K,kBAAA,CAA6BvG,CAA7B,CAjB8C,CAkBrDyG,EAAQzG,CAAA0G,MAAA,EAARD,GAA0B,CAlB2B,CAmBrDE,EAAQ3G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAnBI,CAoBrDE,EAAQ7G,CAAA4G,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDrK,EAAA,EAAUmJ,CACV,KAAIkC,EAAa,IAAA1L,OAAAuD,WACblD,EAAJ,CAAaqL,CAAb,EACI,IAAA1H,OAAA,CAAY,CAAC0H,CAAD,EAAe,CAAf,EAAoBrL,CAApB,CAA6BqL,CAA7B,CAA0CrL,CAAtD,CACJA,EAAA,EAAUmJ,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAArJ,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAA8BqK,CAA9B,GAAyC,CAAzC,CAA8C,CAA9C,CACT,MAAK,CAAL,CAAS,IAAAvK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAckB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAvK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcgB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArK,KAAAuD,SAAA,CAAmBrD,CAAnB;AAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcgB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcc,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAnK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcc,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAnK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAmJ,CAAA,CAAcc,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAnK,KAAAuD,SAAA,CAAmBrD,CAAnB,CAAsC,CAAT,GAAAmJ,CAAA,CAAcc,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CAVb,CAYA,MAAIxG,EAAJ,EACI,IAAAzD,OACO,EADQmJ,CACR,CAAA,IAFX,EAIWA,CA1C8C,CAmH7D,CA7DAjK,CAAAgC,UAAAoK,oBA6DA,CA7D2CC,QAAQ,CAAC/H,CAAD,CAAQxD,CAAR,CAAgB,CAC/D,MAAO,KAAAmL,cAAA,CAAmBjM,CAAAoL,eAAA,CAA0B9G,CAA1B,CAAnB,CAAqDxD,CAArD,CADwD,CA6DnE,CAhDAd,CAAAgC,UAAAsK,aAgDA,CAhDoCC,QAAQ,CAACzL,CAAD,CAAS,CACjD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAH6B,IAW7CwI,EAAQ1L,CAXqC,CAY7CiK,EAAQ,CAZqC,CAa7CE,EAAQ,CAbqC,CAc7CE,EAAQ,CAdqC,CAe7ChB,EAAK,CAfwC,CAgBjDA,EAAI,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAhB6C,CAgBfiK,EAAUZ,CAAVY,CAAc,GAAa,IAAIZ,CAAJ,CAAQ,GAAR,GAC7DA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BiK,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BiK,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BiK,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BmK,CAA+B,CAArBd,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BmK,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE;AAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BmK,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BmK,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BqK,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAA6D,CAA/BqK,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GADJ,CADA,CADA,CADA,CADA,CADA,CADA,CADA,CADJ,EAU7D,KAAUsC,MAAJ,CAAU,sCAAV,CAAN,CACInI,CAAAA,CAAQvE,CAAA2M,SAAA,CAAc3B,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD,CAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAI5G,EAAJ,EACI,IAAAzD,OACOwD,CADOxD,CACPwD,CAAAA,CAFX,EAIW,CACH,MAASA,CADN,CAEH,OAAUxD,CAAV,CAAiB0L,CAFd,CAhCsC,CAgDrD,CAAAxM,CAAAgC,UAAA2K,mBAAA,CAA0CC,QAAQ,CAAC9L,CAAD,CAAS,CAEvD,CADI6J,CACJ,CADU,IAAA2B,aAAA,CAAkBxL,CAAlB,CACV,GAAW6J,CAAA,MAAX,WAAmC5K,EAAnC,CACI4K,CAAA,MADJ,CACmB3K,CAAA4L,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU3K,CAAA4L,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EANgD,CA9L/D,CAqNA3K,EAAAgC,UAAA6K,aAAA;AAAoCC,QAAQ,CAACC,CAAD,CAAMjM,CAAN,CAAc,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CAFsD,KAGlDK,CAHkD,CAIlDyB,EAAImK,CAAA3L,OACR,IAAKjB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO4M,EAAX,CACI,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CACJ,IAAKW,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYyB,CAAZ,CAAe,EAAEzB,CAAjB,CACI,GAA0B,CAA1B,GAAI4L,CAAA1L,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAM,KAAIZ,UAAJ,CAAe,uCAAf,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAOO,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CAXY,CAahBwI,CAAAA,CAAQ1L,CAEZ8B,EAAA,CAAIoK,CAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJjM;CAAA,EAAU8B,CAAV,CAAY,CACZ,KAAIsK,EAAa,IAAAzM,OAAAuD,WACblD,EAAJ,CAAaoM,CAAb,EACI,IAAAzI,OAAA,CAAY,CAACyI,CAAD,EAAe,CAAf,EAAoBpM,CAApB,CAA6BoM,CAA7B,CAA0CpM,CAAtD,CACJA,EAAA,EAAU8B,CAAV,CAAY,CACZoK,EAAAG,EAAA,CAAuBlM,CAAA,CAAa8L,CAAb,CAAvB,CAA0C,QAAQ,CAAC5C,CAAD,CAAI,CAClD,IAAAvJ,KAAAuD,SAAA,CAAmBrD,CAAA,EAAnB,CAA6BqJ,CAA7B,CADkD,CAAZiD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAAxM,KAAAuD,SAAA,CAAmBrD,CAAA,EAAnB,CAA6B,CAA7B,CACA,OAAIyD,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CADgB0L,CAChB,CAAA,IAFX,EAIO5J,CAlC+C,CA8C1D5C,EAAAgC,UAAAqL,YAAA,CAAmCC,QAAQ,CAACxM,CAAD,CAAS,CAChD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN;AALY,CAH4B,IAU5CwI,EAAQ1L,CAVoC,CAa5CyM,CAb4C,CAaxCpD,EAAK,EACb6C,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAIrD,CAAJ,CAAa,MAAO,KACpB,IAAIrJ,CAAJ,EAAc,IAAAE,MAAd,CACI,KAAMT,WAAA,CAAW,iCAAX,CAA6CO,CAA7C,CAAoD,KAApD,CAA0D,IAAAE,MAA1D,CAAN,CACJ,MAA8C,EAAvC,IAACmJ,CAAD,CAAK,IAAAvJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAAL,EAA2C,IAA3C,CAAkDqJ,CAJ3B,CAAXiD,KAAA,CAKhB,IALgB,CAAvB,CAKcG,CALd,CAKmBjM,CAAA,EALnB,CAKwC,CAAA,CALxC,CAMA,OAAIiD,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CAAAyM,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUzM,CAAV,CAAmB0L,CAFhB,CAxBqC,CA0CpDxM,EAAAgC,UAAAyL,aAAA,CAAoCC,QAAQ,CAACX,CAAD,CAAMjM,CAAN,CAAc,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO4M,EAAX,CACI,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd;AAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CAPY,CAHkC,IAYlDwI,EAAQ1L,CAZ0C,CAalD8B,CACJA,EAAA,CAAIoK,CAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAA6C,IAAA5M,SAA7C,CAAA,CAA4D,CAA5D,CACJW,EAAA,EAAU,CAAV,CAAY8B,CACZ,KAAI+K,EAAa,IAAAlN,OAAAuD,WACblD,EAAJ,CAAa6M,CAAb,EACI,IAAAlJ,OAAA,CAAY,CAACkJ,CAAD,EAAe,CAAf,EAAoB7M,CAApB,CAA6B6M,CAA7B,CAA0C7M,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAY8B,CACZ,KAAAhC,KAAAsG,UAAA,CAAoBpG,CAApB,CAA4B8B,CAA5B,CAA+B,IAAA1C,aAA/B,CACAY,EAAA,EAAU,CACVkM,EAAAG,EAAA,CAAuBlM,CAAA,CAAa8L,CAAb,CAAvB,CAA0C,QAAQ,CAAC5C,CAAD,CAAI,CAClD,IAAAvJ,KAAAuD,SAAA,CAAmBrD,CAAA,EAAnB,CAA6BqJ,CAA7B,CADkD,CAAZiD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAItM,CAAJ,GAAe0L,CAAf,CAAuB,CAAvB,CAA2B5J,CAA3B,CACI,KAAM,KAAIrC,UAAJ,CAAe,iCAAf,CAAiDO,CAAjD,CAAwD,MAAxD,EAAgEA,CAAhE,CAAuE,CAAvE,CAAyE8B,CAAzE,EAAN,CACJ,MAAI2B,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0L,CA/BsC,CA2C1DxM,EAAAgC,UAAA4L,YAAA;AAAmCC,QAAQ,CAAC/M,CAAD,CAAS,CAChD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAH4B,IAU5CwG,EAAO,CAVqC,CAW5CgC,EAAQ1L,CAXoC,CAahD0J,EAAO,IAAA5J,KAAAyG,UAAA,CAAoBvG,CAApB,CAA4B,IAAAZ,aAA5B,CACPY,EAAA,EAAU,CAdsC,KAe5C8B,EAAI9B,CAAJ8B,CAAa4H,CAEjBwC,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO1M,EAAA,CAAS8B,CAAT,CAAa,IAAAhC,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAXsM,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBjM,CAAA,EAFnB,CAEwC,IAAAnB,SAFxC,CAGA4M,EAAA,CAAMQ,CAAA,EACN,OAAIhJ,EAAJ,EACI,IAAAzD,OACOiM,CADOjM,CACPiM,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUjM,CAAV;AAAmB0L,CAFhB,CAzBqC,CAwCpDxM,EAAA8N,cAAA,CAA2B,GAQ3B9N,EAAA+N,cAAA,CAA2B,GAS3B/N,EAAAgC,UAAAgM,gBAAA,CAAuCC,QAAQ,CAAClB,CAAD,CAAMjM,CAAN,CAAc,CACzD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOpB,IAAIpB,CAAJ,CACI4J,EAAQ1L,CACZ8B,EAAA,CAAIoK,CAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJjM,EAAA,EAAU8B,CACV,KAAIsL,EAAa,IAAAzN,OAAAuD,WACblD,EAAJ,CAAaoN,CAAb,EACI,IAAAzJ,OAAA,CAAY,CAACyJ,CAAD,EAAe,CAAf,EAAoBpN,CAApB,CAA6BoN,CAA7B,CAA0CpN,CAAtD,CACJA,EAAA,EAAU8B,CACVoK,EAAAG,EAAA,CAAuBlM,CAAA,CAAa8L,CAAb,CAAvB,CAA0C,QAAQ,CAAC5C,CAAD,CAAI,CAClD,IAAAvJ,KAAAuD,SAAA,CAAmBrD,CAAA,EAAnB;AAA6BqJ,CAA7B,CADkD,CAAZiD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAI7I,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0L,CAzByC,CAoC7DxM,EAAAgC,UAAAmM,YAAA,CAAmCnO,CAAAgC,UAAAgM,gBAUnChO,EAAAoO,mBAAA,CAAgCC,QAAQ,CAACtB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9C/M,EAAAsO,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAe9C/M,EAAAgC,UAAAwM,eAAA,CAAsCC,QAAQ,CAACrN,CAAD,CAASsN,CAAT,CAAkB5N,CAAlB,CAA0B,CAC7C,QAAvB,GAAI,MAAO4N,EAAX,GACI5N,CACA,CADS4N,CACT,CAAAA,CAAA,CAAU/L,IAAAA,EAFd,CAIA,KAAI4B,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAO4N,EAAX,GAAoCA,CAApC,CAA8C1O,CAAA8N,cAA9C,CACA,IAAK3N,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOiB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIZ,SAAJ,CAAc,kBAAd,CAAiCY,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB;AAAI,MAAON,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CARY,CARgD,IAkBhE7C,EAAI,CAlB4D,CAmBhEqL,EAAQ1L,CAnBwD,CAoBhEyM,CACJ,IAAImB,CAAJ,GAAgB1O,CAAA8N,cAAhB,CAA0C,CACtCP,CAAA,CAAKjM,CAAA,EACL0L,EAAA2B,EAAA,CAAgB,QAAQ,EAAG,CACvB,MAAOxN,EAAA,CAAIC,CAAJ,EAAcN,CAAd,CAAuB,IAAAE,MAAvB,CAAoC,IAAAJ,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAApC,CAAmE,IADnD,CAAXsM,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAACwB,CAAD,CAAK,CACvB,EAAEzN,CAAG6L,EAAA6B,EAAA,CAAiBD,CAAjB,CAAqBrB,CAArB,CADkB,CAAbH,KAAA,CAEP,IAFO,CAFd,CAKA,IAAIjM,CAAJ,GAAUC,CAAV,CACI,KAAM,KAAIb,UAAJ,CAAe,iCAAf,CAAiDY,CAAjD,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CACJ,MAAImD,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CAAAyM,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUzM,CAAV,CAAmB0L,CAFhB,CAb2B,CAkBnC,GAAIkC,CAAJ;AAAgB1O,CAAA+N,cAAhB,CAA0C,CAC7C,GAAK5N,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAAuD,WAApC,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAA8C,KAA9C,CAAoDM,CAApD,CAA2D,OAA3D,CAAmE,IAAAX,OAAAuD,WAAnE,CAAN,CALY,CAOpB,IAAIpB,EAAI9B,CAAJ8B,CAAaxB,CACjB4L,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO1M,EAAA,CAAS8B,CAAT,CAAa,IAAAhC,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAXsM,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBjM,CAAA,EAFnB,CAEwC,IAAAnB,SAFxC,CAGA,IAAIW,CAAJ,GAAe8B,CAAf,CACI,KAAM,KAAIrC,UAAJ,CAAe,iCAAf,CAAiDO,CAAjD,CAAwD,MAAxD,CAA+D8B,CAA/D,CAAN,CACJ,MAAI2B,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CAAAyM,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUzM,CAAV,CAAmB0L,CAFhB,CAlBkC,CAwB7C,KAAM,KAAIhM,SAAJ,CAAc,uBAAd;AAAsCkO,CAAtC,CAAN,CA/DgE,CA8ExE1O,EAAAgC,UAAA8M,WAAA,CAAkC9O,CAAAgC,UAAAwM,eAalCxO,EAAAgC,UAAA+M,aAAA,CAAoCC,QAAQ,CAACjC,CAAD,CAAMjM,CAAN,CAAc,CACtD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO4M,EAAX,CACI,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CAPY,CAHkC,IAYlDwI,EAAQ1L,CAZ0C,CAalD8B,CAbkD,CAa/CqM,CACPrM,EAAA,CAAIoK,CAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAA6C,IAAA5M,SAA7C,CAAA,CAA4D,CAA5D,CACJ8O,EAAA,CAAIjP,CAAAwJ,kBAAA,CAA6B5G,CAA7B,CACJ9B;CAAA,EAAUmO,CAAV,CAAYrM,CACZ,KAAIsM,EAAa,IAAAzO,OAAAuD,WACblD,EAAJ,CAAaoO,CAAb,EACI,IAAAzK,OAAA,CAAY,CAACyK,CAAD,EAAe,CAAf,EAAoBpO,CAApB,CAA6BoO,CAA7B,CAA0CpO,CAAtD,CACJA,EAAA,EAAUmO,CAAV,CAAYrM,CACZ9B,EAAA,EAAU,IAAAiJ,cAAA,CAAmBnH,CAAnB,CAAsB9B,CAAtB,CACVkM,EAAAG,EAAA,CAAuBlM,CAAA,CAAa8L,CAAb,CAAvB,CAA0C,QAAQ,CAAC5C,CAAD,CAAI,CAClD,IAAAvJ,KAAAuD,SAAA,CAAmBrD,CAAA,EAAnB,CAA6BqJ,CAA7B,CADkD,CAAZiD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAItM,CAAJ,GAAe0L,CAAf,CAAqB5J,CAArB,CAAuBqM,CAAvB,CACI,KAAM,KAAI1O,UAAJ,CAAe,iCAAf,CAAiDO,CAAjD,CAAwD,MAAxD,EAAgEA,CAAhE,CAAuE8B,CAAvE,CAAyEqM,CAAzE,EAAN,CACJ,MAAI1K,EAAJ,EACI,IAAAzD,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0L,CA/BsC,CA2C1DxM,EAAAgC,UAAAmN,YAAA,CAAmCC,QAAQ,CAACtO,CAAD,CAAS,CAChD,IAAIyD,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf;AAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAH4B,IAU5CwG,EAAO,IAAAF,aAAA,CAAkBxJ,CAAlB,CAVqC,CAW5C0L,EAAQ1L,CAEZA,EAAA,EAAU0J,CAAA,OACV,KAAAA,EAAOA,CAAA,MAAP,CACI5H,EAAI9B,CAAJ8B,CAAa4H,CADjB,CAEI+C,EAAKjM,CAAA,EACT0L,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO1M,EAAA,CAAS8B,CAAT,CAAa,IAAAhC,KAAAyE,SAAA,CAAmBvE,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAXsM,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEkB,IAAApN,SAFlB,CAGA4M,EAAA,CAAMQ,CAAA,EACN,OAAIhJ,EAAJ,EACI,IAAAzD,OACOiM,CADOjM,CACPiM,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUjM,CAAV,CAAmB0L,CAFhB,CAzBqC,CA8CpDxM,EAAAgC,UAAAqN,OAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAS7M,CAAT,CAAmB5B,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAO4B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI5B,CACA,CADS4B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI4B,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOduL,CAAN,WAAwBvP,EAAxB,GACIuP,CADJ,CACavP,CAAA8C,KAAA,CAAgByM,CAAhB,CAAwB7M,CAAxB,CADb,CAEItB,EAAAA,CAASmO,CAAAvO,MAATI,CAAwBmO,CAAAzO,OAC5B,IAAc,CAAd,EAAIM,CAAJ,CAAiB,MAAO,KACxBN,EAAA,EAAUM,CACV,KAAIoO,EAAa,IAAA/O,OAAAuD,WACblD,EAAJ,CAAa0O,CAAb,EACI,IAAA/K,OAAA,CAAY,CAAC+K,CAAD,EAAe,CAAf,EAAoB1O,CAApB,CAA6B0O,CAA7B,CAA0C1O,CAAtD,CAEJoC,EAAA,IAAIF,UAAJ,CAAe,IAAAvC,OAAf,CADAK,CACA,CADUM,CACV,CAAA8B,KAAA,CAAwCC,CAAA,IAAIH,UAAJ,CAAeuM,CAAA9O,OAAf,CAAA0C,UAAA,CAAuCoM,CAAAzO,OAAvC,CAAsDyO,CAAAvO,MAAtD,CAAxC,CACAuO,EAAAzO,OAAA,EAAiBM,CACbmD,EAAJ,GAAc,IAAAzD,OAAd,EAA6BM,CAA7B,CACA,OAAO,KA1BsD,CAuCjEpB,EAAAgC,UAAAyN,SAAA,CAAgCC,QAAQ,CAACC,CAAD,CAAS7O,CAAT,CAAiB,CACrD6O,CAAAN,OAAA,CAAc,IAAd,CAAoBvO,CAApB,CACA,OAAO,KAF8C,CAYzDd,EAAAgC,UAAA4N,OAAA,CAA8BC,QAAQ,CAACD,CAAD,CAAS,CAC3C,IAAAzP,SAAA;AAAgB,CAACyP,CACjB,OAAO,KAFoC,CAU/C5P,EAAAgC,UAAA/B,SAAA,CAAgC6P,QAAQ,EAAG,CACvC,MAAO,KAAArP,OAAAuD,WADgC,CAU3ChE,EAAAgC,UAAA+N,MAAA,CAA6BC,QAAQ,EAAG,CACpC,IAAAlP,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAAuD,WACb,KAAAjD,aAAA,CAAqB,EACrB,OAAO,KAJ6B,CAcxCf,EAAAgC,UAAA6B,MAAA,CAA6BoM,QAAQ,CAACC,CAAD,CAAO,CACxC,IAAInN,EAAK,IAAI/C,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACL+P,EAAJ,EACQzP,CAGJ,CAHa,IAAIE,WAAJ,CAAgB,IAAAF,OAAAuD,WAAhB,CAGb,CAFAd,CAAA,IAAIF,UAAJ,CAAevC,CAAf,CAAAyC,KAAA,CAA2B,IAAAzC,OAA3B,CAEA,CADAsC,CAAAtC,OACA,CADYA,CACZ,CAAAsC,CAAAnC,KAAA,CAAU,IAAIC,QAAJ,CAAaJ,CAAb,CAJd,GAMIsC,CAAAtC,OACA,CADY,IAAAA,OACZ,CAAAsC,CAAAnC,KAAA,CAAU,IAAAA,KAPd,CASAmC,EAAAjC,OAAA,CAAY,IAAAA,OACZiC,EAAAhC,aAAA,CAAkB,IAAAA,aAClBgC,EAAA/B,MAAA,CAAW,IAAAA,MACX,OAAO+B,EAdiC,CA0B5C/C;CAAAgC,UAAAmO,QAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAIqM,CAAJ,EAAmBC,CAAnB,GAA2B,IAAA7P,OAAAuD,WAA3B,CACI,MAAO,KACX,KAAIuM,EAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ;AAAIE,CAAJ,CAMI,MALA,KAAA9P,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0CsP,CAG1C,EADP,IAAArP,MACO,CAFP,IAAAF,OAEO,CAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgB4P,CAAhB,CACbrN,EAAA,IAAIF,UAAJ,CAAevC,CAAf,CAAAyC,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAAvC,OAAf,CAAA0C,UAAA,CAAqCkN,CAArC,CAA4CC,CAA5C,CAA3B,CACA,KAAA7P,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACa,EAAzB,EAAI,IAAAM,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDsP,CAAjD,CACA,KAAAvP,OAAA,CAAc,CACd,KAAAE,MAAA,CAAauP,CACb,OAAO,KA/ByC,CA0CpDvQ,EAAAgC,UAAAkO,KAAA,CAA4BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN;AACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAUpB,GAAIqM,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAItQ,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdkC,KAezCF,EAAWqQ,CAAXrQ,CAAiBoQ,CAfwB,CAgBzCtN,EAAK,IAAI/C,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACT4C,EAAAjC,OAAA,CAAY,CACZiC,EAAA/B,MAAA,CAAWf,CACY,EAAvB,EAAI8C,CAAAhC,aAAJ,GAA0BgC,CAAAhC,aAA1B,EAA6CsP,CAA7C,CACA,KAAAI,OAAA,CAAY1N,CAAZ,CAAgB,CAAhB,CAAmBsN,CAAnB,CAA0BC,CAA1B,CACA,OAAOvN,EArBsC,CAoCjD/C,EAAAgC,UAAAyO,OAAA,CAA8BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAChFtM,CADgF,CAEhFuM,CACJ,IAAK3Q,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAA6C,aAAA,CAAwB8M,CAAxB,CADT,CAEQ,KAAM,KAAInP,SAAJ,CAAc,kCAAd,CAAN;AAERmQ,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAA7O,OAAzD,CAAyE6P,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAACrM,CAAD,CAAoC,WAApC,GAAY,MAAOqM,EAAnB,EAAmD,IAAA9P,OAAnD,CAAiE8P,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAA7P,MAArC,CAAkD6P,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAAlP,OAAAuD,WAAvC,CACI,KAAM,KAAIzD,UAAJ,CAAe,6BAAf,CAA6CoQ,CAA7C,CAA0D,MAA1D,CAAiEhB,CAAAlP,OAAAuD,WAAjE,CAAN,CACJ,GAAmB,CAAnB,CAAI4M,CAAJ,EAAwBC,CAAxB,CAAsC,IAAApQ,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,6BAAf,CAA6CqQ,CAA7C,CAA0D,MAA1D,CAAiE,IAAAnQ,OAAAuD,WAAjE,CAAN,CAEJ,IAAIuM,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEArN,EAAA,IAAIF,UAAJ,CAAe2M,CAAAlP,OAAf,CAAAyC,KAAA,CAAkCC,CAAA,IAAIH,UAAJ,CAAe,IAAAvC,OAAf,CAAA0C,UAAA,CAAqCyN,CAArC,CAAmDC,CAAnD,CAAlC,CAAmGF,CAAnG,CAEIpM,EAAJ,GAAc,IAAAzD,OAAd,EAA6ByP,CAA7B,CACIO;CAAJ,GAAoBnB,CAAA7O,OAApB,EAAqCyP,CAArC,CAEA,OAAO,KA3B6E,CAsCxFvQ,EAAAgC,UAAA+O,eAAA,CAAsCC,QAAQ,CAAC/Q,CAAD,CAAW,CACrD,IAAIgR,EAAU,IAAAxQ,OAAAuD,WACd,OAAIiN,EAAJ,CAAchR,CAAd,CACW,IAAAwE,OAAA,CAAY,CAACwM,CAAD,EAAY,CAAZ,EAAiBhR,CAAjB,CAA4BgR,CAA5B,CAAsChR,CAAlD,CADX,CAEO,IAJ8C,CAkBzDD,EAAAgC,UAAAkP,KAAA,CAA4BC,QAAQ,CAAC7M,CAAD,CAAQ+L,CAAR,CAAeC,CAAf,CAAoB,CACpD,IAAI/L,EAA4B,WAA5BA,GAAW,MAAO8L,EAClB9L,EAAJ,GAAc8L,CAAd,CAAsB,IAAAvP,OAAtB,CACqB,SAArB,GAAI,MAAOwD,EAAX,EAAgD,CAAhD,CAAiCA,CAAAlD,OAAjC,GACIkD,CADJ,CACYA,CAAAjD,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAOgP,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI9D,SAAJ,CAAc,iBAAd,CAAgC8D,CAAhC,CAAsC,mBAAtC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAO+L,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC;AAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CAXY,CAapB,GAAIqM,CAAJ,EAAaC,CAAb,CAAkB,MAAO,KACzB,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAA1P,KAAAuD,SAAA,CAAmBkM,CAAA,EAAnB,CAA4B/L,CAA5B,CAChBC,EAAJ,GACI,IAAAzD,OADJ,CACkBuP,CADlB,CAGA,OAAO,KAzB6C,CAkCxDrQ,EAAAgC,UAAAoP,KAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAArQ,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH4B,CAcvCd,EAAAgC,UAAAsP,KAAA,CAA4BC,QAAQ,CAACzQ,CAAD,CAAS,CACzCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC;AAA8CA,CACvD,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOpB,IAAAjD,aAAA,CAAoBD,CACpB,OAAO,KAVkC,CAkB7Cd,EAAAgC,UAAAwP,MAAA,CAA6BC,QAAQ,CAACvR,CAAD,CAAe,CAChD,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM,KAAIM,SAAJ,CAAc,qCAAd,CAAN,CAER,IAAAN,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANyC,CAepDF,EAAAgC,UAAA0P,GAAA,CAA0BC,QAAQ,CAACzR,CAAD,CAAe,CAC7C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP;AAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFsC,CAWjDF,EAAAgC,UAAA4P,GAAA,CAA0BC,QAAQ,CAACC,CAAD,CAAY,CAC1C,IAAA5R,aAAA,CAAyC,WAArB,GAAA,MAAO4R,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFmC,CAkB9C9R,EAAAgC,UAAA+P,QAAA,CAA+BC,QAAQ,CAACzC,CAAD,CAAS7M,CAAT,CAAmB5B,CAAnB,CAA2B,CAC9D,GAAwB,QAAxB,GAAI,MAAO4B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI5B,CACA,CADS4B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI4B,EAA6B,WAA7BA,GAAW,MAAOzD,EAClByD,EAAJ,GAAczD,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKX,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,kBAAd,CAAiCM,CAAjC,CAAwC,mBAAxC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuD,WAA/B,CACI,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuCO,CAAvC,CAAsD,WAAtD,CAA8D,IAAAL,OAAAuD,WAA9D,CAAN,CALY,CAOduL,CAAN,WAAwBvP,EAAxB;CACIuP,CADJ,CACavP,CAAA8C,KAAA,CAAgByM,CAAhB,CAAwB7M,CAAxB,CADb,CAEI6N,EAAAA,CAAMhB,CAAAvO,MAANuP,CAAqBhB,CAAAzO,OACzB,IAAW,CAAX,EAAIyP,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAanR,CAAjB,CACIoR,CACJ,IAAW,CAAX,CAAID,CAAJ,CAAc,CACV,IAAIxR,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAAuD,WAAhB,CAAyCiO,CAAzC,CACbC,EAAA,CAAY,IAAIlP,UAAJ,CAAevC,CAAf,CACZyR,EAAAhP,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe,IAAAvC,OAAf,CAAA0C,UAAA,CAAqCrC,CAArC,CAA6C,IAAAL,OAAAuD,WAA7C,CAAd,CAAoFuM,CAApF,CACA,KAAA9P,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACZ,KAAAK,OAAA,EAAemR,CACU,EAAzB,EAAI,IAAAlR,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDkR,CAAjD,CACA,KAAAjR,MAAA,EAAciR,CACdnR,EAAA,EAAUmR,CATA,CAAd,IAWIC,EAAA,CAAY,IAAIlP,UAAJ,CAAe,IAAAvC,OAAf,CAEhByR,EAAAhP,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAeuM,CAAA9O,OAAf,CAAA0C,UAAA,CAAuCoM,CAAAzO,OAAvC,CAAsDyO,CAAAvO,MAAtD,CAAd,CAAmFF,CAAnF,CAA4FyP,CAA5F,CACAhB,EAAAzO,OAAA,CAAgByO,CAAAvO,MACZuD,EAAJ,GACI,IAAAzD,OADJ,EACmByP,CADnB,CAEA,OAAO,KArCuD,CAmDlEvQ,EAAAgC,UAAAmQ,UAAA;AAAiCC,QAAQ,CAACzC,CAAD,CAAS7O,CAAT,CAAiB,CACtD6O,CAAAoC,QAAA,CAAe,IAAf,CAAqBjR,CAArB,CACA,OAAO,KAF+C,CAS1Dd,EAAAgC,UAAAqQ,WAAA,CAAkCC,QAAQ,CAACC,CAAD,CAAM,CACzB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAAC,IAAArF,KAAA,CAAiBoF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAArO,SAAA,EADJ,CAEI,yEAFJ,CAGI,IAAAwO,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF4C,CAehD1S,EAAAgC,UAAA2Q,UAAA,CAAiCC,QAAQ,EAAG,CACxC,MAAO,KAAA5R,MAAP,CAAoB,IAAAF,OADoB,CAW5Cd,EAAAgC,UAAA6Q,MAAA,CAA6BC,QAAQ,EAAG,CACX,CAAzB,EAAI,IAAA/R,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP6B,CAkBxCd,EAAAgC,UAAAyC,OAAA,CAA8BsO,QAAQ,CAAC9S,CAAD,CAAW,CAC7C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB;AAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAM,KAAIO,SAAJ,CAAc,oBAAd,CAAmCP,CAAnC,CAA4C,mBAA5C,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAM,KAAIM,UAAJ,CAAe,yBAAf,CAAyCN,CAAzC,CAAN,CALY,CAOhB,IAAAQ,OAAAuD,WAAJ,CAA6B/D,CAA7B,GACQQ,CAGJ,CAHa,IAAIE,WAAJ,CAAgBV,CAAhB,CAGb,CAFAiD,CAAA,IAAIF,UAAJ,CAAevC,CAAf,CAAAyC,KAAA,CAA2B,IAAIF,UAAJ,CAAe,IAAAvC,OAAf,CAA3B,CAEA,CADA,IAAAA,OACA,CADcA,CACd,CAAA,IAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CAJhB,CAMA,OAAO,KAdsC,CAuBjDT,EAAAgC,UAAAgR,QAAA,CAA+BC,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN;AACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAUpB,GAAIqM,CAAJ,GAAcC,CAAd,CACI,MAAO,KACXvO,MAAAC,UAAAgR,QAAAlP,KAAA,CAA6BX,CAAA,IAAIH,UAAJ,CAAe,IAAAvC,OAAf,CAAA0C,UAAA,CAAqCkN,CAArC,CAA4CC,CAA5C,CAA7B,CACA,KAAA1P,KAAA,CAAY,IAAIC,QAAJ,CAAa,IAAAJ,OAAb,CACZ,OAAO,KAjByC,CAyBpDT,EAAAgC,UAAAkR,KAAA,CAA4BC,QAAQ,CAAC/R,CAAD,CAAS,CACzC,GAAKjB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOiB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIZ,SAAJ,CAAc,kBAAd,CAAiCY,CAAjC,CAAwC,mBAAxC,CAAN;AACJA,CAAA,EAAU,CAHM,CAKpB,IAAIN,EAAS,IAAAA,OAATA,CAAuBM,CAC3B,IAAKjB,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQW,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAAuD,WAD/B,EAEQ,KAAM,KAAIzD,UAAJ,CAAe,uBAAf,CAAuC,IAAAO,OAAvC,CAAmD,KAAnD,CAAyDM,CAAzD,CAAgE,MAAhE,CAAuE,IAAAX,OAAAuD,WAAvE,CAAN,CAER,IAAAlD,OAAA,CAAcA,CACd,OAAO,KAZkC,CAsB7Cd,EAAAgC,UAAAoR,MAAA,CAA6BC,QAAQ,CAAChD,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN;AACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAUpB,IAAIjB,EAAK,IAAAc,MAAA,EACTd,EAAAjC,OAAA,CAAYuP,CACZtN,EAAA/B,MAAA,CAAWsP,CACX,OAAOvN,EAhBuC,CA2BlD/C,EAAAgC,UAAAsR,SAAA,CAAgCC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC5C1S,EAAS,IAAAA,OADmC,CAE5CE,EAAQ,IAAAA,MACZ,IAAIF,CAAJ,CAAaE,CAAb,CACI,IAAIyS,EAAI3S,CAAR,CACAA,EAASE,CADT,CAEAA,EAAQyS,CAEZ,IAAKtT,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOW,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM,KAAIN,SAAJ,CAAc,gCAAd,CAAN,CACJM,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAIR,SAAJ,CAAc,+BAAd,CAAN,CACJQ,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAAuD,WAA5C,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf;AAAsCO,CAAtC,CAA6C,MAA7C,CAAoDE,CAApD,CAA0D,MAA1D,CAAiE,IAAAP,OAAAuD,WAAjE,CAAN,CARY,CAYpB,GAAKwP,CAAAA,CAAL,EAA6B,CAA7B,GAAkB1S,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAAuD,WAA5C,CACI,MAAO,KAAAvD,OAEX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EAEPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACboC,EAAA,IAAIF,UAAJ,CAAevC,CAAf,CAAAyC,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAAvC,OAAf,CAAA0C,UAAA,CAAqCrC,CAArC,CAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EA5ByC,CA0CpDT,EAAAgC,UAAA0R,cAAA,CAAqC1T,CAAAgC,UAAAsR,SAYrCtT,EAAAgC,UAAAkC,SAAA,CAAgCyP,QAAQ,CAACjR,CAAD,CAAW,CAC/C,GAAwB,WAAxB,GAAI,MAAOA,EAAX,CACI,MAAO,sBAAP,CAA8B,IAAA5B,OAA9B,CAA0C,gBAA1C,CAA2D,IAAAC,aAA3D,CAA6E,SAA7E,CAAuF,IAAAC,MAAvF,CAAkG,YAAlG,CAA+G,IAAAf,SAAA,EAA/G,CAA+H,GACnI,QAAQyC,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAAkR,OAAA,EACX;KAAK,QAAL,CACI,MAAO,KAAAC,SAAA,EACX,MAAK,KAAL,CACI,MAAO,KAAAC,MAAA,EACX,MAAK,QAAL,CACI,MAAO,KAAAC,SAAA,EACX,MAAK,OAAL,CACI,MAAO,KAAArB,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAsB,EAAA,EACX,SACI,KAAUvH,MAAJ,CAAU,wBAAV,CAAmC/J,CAAnC,CAAN,CAdR,CAH+C,CA4BnD,KAAIuR,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA,EAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG,CAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb,CAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC,CAGsC,GAHtC,CAG2C,GAH3C,CAGgD,GAHhD,CAGqD,GAHrD,CAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBShT,EAAE,CApBX,CAoBcyB,EAAEsR,CAAA9S,OAAhB,CAA6BD,CAA7B,CAA+ByB,CAA/B,CAAkC,EAAEzB,CAApC,CACIgT,CAAA,CAAID,CAAA,CAAK/S,CAAL,CAAJ,CAAA;AAAeA,CASnB8S,EAAAG,EAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzBpK,CADyB,CACtBsJ,CACP,CAAuB,IAAvB,IAAQtJ,CAAR,CAAYmK,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAM/J,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADAsJ,CACA,EADKtJ,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASmK,CAAA,EAAT,GACIb,CAGA,EAHMtJ,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFAoK,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUtJ,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADAsJ,CACA,EADKtJ,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASmK,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUtJ,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAAoK,CAAA,CAAIL,CAAA,CAAK/J,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAIIoK,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAc,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAc,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAO,EAAA,CAAcC,QAAQ,CAACH,CAAD,CAAMC,CAAN,CAAW,CAE7BG,QAASA,EAAI,CAACC,CAAD,CAAI,CACb,KAAMlI,MAAA,CAAM,0BAAN,CAAiCkI,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB,CACtBC,CADsB,CAClBC,CAIX,CAAuB,IAAvB,IAAQF,CAAR,CAAYL,CAAA,EAAZ,EAAA,CAGI,GAFAM,CAEI,CAFCT,CAAA,CAAIQ,CAAJ,CAED,CADc,WACd,GADA,MAAOC,EACP,EAD2BF,CAAA,CAAKC,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKL,CAAA,EAAL,IACAO,CAGI,CAHCV,CAAA,CAAIQ,CAAJ,CAGD,CAFc,WAEd,GAFA,MAAOE,EAEP,EAF2BH,CAAA,CAAKC,CAAL,CAE3B,CADJJ,CAAA,CAAKK,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAACF,CAAD,CAAKL,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBM,CAAA,CAAKT,CAAA,CAAIQ,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOC,EAAX,CACI,GAAU,EAAV;AAAID,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BJ,EAAA,EAAMM,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKD,CAAL,CAASL,CAAA,EAAT,EAA0B,CACtBO,CAAA,CAAKV,CAAA,CAAIQ,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOE,EAAX,CACI,GAAU,EAAV,GAAIF,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BJ,EAAA,EAAMK,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCZ,EAAAa,KAAA,CAAYC,QAAQ,CAAChI,CAAD,CAAM,CACtB,MAAO,kEAAA+H,KAAA,CAAwE/H,CAAxE,CADe,CAI1B,OAAOkH,EAxGW,CAAX,EAoHXjU,EAAAgC,UAAA6R,SAAA,CAAgCmB,QAAQ,CAAC3E,CAAD,CAAQC,CAAR,CAAa,CAC5B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX;AAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAUpB,IAAIuJ,CAAI0G,EAAAG,EAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO/D,EAAA,CAAQC,CAAR,CAAc,IAAA1P,KAAAyE,SAAA,CAAmBgL,CAAA,EAAnB,CAAd,CAA4C,IADxB,CAAXjD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWjM,CAAA,EAFX,CAGR,OAAOiM,EAAA,EAhB0C,CA6BrDvN,EAAAwD,WAAA,CAAwByR,QAAQ,CAAClI,CAAD,CAAM7M,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO4M,EAAX,CACI,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAuB,CAAvB,GAAIuM,CAAA3L,OAAJ,CAAiB,CAAjB,CACI,KAAM,KAAIZ,SAAJ,CAAc,yCAAd,CAAN,CAJO,CAD2C,IAOtDuC,EAAK,IAAI/C,CAAJ,CAAe+M,CAAA3L,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BlB,CAA/B,CAA6CC,CAA7C,CAPiD;AAQtDgB,EAAI,CACR8S,EAAAO,EAAA,CAAYvT,CAAA,CAAa8L,CAAb,CAAZ,CAA+B,QAAQ,CAAC5C,CAAD,CAAI,CACvCpH,CAAAnC,KAAAuD,SAAA,CAAiBhD,CAAA,EAAjB,CAAsBgJ,CAAtB,CADuC,CAA3C,CAGApH,EAAA/B,MAAA,CAAWG,CACX,OAAO4B,EAbmD,CAuB9D/C,EAAAkV,KAAA,CAAkBC,QAAQ,CAACpI,CAAD,CAAM,CAC5B,MAAO/M,EAAA0D,WAAA,CAAsBqJ,CAAtB,CAAA8G,SAAA,EADqB,CAWhC7T,EAAAoV,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAOtV,EAAAwD,WAAA,CAAsB8R,CAAtB,CAAAvB,SAAA,EADqB,CAchC/T,EAAAgC,UAAA+R,SAAA,CAAgCwB,QAAQ,CAAClF,CAAD,CAAQC,CAAR,CAAa,CACjDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAvP,OAA/B,CAA6CuP,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAAtP,MAA7B,CAA0CsP,CAChD,IAAKnQ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB;AAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAUpB,GAAIqM,CAAJ,GAAcC,CAAd,CAAmB,MAAO,EAE1B,KADA,IAAIiC,EAAM,EACV,CAAOlC,CAAP,CAAeC,CAAf,CAAA,CACIiC,CAAAzQ,KAAA,CAAS,IAAAlB,KAAAyE,SAAA,CAAmBgL,CAAA,EAAnB,CAAT,CACJ,OAAOxO,OAAAO,aAAAR,MAAA,CAA0BC,MAA1B,CAAkC0Q,CAAlC,CAjB0C,CA8BrDvS,EAAA0D,WAAA,CAAwB8R,QAAQ,CAACzI,CAAD,CAAM7M,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO4M,EADf,CAEQ,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CAIR,IAP0D,IAKtDW,EAAI,CALkD,CAK/CyB,EAAImK,CAAA3L,OAL2C,CAMtD2B,EAAK,IAAI/C,CAAJ,CAAe4C,CAAf,CAAkB1C,CAAlB,CAAgCC,CAAhC,CACT,CAAOgB,CAAP,CAASyB,CAAT,CAAA,CAAY,CACR6S,CAAA,CAAW1I,CAAA1L,WAAA,CAAeF,CAAf,CACX,IAAKhB,CAAAA,CAAL,EAA4B,GAA5B,CAAiBsV,CAAjB,CACI,KAAM,KAAIjV,SAAJ,CAAc,sBAAd,CAAqCW,CAArC,CAAuC,SAAvC,CAAiDsU,CAAjD,CAA0D,SAA1D,CAAN,CACJ1S,CAAAnC,KAAAuD,SAAA,CAAiBhD,CAAA,EAAjB,CAAsBsU,CAAtB,CAJQ,CAMZ1S,CAAA/B,MAAA;AAAW4B,CACX,OAAOG,EAdmD,CAoC9D/C,EAAAgC,UAAA0Q,QAAA,CAA+BgD,QAAQ,CAACC,CAAD,CAAU,CAO7C,IAP6C,IACzCxU,EAAK,EADoC,CAEzCyB,EAAI,IAAAnC,OAAAuD,WAFqC,CAGzCmG,CAHyC,CAIzCyL,EAAM,EAJmC,CAKzCC,EAAM,EALmC,CAMzCtD,EAAM,EACV,CAAOpR,CAAP,CAASyB,CAAT,CAAA,CAAY,CACG,EAAX,GAAIzB,CAAJ,GACIgJ,CAGA,CAHI,IAAAvJ,KAAAyE,SAAA,CAAmBlE,CAAnB,CAGJ,CAFcyU,CAEd,CAFQ,EAAR,CAAIzL,CAAJ,CAAcyL,CAAd,EAAqB,GAArB,CAAyBzL,CAAAjG,SAAA,CAAW,EAAX,CAAA4R,YAAA,EAAzB,EACKF,CADL,CACYzL,CAAAjG,SAAA,CAAW,EAAX,CAAA4R,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAA1L,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoBtI,MAAAO,aAAA,CAAoB+H,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAQA,GAAEhJ,CACF,IAAIwU,CAAJ,EACY,CADZ,CACQxU,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCyB,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAOgT,CAAAxU,OAAP,CAAA,CAA4BwU,CAAA,EAAO,GACnCrD,EAAA,EAAOqD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADAzU,CAAJ,GAAU,IAAAL,OAAV,EAAyBK,CAAzB,GAA+B,IAAAH,MAA/B,CACI4U,CADJ,EACWzU,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESI,CAAJ,GAAU,IAAAL,OAAV,CACD8U,CADC,EACMzU,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEII,CAAJ,GAAU,IAAAH,MAAV,CACD4U,CADC,EACMzU,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC;AAGD6U,CAHC,EAGMzU,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAiC4U,CAAA,EAAkB,CAAlB,GAAYxU,CAAZ,EAAuBA,CAAvB,GAA6ByB,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAI+S,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAAxU,OAAP,CAAA,CAA4BwU,CAAA,EAAO,GACnCrD,EAAA,EAAOqD,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUpD,CAAV,CAAgBqD,CArCsB,CAmDjD5V,EAAA4D,UAAA,CAAuBmS,QAAQ,CAAChJ,CAAD,CAAM7M,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrDyC,EAAImK,CAAA3L,OACJ2B,EAAAA,CAAK,IAAI/C,CAAJ,EAAiB4C,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B1C,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrDgB,EAAI,CAHiD,CAG9C6U,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD3B,EAAO,CAAA,CACX,CAAOvT,CAAP,CAASyB,CAAT,CAAA,CAAY,CACR,OAAQqT,CAAR,CAAalJ,CAAAuJ,OAAA,CAAWnV,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAKhB,CAAAA,CAAL,CAAe,CACX,GAAIgW,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB3B,CAAA,CAAO,CAAA,CAAM,MADG,CAGpByB,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMftT,CAAAjC,OAAA,CAAYiC,CAAAhC,aAAZ,CAA8BgC,CAAA/B,MAA9B,CAAyCgV,CACzCE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/V,CAAAA,CAAL,CAAe,CACX,GAAIgW,CAAJ,EAAUE,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CAAM,MADH,CAGdyB,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMftT,CAAAjC,OAAA,CAAYiC,CAAA/B,MAAZ,CAAuBgV,CACvBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/V,CAAAA,CAAL,CAAe,CACX,GAAIgW,CAAJ,EAAUC,CAAV,CAAc,CACV1B,CAAA,CAAO,CAAA,CAAM,MADH,CAGdyB,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMfrT,CAAAjC,OAAA,CAAYiC,CAAAhC,aAAZ,CAA8BiV,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ;KAAK,GAAL,CACI,GAAK/V,CAAAA,CAAL,CAAe,CACX,GAAIgW,CAAJ,CAAQ,CACJzB,CAAA,CAAO,CAAA,CAAM,MADT,CAGRyB,CAAA,CAAK,CAAA,CAJM,CAMfpT,CAAAjC,OAAA,CAAYkV,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/V,CAAAA,CAAL,CAAe,CACX,GAAIkW,CAAJ,EAAUD,CAAV,CAAc,CACV1B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd2B,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMfrT,CAAA/B,MAAA,CAAW+B,CAAAhC,aAAX,CAA6BiV,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/V,CAAAA,CAAL,CAAe,CACX,GAAIkW,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR2B,CAAA,CAAK,CAAA,CAJM,CAMftT,CAAA/B,MAAA,CAAWgV,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/V,CAAAA,CAAL,CAAe,CACX,GAAIiW,CAAJ,CAAQ,CACJ1B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR0B,CAAA,CAAK,CAAA,CAJM,CAMfrT,CAAAhC,aAAA,CAAkBiV,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAK/V,CAAAA,CAAL,EACQ+V,CADR,CACY,CACJxB,CAAA,CAAO,CAAA,CAAM,MADT,CAIZvK,CAAA,CAAIoM,QAAA,CAASN,CAAT,CAAYlJ,CAAAuJ,OAAA,CAAWnV,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAKhB,CAAAA,CAAL,GACQqW,KAAA,CAAMrM,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAM,KAAI3J,SAAJ,CAAc,yCAAd,CAAN,CAERuC,CAAAnC,KAAAuD,SAAA,CAAiB6R,CAAA,EAAjB,CAAsB7L,CAAtB,CACA+L,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAIxB,CAAJ,CACI,KAAM,KAAIlU,SAAJ,CAAc,iCAAd;AAAgDW,CAAhD,CAAN,CA1FI,CA4FZ,GAAKhB,CAAAA,CAAL,CAAe,CACX,GAAKgW,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAM,KAAI7V,SAAJ,CAAc,sCAAd,CAAN,CACJ,GAAIwV,CAAJ,CAAMjT,CAAAtC,OAAAuD,WAAN,CACI,KAAM,KAAIxD,SAAJ,CAAc,uDAAd,CAAsEwV,CAAtE,CAAwE,KAAxE,CAA8EpT,CAA9E,CAAN,CAJO,CAMf,MAAOG,EAzGkD,CAqH7D/C,EAAAgC,UAAA8R,MAAA,CAA6B2C,QAAQ,CAACpG,CAAD,CAAQC,CAAR,CAAa,CAC9CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAvP,OAA/B,CAA6CuP,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAAtP,MAA7B,CAA0CsP,CAChD,IAAKnQ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN;AACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD,CAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAYpB,IAf8C,IAa1CuO,EAAUxQ,KAAJ,CAAUuO,CAAV,CAAgBD,CAAhB,CAboC,CAc1ClG,CACJ,CAAOkG,CAAP,CAAeC,CAAf,CAAA,CACInG,CACA,CADI,IAAAvJ,KAAAyE,SAAA,CAAmBgL,CAAA,EAAnB,CACJ,CAAQ,EAAR,CAAIlG,CAAJ,CAAcoI,CAAAzQ,KAAA,CAAS,GAAT,CAAcqI,CAAAjG,SAAA,CAAW,EAAX,CAAd,CAAd,CACKqO,CAAAzQ,KAAA,CAASqI,CAAAjG,SAAA,CAAW,EAAX,CAAT,CAET,OAAOqO,EAAA7Q,KAAA,CAAS,EAAT,CApBuC,CAiClD1B,EAAAyD,QAAA,CAAqBiT,QAAQ,CAAC3J,CAAD,CAAM7M,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO4M,EAAX,CACI,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CACJ,GAAuB,CAAvB,GAAIuM,CAAA3L,OAAJ,CAAiB,CAAjB,CACI,KAAM,KAAIZ,SAAJ,CAAc,yCAAd,CAAN,CAJO,CADwC,IAOnDoC,EAAImK,CAAA3L,OACJ2B,EAAAA,CAAK,IAAI/C,CAAJ,CAAgB4C,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4B1C,CAA5B,CAET,KAHA,IAEIiK,CAFJ,CAGShJ,EAAE,CAHX,CAGc6U,EAAE,CAAhB,CAAmB7U,CAAnB,CAAqByB,CAArB,CAAwBzB,CAAxB;AAA2B,CAA3B,CAA8B,CAC1BgJ,CAAA,CAAIoM,QAAA,CAASxJ,CAAA4J,UAAA,CAAcxV,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAKhB,CAAAA,CAAL,GACS,CAAAyW,QAAA,CAASzM,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAM,KAAI3J,SAAJ,CAAc,0CAAd,CAAN,CAERuC,CAAAnC,KAAAuD,SAAA,CAAiB6R,CAAA,EAAjB,CAAsB7L,CAAtB,CAN0B,CAQ9BpH,CAAA/B,MAAA,CAAWgV,CACX,OAAOjT,EAnBgD,CA6B3D,KAAIiK,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,EAAgB,OAPV,CAeN,EAAa6J,QAAQ,CAACvC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAI3F,EAAK,IACU,SAAnB,GAAI,MAAO0F,EAAX,GACI1F,CACA,CADK0F,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAO1F,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4B0F,CAAA,EAA5B,EAAA,CACa,GAAT,CAAI1F,CAAJ,CACI2F,CAAA,CAAI3F,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACD2F,CAAA,CAAM3F,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ,CACD2F,CAAA,CAAM3F,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKD2F,CAAA,CAAM3F,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAA2F,CAAA,CAAM3F,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAA2F,CAAA,CAAM3F,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAA2F,CAAA,CAAK3F,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA,CAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,EAAakI,QAAQ,CAACxC,CAAD,CAAMC,CAAN,CAAW,CACVG,QAAA,EAAQ,CAACvK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAAiJ,MAAA,CAAQ,CAAR,CAAWjJ,CAAA4M,QAAA,CAAU,IAAV,CAAX,CACJ;IAAIC,EAAMvK,KAAA,CAAMtC,CAAAjG,SAAA,EAAN,CACV8S,EAAAC,KAAA,CAAW,gBACXD,EAAA,MAAA,CAAe7M,CACf,MAAM6M,EAAN,CAL+B,CAOnC,IARiC,IAC7BE,CAD6B,CAC1B/M,CAD0B,CACvBwK,CADuB,CACpBwC,CAOb,CAAuB,IAAvB,IAAQD,CAAR,CAAY5C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAK4C,CAAL,CAAO,GAAP,EACI3C,CAAA,CAAI2C,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADE/M,CACF,CADMmK,CAAA,EACN,GAD0BI,CAAA,CAAK,CAACwC,CAAD,CAAI/M,CAAJ,CAAL,CAC1B,CAAAoK,CAAA,EAAM2C,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqB/M,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAK+M,CAAL,CAAO,GAAP,EACc,IACf,IADE/M,CACF,CADImK,CAAA,EACJ,GADqC,IACrC,IADwBK,CACxB,CAD0BL,CAAA,EAC1B,GAD8CI,CAAA,CAAK,CAACwC,CAAD,CAAI/M,CAAJ,CAAOwK,CAAP,CAAL,CAC9C,CAAAJ,CAAA,EAAM2C,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuB/M,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCwK,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAKuC,CAAL,CAAO,GAAP,EACc,IACf,IADE/M,CACF,CADImK,CAAA,EACJ,GADqC,IACrC,IADwBK,CACxB,CAD0BL,CAAA,EAC1B,GAD2D,IAC3D,IAD8C6C,CAC9C,CADgD7C,CAAA,EAChD,GADoEI,CAAA,CAAK,CAACwC,CAAD,CAAI/M,CAAJ,CAAOwK,CAAP,CAAUwC,CAAV,CAAL,CACpE,CAAA5C,CAAA,EAAM2C,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuB/M,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCwK,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDwC,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAM5W,WAAA,CAAW,yBAAX,CAAqC2W,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,EAAcE,QAAQ,CAAC9C,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9B8C,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP;AAAAC,CAAA,CAAcA,CAAd,CAAmBhD,CAAA,EADjC,EAAA,CAGc,KAAV,EAAI+C,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACchD,CAAA,EADd,GAEkB,KAFlB,EAEYgD,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGY/C,CAAA,CAAgB,IAAhB,EAAK8C,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQA/C,CAAA,CAAI8C,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiB/C,CAAA,CAAI+C,CAAJ,CAfiB,CA/E3B,CAwGN,EAAcC,QAAQ,CAACjD,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAI3F,EAAK,IACU,SAAnB,GAAI,MAAO0F,EAAX,GACI1F,CAAU,CAAL0F,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAO1F,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4B0F,CAAA,EAA5B,EAAA,CACc,KAAV,EAAI1F,CAAJ,CACI2F,CAAA,CAAI3F,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADA2F,CAAA,EAAK3F,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAA2F,CAAA,CAAK3F,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,EAAoB4I,QAAQ,CAAClD,CAAD,CAAMC,CAAN,CAAW,CACxCvH,CAAAyK,EAAA,CAAiBnD,CAAjB,CAAsB,QAAQ,CAAC1F,CAAD,CAAK,CAC/B5B,CAAA0K,EAAA,CAAgB9I,CAAhB,CAAoB2F,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,EAAoBoD,QAAQ,CAACrD,CAAD,CAAMC,CAAN,CAAW,CACxCvH,CAAA2B,EAAA,CAAgB2F,CAAhB,CAAqB,QAAQ,CAAC1F,CAAD,CAAK,CAC9B5B,CAAA6B,EAAA,CAAiBD,CAAjB,CAAqB2F,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,EAAqBqD,QAAQ,CAAChJ,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,EAAgBiJ,QAAQ,CAACvD,CAAD,CAAM,CAE/B,IAF+B,IAC3B1F,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAa0F,CAAA,EAAb,EAAA,CACIrF,CAAA,EAAKjC,CAAA8K,EAAA,CAAwBlJ,CAAxB,CACT;MAAOK,EAJwB,CAhKxB,CA6KN,EAAuB8I,QAAQ,CAACzD,CAAD,CAAM,CAAA,IAClC1K,EAAE,CADgC,CAC7BqF,EAAE,CACXjC,EAAAyK,EAAA,CAAiBnD,CAAjB,CAAsB,QAAQ,CAAC1F,CAAD,CAAK,CAC/B,EAAEhF,CAAGqF,EAAA,EAAKjC,CAAA8K,EAAA,CAAwBlJ,CAAxB,CADqB,CAAnC,CAGA,OAAO,CAAChF,CAAD,CAAGqF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOjC,EA7LW,CAAX,EAyMXhN,EAAAgC,UAAA4R,OAAA,CAA8BoE,QAAQ,CAAC3H,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvP,OAA1C,CACmB,YAAnB,GAAI,MAAOwP,EAAX,GAAgCA,CAAhC,CAAsC,IAAAtP,MAAtC,CACA,IAAKb,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOkQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM,KAAI7P,SAAJ,CAAc,+BAAd,CAAN,CACJ6P,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAM,KAAI9P,SAAJ,CAAc,6BAAd,CAAN,CACJ8P,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA7P,OAAAuD,WAAtC,CACI,KAAM,KAAIzD,UAAJ,CAAe,sBAAf,CAAsC8P,CAAtC,CAA4C,MAA5C,CAAmDC,CAAnD;AAAuD,MAAvD,CAA8D,IAAA7P,OAAAuD,WAA9D,CAAN,CARY,CAH2B,IAa3CjB,EAAK,IAbsC,CAahCwK,CAAI,IAAI,CACnBP,CAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO6C,EAAA,CAAQC,CAAR,CAAcvN,CAAAnC,KAAAyE,SAAA,CAAiBgL,CAAA,EAAjB,CAAd,CAA0C,IADnB,CAAlC,CAEG9C,CAFH,CAEQjM,CAAA,EAFR,CADmB,CAIrB,MAAO2W,CAAP,CAAU,CACR,GAAI5H,CAAJ,GAAcC,CAAd,CACI,KAAM,KAAI/P,UAAJ,CAAe,iCAAf,CAAiD8P,CAAjD,CAAuD,MAAvD,CAA8DC,CAA9D,CAAN,CAFI,CAIZ,MAAO/C,EAAA,EArBwC,CAkCnDvN,EAAA2D,SAAA,CAAsBuU,QAAQ,CAACnL,CAAD,CAAM7M,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO4M,EADf,CAEQ,KAAM,KAAIvM,SAAJ,CAAc,2BAAd,CAAN,CAHgD,IAKpDuC,EAAK,IAAI/C,CAAJ,CAAegN,CAAAC,EAAA,CAA0BhM,CAAA,CAAa8L,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsE7M,CAAtE,CAAoFC,CAApF,CAL+C,CAMpDgB,EAAI,CACR6L,EAAAG,EAAA,CAAuBlM,CAAA,CAAa8L,CAAb,CAAvB,CAA0C,QAAQ,CAAC5C,CAAD,CAAI,CAClDpH,CAAAnC,KAAAuD,SAAA,CAAiBhD,CAAA,EAAjB,CAAsBgJ,CAAtB,CADkD,CAAtD,CAGApH,EAAA/B,MAAA,CAAWG,CACX,OAAO4B,EAXiD,CAe5D,OAAO/C,EAvoGmB,CA0oGO,WAAtB,GAAI,MAAOmY,OAAX,EAAqCA,MAAA,QAArC,CACXA,MAAA,QADW,CACSrY,CAAA,CAAesY,OAAA,CAAQ,MAAR,CAAf,CADT,CAEsB,UAAtB;AAAI,MAAOC,OAAX,EAAoCA,MAAA,IAApC,CACXA,MAAA,CAAO,YAAP,CAAqB,CAAC,MAAD,CAArB,CAA+B,QAAQ,CAACtY,CAAD,CAAO,CAAE,MAAOD,EAAA,CAAeC,CAAf,CAAT,CAA9C,CADW,CAGX,CAACF,CAAA,QAAD,CAAqBA,CAAA,QAArB,EAA0C,EAA1C,YAHW,CAGmDC,CAAA,CAAeD,CAAA,QAAA,KAAf,CAvpGpD,CAAjB,CAAD,CAypGG,IAzpGH;", "sources":["dist/ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","i","k","length","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","prototype","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","getUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","start","Error","fromBits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","str","charCodeAt","utfx","calculateUTF16asUTF8","stringSource","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBuffer.prototype.readCString","sd","decodeUTF8toUTF16","stringDestination","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","out","console","log","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","Array","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","B64","ByteBuffer.prototype.toBase64","b1","b2","b3","h2","h3","o1","o2","o3","o4","charAt","ByteBuffer.fromBase64","suffix","b4","j","indexOf","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","push","String","fromCharCode","apply","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","ch","rs","ho","hm","hl","fail","parseInt","isNaN","ByteBuffer.prototype.toHex","join","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","src","dst","utfx.decodeUTF8","err","name","a","c","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","stringFromCharCode","utfx.stringSource","s","utfx.stringDestination","cs","ps","arguments","ByteBuffer.prototype.toUTF8","e","ByteBuffer.fromUTF8","module","require","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","TypeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBuffer.prototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBuffer.prototype.readInt8","getInt8","readByte","writeUint8","ByteBuffer.prototype.writeUint8","capacity1","readUint8","ByteBuffer.prototype.readUint8","getUint8","writeInt16","ByteBuffer.prototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBuffer.prototype.readInt16","getInt16","readShort","writeUint16","ByteBuffer.prototype.writeUint16","capacity3","setUint16","readUint16","ByteBuffer.prototype.readUint16","getUint16","writeInt32","ByteBuffer.prototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBuffer.prototype.readInt32","getInt32","readInt","writeUint32","ByteBuffer.prototype.writeUint32","capacity5","setUint32","readUint32","ByteBuffer.prototype.readUint32","getUint32","writeInt64","ByteBuffer.prototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBuffer.prototype.readInt64","readLong","writeUint64","ByteBuffer.prototype.writeUint64","capacity7","readUint64","ByteBuffer.prototype.readUint64","writeFloat32","ByteBuffer.prototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBuffer.prototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBuffer.prototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBuffer.prototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBuffer.prototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBuffer.prototype.writeVarint32ZigZag","readVarint32","ByteBuffer.prototype.readVarint32","temp","readVarint32ZigZag","ByteBuffer.prototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBuffer.prototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBuffer.prototype.writeVarint64ZigZag","readVarint64","ByteBuffer.prototype.readVarint64","start","Error","fromBits","readVarint64ZigZag","ByteBuffer.prototype.readVarint64ZigZag","writeCString","ByteBuffer.prototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBuffer.prototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBuffer.prototype.writeIString","capacity13","readIString","ByteBuffer.prototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBuffer.prototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBuffer.prototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBuffer.prototype.writeVString","l","capacity15","readVString","ByteBuffer.prototype.readVString","append","ByteBuffer.prototype.append","source","capacity16","appendTo","ByteBuffer.prototype.appendTo","target","assert","ByteBuffer.prototype.assert","ByteBuffer.prototype.capacity","clear","ByteBuffer.prototype.clear","ByteBuffer.prototype.clone","copy","compact","ByteBuffer.prototype.compact","begin","end","len","ByteBuffer.prototype.copy","copyTo","ByteBuffer.prototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBuffer.prototype.ensureCapacity","current","fill","ByteBuffer.prototype.fill","flip","ByteBuffer.prototype.flip","mark","ByteBuffer.prototype.mark","order","ByteBuffer.prototype.order","LE","ByteBuffer.prototype.LE","BE","ByteBuffer.prototype.BE","bigEndian","prepend","ByteBuffer.prototype.prepend","diff","arrayView","prependTo","ByteBuffer.prototype.prependTo","printDebug","ByteBuffer.prototype.printDebug","out","console","log","toDebug","remaining","ByteBuffer.prototype.remaining","reset","ByteBuffer.prototype.reset","ByteBuffer.prototype.resize","reverse","ByteBuffer.prototype.reverse","skip","ByteBuffer.prototype.skip","slice","ByteBuffer.prototype.slice","toBuffer","ByteBuffer.prototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBuffer.prototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBuffer.prototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBuffer.prototype.toBinary","ByteBuffer.fromBinary","charCode","ByteBuffer.prototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBuffer.prototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","err","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBuffer.prototype.toUTF8","e","ByteBuffer.fromUTF8","module","require","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 3cd87af..9d7c475 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.2.3"; + ByteBuffer.VERSION = "3.3.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -166,6 +166,44 @@ module.exports = (function() { */ var EMPTY_BUFFER = new Buffer(0); + /** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ + var stringFromCharCode = String.fromCharCode; + + /** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ + function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + } + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + /** * Allocates a new ByteBuffer backed by a buffer of the specified capacity. * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. @@ -1776,7 +1814,7 @@ module.exports = (function() { * @expose */ ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[0]; + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; }; /** @@ -1826,7 +1864,7 @@ module.exports = (function() { temp, sd; if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = utfx.stringDestination(); + sd = stringDestination(); utfx.decodeUTF8(function() { return i < length && offset < this.limit ? this.buffer[offset++] : null; }.bind(this), function(cp) { @@ -2638,7 +2676,7 @@ module.exports = (function() { if (begin < 0 || begin > end || end > this.buffer.length) throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } - return this.buffer.slice(begin, end).toString("base64"); + return this.buffer.toString("base64", begin, end); }; /** @@ -2720,7 +2758,7 @@ module.exports = (function() { if (begin < 0 || begin > end || end > this.buffer.length) throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } - return this.buffer.slice(begin, end).toString("binary"); + return this.buffer.toString("binary", begin, end); }; /** @@ -2945,7 +2983,7 @@ module.exports = (function() { if (begin < 0 || begin > end || end > this.buffer.length) throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } - return this.buffer.slice(begin, end).toString("hex"); + return this.buffer.toString("hex", begin, end); }; /** @@ -3170,42 +3208,6 @@ module.exports = (function() { return utfx; }(); - /** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ - var stringFromCharCode = String.fromCharCode; - - /** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - */ - utfx.stringSource = function(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; - }; - - /** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - */ - utfx.stringDestination = function() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; - }; - // encodings/utf8 /** diff --git a/package.json b/package.json index 6045f07..d1f9a24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.2.3", + "version": "3.3.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -19,6 +19,7 @@ }, "devDependencies": { "utfx": "~1", + "lxiv": "~0.2", "testjs": "~1", "metascript": "~0", "closurecompiler": "~1" diff --git a/src/encodings/base64.js b/src/encodings/base64.js index fd67ed3..50a1cc1 100644 --- a/src/encodings/base64.js +++ b/src/encodings/base64.js @@ -1,15 +1,11 @@ //? if (BASE64) { -// encodings/base64 //? if (!NODE) { +// lxiv-embeddable + +//? include("../../node_modules/lxiv/dist/lxiv-embeddable.js"); -/** - * Base64 alphabet. - * @type {string} - * @inner - */ -var B64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; -B64 = B64+""; // Prevent CC from inlining this //? } +// encodings/base64 /** * Encodes this ByteBuffer's contents to a base64 encoded string. @@ -25,28 +21,12 @@ ByteBuffer.prototype.toBase64 = function(begin, end) { //? ASSERT_RANGE(); } //? if (NODE) - return this.buffer.slice(begin, end).toString("base64"); + return this.buffer.toString("base64", begin, end); //? else { - if (begin === end) return ""; - var b1, b2, b3, // input bytes - h2, h3, // has input? - o1, o2, o3, o4, // output bytes - out = ""; // output - while (begin < end) { - b1 = this.view.getUint8(begin++); - b2 = (h2 = begin < end) ? this.view.getUint8(begin++) : 0; - b3 = (h3 = begin < end) ? this.view.getUint8(begin++) : 0; - o1 = b1 >> 2; - o2 = ((b1 & 0x03) << 4) | (b2 >> 4); - o3 = ((b2 & 0x0F) << 2) | (b3 >> 6); - o4 = b3 & 0x3F; - if (!h3) { - o4 = 64; - if (!h2) o3 = 64; - } - out += B64.charAt(o1) + B64.charAt(o2) + B64.charAt(o3) + B64.charAt(o4); - } - return out; + var sd; lxiv.encode(function() { + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); + return sd(); //? } }; @@ -74,38 +54,12 @@ ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { bb.view = new BufferView(bb.buffer); bb.limit = bb.buffer.length; //? } else { - var len = str.length, - suffix = 0, - i, j; - for (i=str.length-1; i>=0; --i) { - if (str.charAt(i) === '=') suffix++; - else break; - } - if (suffix > 2) - throw new TypeError("Illegal str: Suffix is too large"); - if (len === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var b1, b2, b3, b4, // input bytes - h2, h3, h4, // has input? - bb = new ByteBuffer(len/4*3-suffix, littleEndian, noAssert); - for (i=0, j=0; i> 4)); - if (b3 !== 64) { - bb.view.setUint8(j++, ((b2 << 4) & 0xF0) | (b3 >> 2), j); - if (b4 !== 64) { - bb.view.setUint8(j++, ((b3 << 6) & 0xC0) | b4); - } - } - } - bb.limit = j; + var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; //? } return bb; }; diff --git a/src/encodings/binary.js b/src/encodings/binary.js index ec8d072..c55baf9 100644 --- a/src/encodings/binary.js +++ b/src/encodings/binary.js @@ -29,7 +29,7 @@ ByteBuffer.prototype.toBinary = function(begin, end) { //? ASSERT_RANGE(); } //? if (NODE) - return this.buffer.slice(begin, end).toString("binary"); + return this.buffer.toString("binary", begin, end); //? else { if (begin === end) return ""; var out = []; diff --git a/src/encodings/hex.js b/src/encodings/hex.js index 1dd5239..a354acc 100644 --- a/src/encodings/hex.js +++ b/src/encodings/hex.js @@ -15,7 +15,7 @@ ByteBuffer.prototype.toHex = function(begin, end) { //? ASSERT_RANGE(); } //? if (NODE) - return this.buffer.slice(begin, end).toString("hex"); + return this.buffer.toString("hex", begin, end); //? else { var out = new Array(end - begin), b; diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index e48686a..4a502b1 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -3,42 +3,6 @@ //? include("../../node_modules/utfx/dist/utfx-embeddable.js"); -/** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ -var stringFromCharCode = String.fromCharCode; - -/** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - */ -utfx.stringSource = function(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; -}; - -/** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - */ -utfx.stringDestination = function() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; -}; - // encodings/utf8 /** @@ -60,7 +24,7 @@ ByteBuffer.prototype.toUTF8 = function(begin, end) { var bb = this, sd; try { utfx.decodeUTF8toUTF16(function() { return begin < end ? bb.view.getUint8(begin++) : null; - }, sd = utfx.stringDestination()); + }, sd = stringDestination()); } catch (e) { if (begin !== end) throw new RangeError("Illegal range: Truncated data, "+begin+" != "+end); @@ -91,9 +55,9 @@ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { bb.view = new BufferView(bb.buffer); bb.limit = bb.buffer.length; //? } else { - var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(utfx.stringSource(str), true)[1], littleEndian, noAssert), + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), i = 0; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { bb.view.setUint8(i++, b); }); bb.limit = i; diff --git a/src/helpers.js b/src/helpers.js index 46ac8be..b4bcc94 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -99,3 +99,43 @@ function assertRange(begin, end, min, cap) { rangeVal[0] = begin; rangeVal[1] = end; } //? } +//? if (BASE64 || UTF8) { + +/** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ +var stringFromCharCode = String.fromCharCode; + +/** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ +function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; +} + +/** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ +function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; +} +//? } diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index bc680e1..dc72e96 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -31,9 +31,9 @@ ByteBuffer.prototype.writeCString = function(str, offset) { offset += this.buffer.write(str, offset, k, "utf8"); this.buffer[offset++] = 0; //? } else { - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; //? ENSURE_CAPACITY('k+1'); - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); this.view.setUint8(offset++, 0); @@ -85,7 +85,7 @@ ByteBuffer.prototype.readCString = function(offset) { if (offset >= this.limit) throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); return (b = this.view.getUint8(offset++)) === 0 ? null : b; - }.bind(this), sd = utfx.stringDestination(), true); + }.bind(this), sd = stringDestination(), true); if (relative) { this.offset = offset; return sd(); diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index cbb36bf..8d7ecde 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -26,11 +26,11 @@ ByteBuffer.prototype.writeIString = function(str, offset) { offset += 4; offset += this.buffer.write(str, offset, k, "utf8"); //? } else { - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; //? ENSURE_CAPACITY('4+k'); this.view.setUint32(offset, k, this.littleEndian); offset += 4; - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) @@ -74,7 +74,7 @@ ByteBuffer.prototype.readIString = function(offset) { sd; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = stringDestination(), this.noAssert); str = sd(); //? } if (relative) { diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index be9e55b..5c2fe8c 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -41,9 +41,9 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { return k; //? } else { var start = offset; - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; //? ENSURE_CAPACITY('k'); - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); if (relative) { @@ -75,7 +75,7 @@ ByteBuffer.prototype.writeString = ByteBuffer.prototype.writeUTF8String; * @expose */ ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[0]; + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; }; /** @@ -91,7 +91,7 @@ ByteBuffer.calculateUTF8Bytes = function(str) { throw new TypeError("Illegal argument: "+(typeof str)); return Buffer.byteLength(str, "utf8"); //? } else - return utfx.calculateUTF16asUTF8(utfx.stringSource(str))[1]; + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; }; /** @@ -122,7 +122,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { temp, sd; if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = utfx.stringDestination(); + sd = stringDestination(); utfx.decodeUTF8(function() { //? if (NODE) return i < length && offset < this.limit ? this.buffer[offset++] : null; @@ -161,7 +161,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = utfx.stringDestination(), this.noAssert); + }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index ce4074d..6e237ab 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -26,11 +26,11 @@ ByteBuffer.prototype.writeVString = function(str, offset) { offset += this.writeVarint32(k, offset); offset += this.buffer.write(str, offset, k, "utf8"); //? } else { - k = utfx.calculateUTF16asUTF8(utfx.stringSource(str), this.noAssert)[1]; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; l = ByteBuffer.calculateVarint32(k); //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(utfx.stringSource(str), function(b) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) @@ -69,7 +69,7 @@ ByteBuffer.prototype.readVString = function(offset) { offset += temp; //? } else { var k = offset + temp, - sd = utfx.stringDestination(); + sd = stringDestination(); utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd, this.noAssert); From cde569103d73a4ecbe7bf4404ea66a9853a84a66 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 22:06:58 +0200 Subject: [PATCH 19/91] README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 334f2de..4c5c249 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,11 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- +* Uses node Buffers under node.js and ArrayBuffers in the browser * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) -* Base64, binary, debug, hex and utf8 encodings +* Base64 via [lxiv-embeddable](https://github.com/dcodeIO/lxiv), utf8 via [utfx-embeddable](https://github.com/dcodeIO/utfx), binary, hex and debug encoding * Handy string and debugging utilities * Big and little endianness * Relative and absolute zero-copy operations wherever possible From 6c97a7874ff17cd26e7511464cbbbc3e052b68b0 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 22:11:21 +0200 Subject: [PATCH 20/91] README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4c5c249..b5bf567 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- -* Uses node Buffers under node.js and ArrayBuffers in the browser +* Available as two API compatible versions, using either node Buffers under node.js or ArrayBuffers in the browser * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) -* Base64 via [lxiv-embeddable](https://github.com/dcodeIO/lxiv), utf8 via [utfx-embeddable](https://github.com/dcodeIO/utfx), binary, hex and debug encoding +* [Base64](https://github.com/dcodeIO/lxiv), [utf8](https://github.com/dcodeIO/utfx), binary, hex and debug encoding * Handy string and debugging utilities * Big and little endianness * Relative and absolute zero-copy operations wherever possible From 40ece9f7e3e4df4549cdef26f09f27d0756d2b14 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 26 Aug 2014 22:12:16 +0200 Subject: [PATCH 21/91] README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b5bf567..bd110d5 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- -* Available as two API compatible versions, using either node Buffers under node.js or ArrayBuffers in the browser +* Two API compatible versions, using either node Buffers under node.js or ArrayBuffers in the browser * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) -* [Base64](https://github.com/dcodeIO/lxiv), [utf8](https://github.com/dcodeIO/utfx), binary, hex and debug encoding +* [Base64](https://github.com/dcodeIO/lxiv), [utf8](https://github.com/dcodeIO/utfx), binary, hex and debug encodings * Handy string and debugging utilities * Big and little endianness * Relative and absolute zero-copy operations wherever possible From 884bc77ab0fc55a391d4ef90dcb303b491e5d313 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 30 Sep 2014 19:24:50 +0200 Subject: [PATCH 22/91] Substitute prototype for smaller minified size, use a buffer when converting to binary, see #32 --- bower.json | 2 +- dist/ByteBufferAB.js | 559 +++++++++++++++-------------- dist/ByteBufferAB.min.js | 161 ++++----- dist/ByteBufferAB.min.js.gz | Bin 7561 -> 7532 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferNB.js | 536 ++++++++++++++------------- package.json | 4 +- src/ByteBuffer.js | 14 +- src/encodings/base64.js | 12 +- src/encodings/binary.js | 23 +- src/encodings/debug.js | 10 +- src/encodings/hex.js | 14 +- src/encodings/utf8.js | 17 +- src/helpers.js | 14 +- src/macros.js | 14 +- src/methods/append.js | 4 +- src/methods/assert.js | 2 +- src/methods/capacity.js | 2 +- src/methods/clear.js | 2 +- src/methods/clone.js | 2 +- src/methods/compact.js | 2 +- src/methods/copy.js | 10 +- src/methods/ensureCapacity.js | 2 +- src/methods/fill.js | 2 +- src/methods/flip.js | 2 +- src/methods/mark.js | 2 +- src/methods/order.js | 8 +- src/methods/prepend.js | 4 +- src/methods/printDebug.js | 2 +- src/methods/remaining.js | 2 +- src/methods/reset.js | 2 +- src/methods/resize.js | 4 +- src/methods/reverse.js | 2 +- src/methods/skip.js | 4 +- src/methods/slice.js | 2 +- src/methods/static/concat.js | 3 +- src/methods/static/isByteBuffer.js | 3 +- src/methods/static/wrap.js | 13 +- src/methods/toBuffer.js | 6 +- src/methods/toString.js | 18 +- src/types/floats/float32.js | 10 +- src/types/floats/float64.js | 10 +- src/types/ints/int16.js | 12 +- src/types/ints/int32.js | 12 +- src/types/ints/int64.js | 12 +- src/types/ints/int8.js | 12 +- src/types/strings/cstring.js | 10 +- src/types/strings/istring.js | 10 +- src/types/strings/utf8string.js | 16 +- src/types/strings/vstring.js | 10 +- src/types/varints/varint32.js | 26 +- src/types/varints/varint64.js | 14 +- 52 files changed, 856 insertions(+), 789 deletions(-) diff --git a/bower.json b/bower.json index 6d1ddb9..1b33522 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.3.0", + "version": "3.3.1", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 1190c29..4a8bfef 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -49,11 +49,9 @@ if (!noAssert) { capacity = capacity | 0; if (capacity < 0) - throw new RangeError("Illegal capacity: 0 <= "+capacity); - if (typeof littleEndian !== 'boolean') - throw new TypeError("Illegal littleEndian: Not a boolean"); - if (typeof noAssert !== 'boolean') - throw new TypeError("Illegal noAssert: Not a boolean"); + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; } /** @@ -118,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.3.0"; + ByteBuffer.VERSION = "3.3.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -167,6 +165,12 @@ */ ByteBuffer.Long = Long || null; + /** + * @alias ByteBuffer.prototype + * @inner + */ + var ByteBufferPrototype = ByteBuffer.prototype; + // helpers /** @@ -252,7 +256,8 @@ length = buffers[i].limit - buffers[i].offset; if (length > 0) capacity += length; } - if (capacity === 0) return new ByteBuffer(0, littleEndian, noAssert); + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); var bb = new ByteBuffer(capacity, littleEndian, noAssert), bi; var view = new Uint8Array(bb.buffer); @@ -275,9 +280,8 @@ * @expose */ ByteBuffer.isByteBuffer = function(bb) { - return bb && bb instanceof ByteBuffer; + return (bb && bb instanceof ByteBuffer) === true; }; - /** * Gets the backing buffer type. * @returns {Function} `Buffer` for NB builds, `ArrayBuffer` for AB builds (classes) @@ -307,7 +311,8 @@ encoding = undefined; } if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') encoding = "utf8"; + if (typeof encoding === 'undefined') + encoding = "utf8"; switch (encoding) { case "base64": return ByteBuffer.fromBase64(buffer, littleEndian); @@ -320,14 +325,14 @@ case "debug": return ByteBuffer.fromDebug(buffer, littleEndian); default: - throw new TypeError("Unsupported encoding: "+encoding); + throw Error("Unsupported encoding: "+encoding); } } if (buffer === null || typeof buffer !== 'object') - throw new TypeError("Illegal buffer: null or non-object"); + throw TypeError("Illegal buffer"); var bb; if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBuffer.prototype.clone.call(buffer); + bb = ByteBufferPrototype.clone.call(buffer); bb.markedOffset = -1; return bb; } @@ -353,7 +358,7 @@ for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 1; var capacity0 = this.buffer.byteLength; @@ -397,7 +402,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeByte = ByteBuffer.prototype.writeInt8; + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; /** * Reads an 8bit signed integer. @@ -405,15 +410,15 @@ * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readInt8 = function(offset) { + ByteBufferPrototype.readInt8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var value = this.view.getInt8(offset); if (relative) this.offset += 1; @@ -427,7 +432,7 @@ * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readByte = ByteBuffer.prototype.readInt8; + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; /** * Writes an 8bit unsigned integer. @@ -436,18 +441,18 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeUint8 = function(value, offset) { + ByteBufferPrototype.writeUint8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 1; var capacity1 = this.buffer.byteLength; @@ -465,15 +470,15 @@ * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readUint8 = function(offset) { + ByteBufferPrototype.readUint8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var value = this.view.getUint8(offset); if (relative) this.offset += 1; @@ -490,18 +495,18 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.writeInt16 = function(value, offset) { + ByteBufferPrototype.writeInt16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 2; var capacity2 = this.buffer.byteLength; @@ -522,7 +527,7 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.writeShort = ByteBuffer.prototype.writeInt16; + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; /** * Reads a 16bit signed integer. @@ -532,15 +537,15 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.readInt16 = function(offset) { + ByteBufferPrototype.readInt16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } var value = this.view.getInt16(offset, this.littleEndian); if (relative) this.offset += 2; @@ -556,7 +561,7 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.readShort = ByteBuffer.prototype.readInt16; + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; /** * Writes a 16bit unsigned integer. @@ -566,18 +571,18 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.writeUint16 = function(value, offset) { + ByteBufferPrototype.writeUint16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 2; var capacity3 = this.buffer.byteLength; @@ -597,15 +602,15 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.readUint16 = function(offset) { + ByteBufferPrototype.readUint16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } var value = this.view.getUint16(offset, this.littleEndian); if (relative) this.offset += 2; @@ -620,18 +625,18 @@ * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ - ByteBuffer.prototype.writeInt32 = function(value, offset) { + ByteBufferPrototype.writeInt32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 4; var capacity4 = this.buffer.byteLength; @@ -649,7 +654,7 @@ * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ - ByteBuffer.prototype.writeInt = ByteBuffer.prototype.writeInt32; + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; /** * Reads a 32bit signed integer. @@ -657,15 +662,15 @@ * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readInt32 = function(offset) { + ByteBufferPrototype.readInt32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = this.view.getInt32(offset, this.littleEndian); if (relative) this.offset += 4; @@ -678,7 +683,7 @@ * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readInt = ByteBuffer.prototype.readInt32; + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; /** * Writes a 32bit unsigned integer. @@ -686,18 +691,18 @@ * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ - ByteBuffer.prototype.writeUint32 = function(value, offset) { + ByteBufferPrototype.writeUint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 4; var capacity5 = this.buffer.byteLength; @@ -715,15 +720,15 @@ * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readUint32 = function(offset) { + ByteBufferPrototype.readUint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = this.view.getUint32(offset, this.littleEndian); if (relative) this.offset += 4; @@ -741,19 +746,19 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeInt64 = function(value, offset) { + ByteBufferPrototype.writeInt64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -780,7 +785,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeLong = ByteBuffer.prototype.writeInt64; + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; /** * Reads a 64bit signed integer. @@ -788,15 +793,15 @@ * @returns {!Long} * @expose */ - ByteBuffer.prototype.readInt64 = function(offset) { + ByteBufferPrototype.readInt64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } var value = this.littleEndian ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) @@ -811,7 +816,7 @@ * @returns {!Long} * @expose */ - ByteBuffer.prototype.readLong = ByteBuffer.prototype.readInt64; + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; /** * Writes a 64bit unsigned integer. @@ -820,19 +825,19 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeUint64 = function(value, offset) { + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -858,15 +863,15 @@ * @returns {!Long} * @expose */ - ByteBuffer.prototype.readUint64 = function(offset) { + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } var value = this.littleEndian ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) @@ -887,17 +892,17 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeFloat32 = function(value, offset) { + ByteBufferPrototype.writeFloat32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw new TypeError("Illegal value: "+value+" (not a number)"); + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 4; var capacity8 = this.buffer.byteLength; @@ -917,7 +922,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeFloat = ByteBuffer.prototype.writeFloat32; + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; /** * Reads a 32bit float. @@ -925,15 +930,15 @@ * @returns {number} * @expose */ - ByteBuffer.prototype.readFloat32 = function(offset) { + ByteBufferPrototype.readFloat32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = this.view.getFloat32(offset, this.littleEndian); if (relative) this.offset += 4; @@ -947,7 +952,7 @@ * @returns {number} * @expose */ - ByteBuffer.prototype.readFloat = ByteBuffer.prototype.readFloat32; + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; // types/floats/float64 @@ -958,17 +963,17 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeFloat64 = function(value, offset) { + ByteBufferPrototype.writeFloat64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw new TypeError("Illegal value: "+value+" (not a number)"); + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } offset += 8; var capacity9 = this.buffer.byteLength; @@ -988,7 +993,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeDouble = ByteBuffer.prototype.writeFloat64; + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; /** * Reads a 64bit float. @@ -996,15 +1001,15 @@ * @returns {number} * @expose */ - ByteBuffer.prototype.readFloat64 = function(offset) { + ByteBufferPrototype.readFloat64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } var value = this.view.getFloat64(offset, this.littleEndian); if (relative) this.offset += 8; @@ -1018,7 +1023,7 @@ * @returns {number} * @expose */ - ByteBuffer.prototype.readDouble = ByteBuffer.prototype.readFloat64; + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; // types/varints/varint32 @@ -1075,18 +1080,18 @@ * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written * @expose */ - ByteBuffer.prototype.writeVarint32 = function(value, offset) { + ByteBufferPrototype.writeVarint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var size = ByteBuffer.calculateVarint32(value), b; @@ -1141,7 +1146,7 @@ * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written * @expose */ - ByteBuffer.prototype.writeVarint32ZigZag = function(value, offset) { + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); }; @@ -1151,25 +1156,33 @@ * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. * @expose */ - ByteBuffer.prototype.readVarint32 = function(offset) { + ByteBufferPrototype.readVarint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } // ref: src/google/protobuf/io/coded_stream.cc var size = 0, value = 0 >>> 0, - temp; + temp, + ioffset; do { - temp = this.view.getUint8(offset+size); + ioffset = offset+size; + if (!this.noAssert && ioffset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + temp = this.view.getUint8(ioffset); if (size < 5) value |= ((temp&0x7F)<<(7*size)) >>> 0; ++size; @@ -1194,7 +1207,7 @@ * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint32ZigZag = function(offset) { + ByteBufferPrototype.readVarint32ZigZag = function(offset) { var val = this.readVarint32(offset); if (typeof val === 'object') val["value"] = ByteBuffer.zigZagDecode32(val["value"]); @@ -1280,19 +1293,19 @@ * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeVarint64 = function(value, offset) { + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (typeof value === 'number') value = Long.fromNumber(value, false); @@ -1334,7 +1347,7 @@ * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeVarint64ZigZag = function(value, offset) { + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); }; @@ -1347,15 +1360,15 @@ * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint64 = function(offset) { + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } // ref: src/google/protobuf/io/coded_stream.cc var start = offset, @@ -1373,7 +1386,7 @@ b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} + throw Error("Buffer overrun"); }}}}}}}}}} var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { this.offset = offset; @@ -1395,7 +1408,7 @@ * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint64ZigZag = function(offset) { + ByteBufferPrototype.readVarint64ZigZag = function(offset) { var val = this.readVarint64(offset); if (val && val['value'] instanceof Long) val["value"] = ByteBuffer.zigZagDecode64(val["value"]); @@ -1418,23 +1431,23 @@ * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written * @expose */ - ByteBuffer.prototype.writeCString = function(str, offset) { + ByteBufferPrototype.writeCString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; var i, k = str.length; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: @@ -1464,15 +1477,15 @@ * read and the actual number of bytes read. * @expose */ - ByteBuffer.prototype.readCString = function(offset) { + ByteBufferPrototype.readCString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var start = offset, temp; @@ -1506,17 +1519,17 @@ * @expose * @see ByteBuffer#writeVarint32 */ - ByteBuffer.prototype.writeIString = function(str, offset) { + ByteBufferPrototype.writeIString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, k; @@ -1532,7 +1545,7 @@ this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); if (relative) { this.offset = offset; return this; @@ -1549,15 +1562,15 @@ * @expose * @see ByteBuffer#readVarint32 */ - ByteBuffer.prototype.readIString = function(offset) { + ByteBufferPrototype.readIString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var temp = 0, start = offset, @@ -1606,15 +1619,15 @@ * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeUTF8String = function(str, offset) { + ByteBufferPrototype.writeUTF8String = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var k; var start = offset; @@ -1642,7 +1655,7 @@ * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeString = ByteBuffer.prototype.writeUTF8String; + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; /** * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's @@ -1678,7 +1691,7 @@ * read and the actual number of bytes read. * @expose */ - ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { if (typeof metrics === 'number') { offset = metrics; metrics = undefined; @@ -1688,13 +1701,13 @@ if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw new TypeError("Illegal length: "+length+" (not an integer)"); + throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var i = 0, start = offset, @@ -1707,7 +1720,7 @@ ++i; utfx.UTF8toUTF16(cp, sd); }.bind(this)); if (i !== length) - throw new RangeError("Illegal range: Truncated data, "+i+" == "+length); + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); if (relative) { this.offset = offset; return sd(); @@ -1720,17 +1733,17 @@ } else if (metrics === ByteBuffer.METRICS_BYTES) { if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); } var k = offset + length; utfx.decodeUTF8toUTF16(function() { return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { this.offset = offset; return sd(); @@ -1741,7 +1754,7 @@ }; } } else - throw new TypeError("Unsupported metrics: "+metrics); + throw TypeError("Unsupported metrics: "+metrics); }; /** @@ -1756,7 +1769,7 @@ * read and the actual number of bytes read. * @expose */ - ByteBuffer.prototype.readString = ByteBuffer.prototype.readUTF8String; + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; // types/strings/vstring @@ -1769,17 +1782,17 @@ * @expose * @see ByteBuffer#writeVarint32 */ - ByteBuffer.prototype.writeVString = function(str, offset) { + ByteBufferPrototype.writeVString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } var start = offset, k, l; @@ -1795,7 +1808,7 @@ this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); if (relative) { this.offset = offset; return this; @@ -1812,15 +1825,15 @@ * @expose * @see ByteBuffer#readVarint32 */ - ByteBuffer.prototype.readVString = function(offset) { + ByteBufferPrototype.readVString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } var temp = this.readVarint32(offset), start = offset, @@ -1858,7 +1871,7 @@ * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` */ - ByteBuffer.prototype.append = function(source, encoding, offset) { + ByteBufferPrototype.append = function(source, encoding, offset) { if (typeof encoding === 'number' || typeof encoding !== 'string') { offset = encoding; encoding = undefined; @@ -1867,10 +1880,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -1897,7 +1910,7 @@ * @expose * @see ByteBuffer#append */ - ByteBuffer.prototype.appendTo = function(target, offset) { + ByteBufferPrototype.appendTo = function(target, offset) { target.append(this, offset); return this; }; @@ -1909,7 +1922,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.assert = function(assert) { + ByteBufferPrototype.assert = function(assert) { this.noAssert = !assert; return this; }; @@ -1919,7 +1932,7 @@ * @returns {number} Capacity of the backing buffer * @expose */ - ByteBuffer.prototype.capacity = function() { + ByteBufferPrototype.capacity = function() { return this.buffer.byteLength; }; @@ -1929,7 +1942,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.clear = function() { + ByteBufferPrototype.clear = function() { this.offset = 0; this.limit = this.buffer.byteLength; this.markedOffset = -1; @@ -1943,7 +1956,7 @@ * @returns {!ByteBuffer} Cloned instance * @expose */ - ByteBuffer.prototype.clone = function(copy) { + ByteBufferPrototype.clone = function(copy) { var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); if (copy) { var buffer = new ArrayBuffer(this.buffer.byteLength); @@ -1969,18 +1982,18 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.compact = function(begin, end) { + ByteBufferPrototype.compact = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === 0 && end === this.buffer.byteLength) return this; // Already compacted @@ -2011,18 +2024,18 @@ * @returns {!ByteBuffer} Copy * @expose */ - ByteBuffer.prototype.copy = function(begin, end) { + ByteBufferPrototype.copy = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === end) return new ByteBuffer(0, this.littleEndian, this.noAssert); @@ -2047,21 +2060,21 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { var relative, targetRelative; if (!this.noAssert) { if (!ByteBuffer.isByteBuffer(target)) - throw new TypeError("Illegal target: Not a ByteBuffer"); + throw TypeError("Illegal target: Not a ByteBuffer"); } targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; if (targetOffset < 0 || targetOffset > target.buffer.byteLength) - throw new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) - throw new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); var len = sourceLimit - sourceOffset; if (len === 0) @@ -2085,7 +2098,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.ensureCapacity = function(capacity) { + ByteBufferPrototype.ensureCapacity = function(capacity) { var current = this.buffer.byteLength; if (current < capacity) return this.resize((current *= 2) > capacity ? current : capacity); @@ -2103,7 +2116,7 @@ * @expose * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes */ - ByteBuffer.prototype.fill = function(value, begin, end) { + ByteBufferPrototype.fill = function(value, begin, end) { var relative = typeof begin === 'undefined'; if (relative) begin = this.offset; if (typeof value === 'string' && value.length > 0) @@ -2112,16 +2125,16 @@ if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin >= end) return this; // Nothing to fill while (begin < end) this.view.setUint8(begin++, value); @@ -2137,7 +2150,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.flip = function() { + ByteBufferPrototype.flip = function() { this.limit = this.offset; this.offset = 0; return this; @@ -2151,14 +2164,14 @@ * @see ByteBuffer#reset * @expose */ - ByteBuffer.prototype.mark = function(offset) { + ByteBufferPrototype.mark = function(offset) { offset = typeof offset === 'undefined' ? this.offset : offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } this.markedOffset = offset; return this; @@ -2169,10 +2182,10 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.order = function(littleEndian) { + ByteBufferPrototype.order = function(littleEndian) { if (!this.noAssert) { if (typeof littleEndian !== 'boolean') - throw new TypeError("Illegal littleEndian: Not a boolean"); + throw TypeError("Illegal littleEndian: Not a boolean"); } this.littleEndian = !!littleEndian; return this; @@ -2184,7 +2197,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.LE = function(littleEndian) { + ByteBufferPrototype.LE = function(littleEndian) { this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; return this; }; @@ -2195,7 +2208,7 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.BE = function(bigEndian) { + ByteBufferPrototype.BE = function(bigEndian) { this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; return this; }; @@ -2213,7 +2226,7 @@ * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` */ - ByteBuffer.prototype.prepend = function(source, encoding, offset) { + ByteBufferPrototype.prepend = function(source, encoding, offset) { if (typeof encoding === 'number' || typeof encoding !== 'string') { offset = encoding; encoding = undefined; @@ -2222,10 +2235,10 @@ if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -2264,7 +2277,7 @@ * @expose * @see ByteBuffer#prepend */ - ByteBuffer.prototype.prependTo = function(target, offset) { + ByteBufferPrototype.prependTo = function(target, offset) { target.prepend(this, offset); return this; }; @@ -2273,7 +2286,7 @@ * @param {function(string)=} out Output function to call, defaults to console.log * @expose */ - ByteBuffer.prototype.printDebug = function(out) { + ByteBufferPrototype.printDebug = function(out) { if (typeof out !== 'function') out = console.log.bind(console); out( this.toString()+"\n"+ @@ -2288,7 +2301,7 @@ * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. * @expose */ - ByteBuffer.prototype.remaining = function() { + ByteBufferPrototype.remaining = function() { return this.limit - this.offset; }; /** @@ -2299,7 +2312,7 @@ * @see ByteBuffer#mark * @expose */ - ByteBuffer.prototype.reset = function() { + ByteBufferPrototype.reset = function() { if (this.markedOffset >= 0) { this.offset = this.markedOffset; this.markedOffset = -1; @@ -2317,13 +2330,13 @@ * @throws {RangeError} If `capacity < 0` * @expose */ - ByteBuffer.prototype.resize = function(capacity) { + ByteBufferPrototype.resize = function(capacity) { if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) - throw new TypeError("Illegal capacity: "+capacity+" (not an integer)"); + throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; if (capacity < 0) - throw new RangeError("Illegal capacity: 0 <= "+capacity); + throw RangeError("Illegal capacity: 0 <= "+capacity); } if (this.buffer.byteLength < capacity) { var buffer = new ArrayBuffer(capacity); @@ -2340,18 +2353,18 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.reverse = function(begin, end) { + ByteBufferPrototype.reverse = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } if (begin === end) return this; // Nothing to reverse @@ -2365,16 +2378,16 @@ * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.skip = function(length) { + ByteBufferPrototype.skip = function(length) { if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw new TypeError("Illegal length: "+length+" (not an integer)"); + throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; } var offset = this.offset + length; if (!this.noAssert) { if (offset < 0 || offset > this.buffer.byteLength) - throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); } this.offset = offset; return this; @@ -2387,18 +2400,18 @@ * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} * @expose */ - ByteBuffer.prototype.slice = function(begin, end) { + ByteBufferPrototype.slice = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var bb = this.clone(); bb.offset = begin; @@ -2414,7 +2427,7 @@ * @returns {!ArrayBuffer} Contents as an ArrayBuffer * @expose */ - ByteBuffer.prototype.toBuffer = function(forceCopy) { + ByteBufferPrototype.toBuffer = function(forceCopy) { var offset = this.offset, limit = this.limit; if (offset > limit) { @@ -2424,13 +2437,13 @@ } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: Not an integer"); + throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; if (typeof limit !== 'number' || limit % 1 !== 0) - throw new TypeError("Illegal limit: Not an integer"); + throw TypeError("Illegal limit: Not an integer"); limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); } // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: @@ -2456,7 +2469,7 @@ * @returns {!ArrayBuffer} Contents as an ArrayBuffer * @expose */ - ByteBuffer.prototype.toArrayBuffer = ByteBuffer.prototype.toBuffer; + ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; /** @@ -2464,28 +2477,34 @@ * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} * @returns {string} String representation * @throws {Error} If `encoding` is invalid * @expose */ - ByteBuffer.prototype.toString = function(encoding) { + ByteBufferPrototype.toString = function(encoding, begin, end) { if (typeof encoding === 'undefined') return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; switch (encoding) { case "utf8": - return this.toUTF8(); + return this.toUTF8(begin, end); case "base64": - return this.toBase64(); + return this.toBase64(begin, end); case "hex": - return this.toHex(); + return this.toHex(begin, end); case "binary": - return this.toBinary(); + return this.toBinary(begin, end); case "debug": return this.toDebug(); case "columns": return this.toColumns(); default: - throw new Error("Unsupported encoding: "+encoding); + throw Error("Unsupported encoding: "+encoding); } }; @@ -2612,18 +2631,20 @@ * @returns {string} Base64 encoded string * @expose */ - ByteBuffer.prototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; + ByteBufferPrototype.toBase64 = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var sd; lxiv.encode(function() { return begin < end ? this.view.getUint8(begin++) : null; @@ -2644,9 +2665,9 @@ ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (str.length % 4 !== 0) - throw new TypeError("Illegal str: Length not a multiple of 4"); + throw TypeError("Illegal str: Length not a multiple of 4"); } var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), i = 0; @@ -2689,24 +2710,29 @@ * @throws {RangeError} If `offset > limit` * @expose */ - ByteBuffer.prototype.toBinary = function(begin, end) { + ByteBufferPrototype.toBinary = function(begin, end) { begin = typeof begin === 'undefined' ? this.offset : begin; end = typeof end === 'undefined' ? this.limit : end; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - if (begin === end) return ""; - var out = []; - while (begin < end) - out.push(this.view.getUint8(begin++)); - return String.fromCharCode.apply(String, out); + if (begin === end) + return ""; + var cc = [], pt = []; + while (begin < end) { + cc.push(this.view.getUint8(begin++)); + if (cc.length >= 1024) + pt.push(String.fromCharCode.apply(String, cc)), + cc = []; + } + return pt.join('') + String.fromCharCode.apply(String, cc); }; /** @@ -2722,14 +2748,14 @@ ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); } var i = 0, k = str.length, charCode, bb = new ByteBuffer(k, littleEndian, noAssert); while (i 255) - throw new TypeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); bb.view.setUint8(i++, charCode); } bb.limit = k; @@ -2755,7 +2781,7 @@ * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` */ - ByteBuffer.prototype.toDebug = function(columns) { + ByteBufferPrototype.toDebug = function(columns) { var i = -1, k = this.buffer.byteLength, b, @@ -2897,19 +2923,19 @@ b = parseInt(ch+str.charAt(i++), 16); if (!noAssert) { if (isNaN(b) || b < 0 || b > 255) - throw new TypeError("Illegal str: Not a debug encoded string"); + throw TypeError("Illegal str: Not a debug encoded string"); } bb.view.setUint8(j++, b); rs = true; } if (fail) - throw new TypeError("Illegal str: Invalid symbol at "+i); + throw TypeError("Illegal str: Invalid symbol at "+i); } if (!noAssert) { if (!ho || !hl) - throw new TypeError("Illegal str: Missing offset or limit"); + throw TypeError("Illegal str: Missing offset or limit"); if (j>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var out = new Array(end - begin), b; while (begin < end) { b = this.view.getUint8(begin++); - if (b < 0x10) out.push("0", b.toString(16)); + if (b < 0x10) + out.push("0", b.toString(16)); else out.push(b.toString(16)); } return out.join(''); @@ -2959,19 +2986,18 @@ ByteBuffer.fromHex = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (str.length % 2 !== 0) - throw new TypeError("Illegal str: Length not a multiple of 2"); + throw TypeError("Illegal str: Length not a multiple of 2"); } var k = str.length, bb = new ByteBuffer((k / 2) | 0, littleEndian), b; for (var i=0, j=0; i 255) - throw new TypeError("Illegal str: Contains non-hex characters"); - } + throw TypeError("Illegal str: Contains non-hex characters"); bb.view.setUint8(j++, b); } bb.limit = j; @@ -3186,26 +3212,26 @@ * @throws {RangeError} If `offset > limit` * @expose */ - ByteBuffer.prototype.toUTF8 = function(begin, end) { + ByteBufferPrototype.toUTF8 = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - var bb = this, sd; try { + var sd; try { utfx.decodeUTF8toUTF16(function() { - return begin < end ? bb.view.getUint8(begin++) : null; - }, sd = stringDestination()); + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); } catch (e) { if (begin !== end) - throw new RangeError("Illegal range: Truncated data, "+begin+" != "+end); + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); } return sd(); }; @@ -3221,10 +3247,9 @@ * @expose */ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) { + if (!noAssert) if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); - } + throw TypeError("Illegal str: Not a string"); var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), i = 0; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 6537ab0..ccb9854 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -4,85 +4,82 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(r){function t(k){function d(a,b,c){"undefined"===typeof a&&(a=d.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=d.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=d.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw new RangeError("Illegal capacity: 0 <= "+a);if("boolean"!==typeof b)throw new TypeError("Illegal littleEndian: Not a boolean");if("boolean"!==typeof c)throw new TypeError("Illegal noAssert: Not a boolean");}this.buffer=0===a?r:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer); -this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=n||(e.set((new Uint8Array(c.buffer)).subarray(c.offset, -c.limit),b.offset),b.offset+=n);b.limit=b.offset;b.offset=0;return b};d.isByteBuffer=function(a){return a&&a instanceof d};d.type=function(){return ArrayBuffer};d.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return d.fromBase64(a,c);case "hex":return d.fromHex(a,c);case "binary":return d.fromBinary(a,c);case "utf8":return d.fromUTF8(a,c);case "debug":return d.fromDebug(a,c);default:throw new TypeError("Unsupported encoding: "+ -b);}if(null===a||"object"!==typeof a)throw new TypeError("Illegal buffer: null or non-object");if(d.isByteBuffer(a))return b=d.prototype.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new d(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.prototype.writeByte=d.prototype.writeInt8;d.prototype.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+ -this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.prototype.readByte=d.prototype.readInt8;d.prototype.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.prototype.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a); -b&&(this.offset+=1);return a};d.prototype.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.writeShort=d.prototype.writeInt16;d.prototype.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+= -2);return a};d.prototype.readShort=d.prototype.readInt16;d.prototype.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength; -b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.prototype.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a}; -d.prototype.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b- -4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.writeInt=d.prototype.writeInt32;d.prototype.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readInt= -d.prototype.readInt32;d.prototype.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.prototype.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(d.prototype.writeInt64= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength; -b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.prototype.writeLong=d.prototype.writeInt64,d.prototype.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.prototype.readLong=d.prototype.readInt64,d.prototype.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== -typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this}, -d.prototype.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});d.prototype.writeFloat32= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+= -4);return this};d.prototype.writeFloat=d.prototype.writeFloat32;d.prototype.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.prototype.readFloat=d.prototype.readFloat32; -d.prototype.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw new TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian); -c&&(this.offset+=8);return this};d.prototype.writeDouble=d.prototype.writeFloat64;d.prototype.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.prototype.readDouble= -d.prototype.readFloat64;d.MAX_VARINT32_BYTES=5;d.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};d.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};d.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.prototype.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=d.calculateVarint32(a);b+=e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;this.view.setUint8(b,e=a|128);a>>>=0;128<=a?(e=a>>7|128,this.view.setUint8(b+1,e),16384<=a?(e=a>>14|128,this.view.setUint8(b+2,e),2097152<=a?(e=a>>21|128,this.view.setUint8(b+3,e),268435456<=a?(this.view.setUint8(b+4,a>>28&15),e=5):(this.view.setUint8(b+ -3,e&127),e=4)):(this.view.setUint8(b+2,e&127),e=3)):(this.view.setUint8(b+1,e&127),e=2)):(this.view.setUint8(b,e&127),e=1);return c?(this.offset+=e,this):e};d.prototype.writeVarint32ZigZag=function(a,b){return this.writeVarint32(d.zigZagEncode32(a),b)};d.prototype.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,d;do d=this.view.getUint8(a+c),5>c&&(e|=(d&127)<<7*c>>>0),++c;while(128===(d&128));e|=0;return b?(this.offset+=c,e):{value:e,length:c}};d.prototype.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=d.zigZagDecode32(a.value):a=d.zigZagDecode32(a);return a};k&&(d.MAX_VARINT64_BYTES=10,d.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a= -a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},d.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},d.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.prototype.writeVarint64= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw new TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a= -a.toSigned());var e=d.calculateVarint64(a),h=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var n=this.buffer.byteLength;b>n&&this.resize((n*=2)>b?n:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?f>>>21|128:f>>>21&127);case 7:this.view.setUint8(b+6,7!==e?f>>>14|128:f>>>14&127);case 6:this.view.setUint8(b+5,6!==e?f>>>7|128:f>>>7&127);case 5:this.view.setUint8(b+ -4,5!==e?f|128:f&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.prototype.writeVarint64ZigZag=function(a,b){return this.writeVarint64(d.zigZagEncode64(a),b)},d.prototype.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0,f=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g= -this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),f=g&127,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128))))))))))throw Error("Data must be corrupt: Buffer overrun");e=k.fromBits(e|d<<28,d>>>4|f<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.prototype.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=d.zigZagDecode64(a.value):a=d.zigZagDecode64(a);return a});d.prototype.writeCString= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=b;d=l.a(m(a))[1]; -b+=d+1;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-e,this):d};d.prototype.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); -}var c=a,e,d=-1;l.b(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(d=this.view.getUint8(a++))?null:d}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.prototype.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=l.a(m(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.prototype.readIString= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var d=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=l.a(m(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));return c?(this.offset=b,this):b-d};d.prototype.writeString=d.prototype.writeUTF8String;d.calculateUTF8Chars=function(a){return l.a(m(a))[0]};d.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};d.prototype.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=d.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!== -typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,f=c,g;if(b===d.METRICS_CHARS){g=s();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var n=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,f;h=l.a(m(a),this.noAssert)[1];f=d.calculateVarint32(h); -b+=f+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=f+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+f)throw new RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+f));return c?(this.offset=b,this):b-e};d.prototype.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d||(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var h=this.buffer.byteLength;c>h&&this.resize((h*=2)>c?h:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.prototype.appendTo=function(a,b){a.append(this,b);return this};d.prototype.assert=function(a){this.noAssert= -!a;return this};d.prototype.capacity=function(){return this.buffer.byteLength};d.prototype.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.prototype.clone=function(a){var b=new d(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b}; -d.prototype.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0=== -c)return this.buffer=r,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.prototype.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new d(0,this.littleEndian,this.noAssert);var c=b-a,e=new d(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.prototype.copyTo=function(a,b,c,e){var h,f;if(!this.noAssert&&!d.isByteBuffer(a))throw new TypeError("Illegal target: Not a ByteBuffer"); -b=(f="undefined"===typeof b)?a.offset:b|0;c=(h="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw new RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw new RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);h&&(this.offset+=g); -f&&(a.offset+=g);return this};d.prototype.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.prototype.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.prototype.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw new TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.prototype.LE=function(a){this.littleEndian="undefined"!==typeof a? -!!a:!0;return this};d.prototype.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prototype.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw new RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof d|| -(a=d.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var h=b-c,f;if(0a)throw new RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.prototype.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal length: "+a+" (not an integer)"); -a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.prototype.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.prototype.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var e=b,b=c,c=e;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw new TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return r;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.prototype.toArrayBuffer=d.prototype.toBuffer;d.prototype.toString=function(a){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch(a){case "utf8":return this.toUTF8(); -case "base64":return this.toBase64();case "hex":return this.toHex();case "binary":return this.toBinary();case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var u=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.h=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,k;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(k=c[d],"undefined"===typeof k&&e(d),b(h<<2>>>0|(k&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61=== -d)break;else e(d);b((k&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){k=c[d];if("undefined"===typeof k)if(61===d)break;else e(d);b((h&3)<<6>>>0|k)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.prototype.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;u.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a> -b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"): -d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};d.fromDebug=function(a,b,c){var e=a.length;b=new d((e+1)/3|0,b,c);for(var h=0,f=0,g,k=!1,l=!1,m=!1,q=!1,p=!1;h":if(!c){if(q){p=!0;break}q=!0}b.limit=f;k=!1;break;case "'":if(!c){if(m){p=!0;break}m=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){p=!0;break}g=parseInt(g+a.charAt(h++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};d.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw new TypeError("Illegal str: Not a string");if(0!==a.length%2)throw new TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new d(e/2|0,b);for(var h,f=0,g=0;fh||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},g:function(a,c){function e(a){a=a.slice(0,a.indexOf(null)); -var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!== -d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c); -return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();d.prototype.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw new TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw new TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw new RangeError("Illegal range: 0 <= "+a+" <= "+b+ -" <= "+this.buffer.byteLength);}var c=this,d;try{l.b(function(){return aa)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< +a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof +g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= +e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*= +2)>b?d:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.readUint8= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); +}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+= +4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+= +4);return a};k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+= +8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.readUint64=function(a){var b="undefined"===typeof a;b&&(a= +this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a; +b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+ +a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>> +1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)> +b?f:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a), +b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+= +c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a? +a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+ +" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,n=a.shiftRightUnsigned(28).toInt()>>>0,e=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r: +b);b-=d;switch(d){case 10:this.view.setUint8(b+9,e>>>7&1);case 9:this.view.setUint8(b+8,9!==d?e|128:e&127);case 8:this.view.setUint8(b+7,8!==d?n>>>21|128:n>>>21&127);case 7:this.view.setUint8(b+6,7!==d?n>>>14|128:n>>>14&127);case 6:this.view.setUint8(b+5,6!==d?n>>>7|128:n>>>7&127);case 5:this.view.setUint8(b+4,5!==d?n|128:n&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7& +127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0, +h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f=h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun"); +d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}d=b;f=l.a(m(a))[1];b+=f+1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-d,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(f=this.view.getUint8(a++))?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, +a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f= +a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, +f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=t();l.g(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var r=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d= +b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,f=a+c,c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, +b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit= +this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0=== +c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); +b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);f&&(this.offset+=h);e&&(a.offset+= +h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, +b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c,e;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, +b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); +b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+ +this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, +83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f, +e,g;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(g=c[f],"undefined"===typeof g&&d(f),b(e<<2>>>0|(g&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((g&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){g=c[f];if("undefined"===typeof g)if(61===f)break;else d(f);b((e&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= +this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b=== +this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var f=0,e=0,h,k=!1,l=!1,m=!1,q=!1,p=!1;f":if(!c){if(q){p=!0;break}q=!0}b.limit=e;k=!1;break;case "'":if(!c){if(m){p=!0;break}m=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){p=!0;break}h=parseInt(h+a.charAt(f++), +16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var f,e=0,h=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? +c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,g,h,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(g=a())&&d([e,g]),c((e&31)<<6|g&63);else if(224===(e&240))null!==(g=a())&&null!==(h=a())||d([e,g,h]),c((e&15)<<12|(g&63)<<6|h&63);else if(240===(e&248))null!==(g=a())&&null!==(h=a())&&null!==(k=a())||d([e,g, +h,k]),c((e&7)<<18|(g&63)<<12|(h&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, +c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aoJgCt0TwtRIb8K+7PkM{r& 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 Cl9Pr2 literal 7561 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 0) capacity += length; } - if (capacity === 0) return new ByteBuffer(0, littleEndian, noAssert); + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); var bb = new ByteBuffer(capacity, littleEndian, noAssert), bi; i=0; while (i>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 1; var capacity0 = this.buffer.length; @@ -397,7 +402,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeByte = ByteBuffer.prototype.writeInt8; + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; /** * Reads an 8bit signed integer. @@ -405,15 +410,15 @@ module.exports = (function() { * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readInt8 = function(offset) { + ByteBufferPrototype.readInt8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var value = this.buffer[offset]; if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed @@ -428,7 +433,7 @@ module.exports = (function() { * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readByte = ByteBuffer.prototype.readInt8; + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; /** * Writes an 8bit unsigned integer. @@ -437,18 +442,18 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeUint8 = function(value, offset) { + ByteBufferPrototype.writeUint8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 1; var capacity1 = this.buffer.length; @@ -466,15 +471,15 @@ module.exports = (function() { * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readUint8 = function(offset) { + ByteBufferPrototype.readUint8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var value = this.buffer[offset]; if (relative) this.offset += 1; @@ -491,18 +496,18 @@ module.exports = (function() { * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.writeInt16 = function(value, offset) { + ByteBufferPrototype.writeInt16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 2; var capacity2 = this.buffer.length; @@ -529,7 +534,7 @@ module.exports = (function() { * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.writeShort = ByteBuffer.prototype.writeInt16; + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; /** * Reads a 16bit signed integer. @@ -539,15 +544,15 @@ module.exports = (function() { * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.readInt16 = function(offset) { + ByteBufferPrototype.readInt16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -571,7 +576,7 @@ module.exports = (function() { * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.readShort = ByteBuffer.prototype.readInt16; + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; /** * Writes a 16bit unsigned integer. @@ -581,18 +586,18 @@ module.exports = (function() { * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.writeUint16 = function(value, offset) { + ByteBufferPrototype.writeUint16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 2; var capacity3 = this.buffer.length; @@ -618,15 +623,15 @@ module.exports = (function() { * @throws {RangeError} If `offset` is out of bounds * @expose */ - ByteBuffer.prototype.readUint16 = function(offset) { + ByteBufferPrototype.readUint16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -648,18 +653,18 @@ module.exports = (function() { * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ - ByteBuffer.prototype.writeInt32 = function(value, offset) { + ByteBufferPrototype.writeInt32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 4; var capacity4 = this.buffer.length; @@ -687,7 +692,7 @@ module.exports = (function() { * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ - ByteBuffer.prototype.writeInt = ByteBuffer.prototype.writeInt32; + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; /** * Reads a 32bit signed integer. @@ -695,15 +700,15 @@ module.exports = (function() { * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readInt32 = function(offset) { + ByteBufferPrototype.readInt32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -728,7 +733,7 @@ module.exports = (function() { * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readInt = ByteBuffer.prototype.readInt32; + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; /** * Writes a 32bit unsigned integer. @@ -736,18 +741,18 @@ module.exports = (function() { * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ - ByteBuffer.prototype.writeUint32 = function(value, offset) { + ByteBufferPrototype.writeUint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 4; var capacity5 = this.buffer.length; @@ -775,15 +780,15 @@ module.exports = (function() { * @returns {number} Value read * @expose */ - ByteBuffer.prototype.readUint32 = function(offset) { + ByteBufferPrototype.readUint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var value = 0; if (this.littleEndian) { @@ -812,19 +817,19 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeInt64 = function(value, offset) { + ByteBufferPrototype.writeInt64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -867,7 +872,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeLong = ByteBuffer.prototype.writeInt64; + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; /** * Reads a 64bit signed integer. @@ -875,15 +880,15 @@ module.exports = (function() { * @returns {!Long} * @expose */ - ByteBuffer.prototype.readInt64 = function(offset) { + ByteBufferPrototype.readInt64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); } var lo = 0, hi = 0; @@ -919,7 +924,7 @@ module.exports = (function() { * @returns {!Long} * @expose */ - ByteBuffer.prototype.readLong = ByteBuffer.prototype.readInt64; + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; /** * Writes a 64bit unsigned integer. @@ -928,19 +933,19 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeUint64 = function(value, offset) { + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (typeof value === 'number') value = Long.fromNumber(value); @@ -982,15 +987,15 @@ module.exports = (function() { * @returns {!Long} * @expose */ - ByteBuffer.prototype.readUint64 = function(offset) { + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); } var lo = 0, hi = 0; @@ -1032,17 +1037,17 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeFloat32 = function(value, offset) { + ByteBufferPrototype.writeFloat32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw new TypeError("Illegal value: "+value+" (not a number)"); + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 4; var capacity8 = this.buffer.length; @@ -1064,7 +1069,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeFloat = ByteBuffer.prototype.writeFloat32; + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; /** * Reads a 32bit float. @@ -1072,15 +1077,15 @@ module.exports = (function() { * @returns {number} * @expose */ - ByteBuffer.prototype.readFloat32 = function(offset) { + ByteBufferPrototype.readFloat32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var value = this.littleEndian ? this.buffer.readFloatLE(offset, true) @@ -1096,7 +1101,7 @@ module.exports = (function() { * @returns {number} * @expose */ - ByteBuffer.prototype.readFloat = ByteBuffer.prototype.readFloat32; + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; // types/floats/float64 @@ -1107,17 +1112,17 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeFloat64 = function(value, offset) { + ByteBufferPrototype.writeFloat64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number') - throw new TypeError("Illegal value: "+value+" (not a number)"); + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } offset += 8; var capacity9 = this.buffer.length; @@ -1139,7 +1144,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeDouble = ByteBuffer.prototype.writeFloat64; + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; /** * Reads a 64bit float. @@ -1147,15 +1152,15 @@ module.exports = (function() { * @returns {number} * @expose */ - ByteBuffer.prototype.readFloat64 = function(offset) { + ByteBufferPrototype.readFloat64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); } var value = this.littleEndian ? this.buffer.readDoubleLE(offset, true) @@ -1171,7 +1176,7 @@ module.exports = (function() { * @returns {number} * @expose */ - ByteBuffer.prototype.readDouble = ByteBuffer.prototype.readFloat64; + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; // types/varints/varint32 @@ -1228,18 +1233,18 @@ module.exports = (function() { * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written * @expose */ - ByteBuffer.prototype.writeVarint32 = function(value, offset) { + ByteBufferPrototype.writeVarint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var size = ByteBuffer.calculateVarint32(value), b; @@ -1294,7 +1299,7 @@ module.exports = (function() { * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written * @expose */ - ByteBuffer.prototype.writeVarint32ZigZag = function(value, offset) { + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); }; @@ -1304,25 +1309,33 @@ module.exports = (function() { * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. * @expose */ - ByteBuffer.prototype.readVarint32 = function(offset) { + ByteBufferPrototype.readVarint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } // ref: src/google/protobuf/io/coded_stream.cc var size = 0, value = 0 >>> 0, - temp; + temp, + ioffset; do { - temp = this.buffer[offset+size]; + ioffset = offset+size; + if (!this.noAssert && ioffset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + temp = this.buffer[ioffset]; if (size < 5) value |= ((temp&0x7F)<<(7*size)) >>> 0; ++size; @@ -1347,7 +1360,7 @@ module.exports = (function() { * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint32ZigZag = function(offset) { + ByteBufferPrototype.readVarint32ZigZag = function(offset) { var val = this.readVarint32(offset); if (typeof val === 'object') val["value"] = ByteBuffer.zigZagDecode32(val["value"]); @@ -1433,19 +1446,19 @@ module.exports = (function() { * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeVarint64 = function(value, offset) { + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (!(value && value instanceof Long)) - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (typeof value === 'number') value = Long.fromNumber(value, false); @@ -1487,7 +1500,7 @@ module.exports = (function() { * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeVarint64ZigZag = function(value, offset) { + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); }; @@ -1500,15 +1513,15 @@ module.exports = (function() { * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint64 = function(offset) { + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } // ref: src/google/protobuf/io/coded_stream.cc var start = offset, @@ -1526,7 +1539,7 @@ module.exports = (function() { b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} + throw Error("Buffer overrun"); }}}}}}}}}} var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { this.offset = offset; @@ -1548,7 +1561,7 @@ module.exports = (function() { * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint64ZigZag = function(offset) { + ByteBufferPrototype.readVarint64ZigZag = function(offset) { var val = this.readVarint64(offset); if (val && val['value'] instanceof Long) val["value"] = ByteBuffer.zigZagDecode64(val["value"]); @@ -1571,23 +1584,23 @@ module.exports = (function() { * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written * @expose */ - ByteBuffer.prototype.writeCString = function(str, offset) { + ByteBufferPrototype.writeCString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; var i, k = str.length; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: @@ -1615,22 +1628,22 @@ module.exports = (function() { * read and the actual number of bytes read. * @expose */ - ByteBuffer.prototype.readCString = function(offset) { + ByteBufferPrototype.readCString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var start = offset, temp; // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: do { if (offset >= this.buffer.length) - throw new RangeError("Index out of range: "+offset+" <= "+this.buffer.length); + throw RangeError("Index out of range: "+offset+" <= "+this.buffer.length); temp = this.buffer[offset++]; } while (temp !== 0); var str = this.buffer.toString("utf8", start, offset-1); @@ -1656,17 +1669,17 @@ module.exports = (function() { * @expose * @see ByteBuffer#writeVarint32 */ - ByteBuffer.prototype.writeIString = function(str, offset) { + ByteBufferPrototype.writeIString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, k; @@ -1705,15 +1718,15 @@ module.exports = (function() { * @expose * @see ByteBuffer#readVarint32 */ - ByteBuffer.prototype.readIString = function(offset) { + ByteBufferPrototype.readIString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } var temp = 0, start = offset, @@ -1731,7 +1744,7 @@ module.exports = (function() { } offset += 4; if (offset + temp > this.buffer.length) - throw new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); + throw RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; if (relative) { @@ -1770,15 +1783,15 @@ module.exports = (function() { * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeUTF8String = function(str, offset) { + ByteBufferPrototype.writeUTF8String = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var k; k = Buffer.byteLength(str, "utf8"); @@ -1803,7 +1816,7 @@ module.exports = (function() { * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeString = ByteBuffer.prototype.writeUTF8String; + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; /** * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's @@ -1826,7 +1839,7 @@ module.exports = (function() { */ ByteBuffer.calculateUTF8Bytes = function(str) { if (typeof str !== 'string') - throw new TypeError("Illegal argument: "+(typeof str)); + throw TypeError("Illegal argument: "+(typeof str)); return Buffer.byteLength(str, "utf8"); }; @@ -1841,7 +1854,7 @@ module.exports = (function() { * read and the actual number of bytes read. * @expose */ - ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { if (typeof metrics === 'number') { offset = metrics; metrics = undefined; @@ -1851,13 +1864,13 @@ module.exports = (function() { if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw new TypeError("Illegal length: "+length+" (not an integer)"); + throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var i = 0, start = offset, @@ -1871,7 +1884,7 @@ module.exports = (function() { ++i; utfx.UTF8toUTF16(cp, sd); }.bind(this)); if (i !== length) - throw new RangeError("Illegal range: Truncated data, "+i+" == "+length); + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); if (relative) { this.offset = offset; return sd(); @@ -1884,10 +1897,10 @@ module.exports = (function() { } else if (metrics === ByteBuffer.METRICS_BYTES) { if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); } temp = this.buffer.toString("utf8", offset, offset+length); if (relative) { @@ -1900,7 +1913,7 @@ module.exports = (function() { }; } } else - throw new TypeError("Unsupported metrics: "+metrics); + throw TypeError("Unsupported metrics: "+metrics); }; /** @@ -1915,7 +1928,7 @@ module.exports = (function() { * read and the actual number of bytes read. * @expose */ - ByteBuffer.prototype.readString = ByteBuffer.prototype.readUTF8String; + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; // types/strings/vstring @@ -1928,17 +1941,17 @@ module.exports = (function() { * @expose * @see ByteBuffer#writeVarint32 */ - ByteBuffer.prototype.writeVString = function(str, offset) { + ByteBufferPrototype.writeVString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } var start = offset, k, l; @@ -1967,15 +1980,15 @@ module.exports = (function() { * @expose * @see ByteBuffer#readVarint32 */ - ByteBuffer.prototype.readVString = function(offset) { + ByteBufferPrototype.readVString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } var temp = this.readVarint32(offset), start = offset, @@ -1983,7 +1996,7 @@ module.exports = (function() { offset += temp['length']; temp = temp['value']; if (offset + temp > this.buffer.length) - throw new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); + throw RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; if (relative) { @@ -2011,7 +2024,7 @@ module.exports = (function() { * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` */ - ByteBuffer.prototype.append = function(source, encoding, offset) { + ByteBufferPrototype.append = function(source, encoding, offset) { if (typeof encoding === 'number' || typeof encoding !== 'string') { offset = encoding; encoding = undefined; @@ -2020,10 +2033,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -2050,7 +2063,7 @@ module.exports = (function() { * @expose * @see ByteBuffer#append */ - ByteBuffer.prototype.appendTo = function(target, offset) { + ByteBufferPrototype.appendTo = function(target, offset) { target.append(this, offset); return this; }; @@ -2062,7 +2075,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.assert = function(assert) { + ByteBufferPrototype.assert = function(assert) { this.noAssert = !assert; return this; }; @@ -2072,7 +2085,7 @@ module.exports = (function() { * @returns {number} Capacity of the backing buffer * @expose */ - ByteBuffer.prototype.capacity = function() { + ByteBufferPrototype.capacity = function() { return this.buffer.length; }; @@ -2082,7 +2095,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.clear = function() { + ByteBufferPrototype.clear = function() { this.offset = 0; this.limit = this.buffer.length; this.markedOffset = -1; @@ -2096,7 +2109,7 @@ module.exports = (function() { * @returns {!ByteBuffer} Cloned instance * @expose */ - ByteBuffer.prototype.clone = function(copy) { + ByteBufferPrototype.clone = function(copy) { var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); if (copy) { var buffer = new Buffer(this.buffer.length); @@ -2120,18 +2133,18 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.compact = function(begin, end) { + ByteBufferPrototype.compact = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin === 0 && end === this.buffer.length) return this; // Already compacted @@ -2160,18 +2173,18 @@ module.exports = (function() { * @returns {!ByteBuffer} Copy * @expose */ - ByteBuffer.prototype.copy = function(begin, end) { + ByteBufferPrototype.copy = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin === end) return new ByteBuffer(0, this.littleEndian, this.noAssert); @@ -2196,21 +2209,21 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { var relative, targetRelative; if (!this.noAssert) { if (!ByteBuffer.isByteBuffer(target)) - throw new TypeError("Illegal target: Not a ByteBuffer"); + throw TypeError("Illegal target: Not a ByteBuffer"); } targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; if (targetOffset < 0 || targetOffset > target.buffer.length) - throw new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.length); + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.length); if (sourceOffset < 0 || sourceLimit > this.buffer.length) - throw new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.length); + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.length); var len = sourceLimit - sourceOffset; if (len === 0) @@ -2234,7 +2247,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.ensureCapacity = function(capacity) { + ByteBufferPrototype.ensureCapacity = function(capacity) { var current = this.buffer.length; if (current < capacity) return this.resize((current *= 2) > capacity ? current : capacity); @@ -2252,7 +2265,7 @@ module.exports = (function() { * @expose * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes */ - ByteBuffer.prototype.fill = function(value, begin, end) { + ByteBufferPrototype.fill = function(value, begin, end) { var relative = typeof begin === 'undefined'; if (relative) begin = this.offset; if (typeof value === 'string' && value.length > 0) @@ -2261,16 +2274,16 @@ module.exports = (function() { if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+value+" (not an integer)"); + throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin >= end) return this; // Nothing to fill this.buffer.fill(value, begin, end); @@ -2287,7 +2300,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.flip = function() { + ByteBufferPrototype.flip = function() { this.limit = this.offset; this.offset = 0; return this; @@ -2301,14 +2314,14 @@ module.exports = (function() { * @see ByteBuffer#reset * @expose */ - ByteBuffer.prototype.mark = function(offset) { + ByteBufferPrototype.mark = function(offset) { offset = typeof offset === 'undefined' ? this.offset : offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } this.markedOffset = offset; return this; @@ -2319,10 +2332,10 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.order = function(littleEndian) { + ByteBufferPrototype.order = function(littleEndian) { if (!this.noAssert) { if (typeof littleEndian !== 'boolean') - throw new TypeError("Illegal littleEndian: Not a boolean"); + throw TypeError("Illegal littleEndian: Not a boolean"); } this.littleEndian = !!littleEndian; return this; @@ -2334,7 +2347,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.LE = function(littleEndian) { + ByteBufferPrototype.LE = function(littleEndian) { this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; return this; }; @@ -2345,7 +2358,7 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.BE = function(bigEndian) { + ByteBufferPrototype.BE = function(bigEndian) { this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; return this; }; @@ -2363,7 +2376,7 @@ module.exports = (function() { * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` */ - ByteBuffer.prototype.prepend = function(source, encoding, offset) { + ByteBufferPrototype.prepend = function(source, encoding, offset) { if (typeof encoding === 'number' || typeof encoding !== 'string') { offset = encoding; encoding = undefined; @@ -2372,10 +2385,10 @@ module.exports = (function() { if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) - throw new RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } if (!(source instanceof ByteBuffer)) source = ByteBuffer.wrap(source, encoding); @@ -2408,7 +2421,7 @@ module.exports = (function() { * @expose * @see ByteBuffer#prepend */ - ByteBuffer.prototype.prependTo = function(target, offset) { + ByteBufferPrototype.prependTo = function(target, offset) { target.prepend(this, offset); return this; }; @@ -2417,7 +2430,7 @@ module.exports = (function() { * @param {function(string)=} out Output function to call, defaults to console.log * @expose */ - ByteBuffer.prototype.printDebug = function(out) { + ByteBufferPrototype.printDebug = function(out) { if (typeof out !== 'function') out = console.log.bind(console); out( this.toString()+"\n"+ @@ -2432,7 +2445,7 @@ module.exports = (function() { * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. * @expose */ - ByteBuffer.prototype.remaining = function() { + ByteBufferPrototype.remaining = function() { return this.limit - this.offset; }; /** @@ -2443,7 +2456,7 @@ module.exports = (function() { * @see ByteBuffer#mark * @expose */ - ByteBuffer.prototype.reset = function() { + ByteBufferPrototype.reset = function() { if (this.markedOffset >= 0) { this.offset = this.markedOffset; this.markedOffset = -1; @@ -2461,13 +2474,13 @@ module.exports = (function() { * @throws {RangeError} If `capacity < 0` * @expose */ - ByteBuffer.prototype.resize = function(capacity) { + ByteBufferPrototype.resize = function(capacity) { if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) - throw new TypeError("Illegal capacity: "+capacity+" (not an integer)"); + throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; if (capacity < 0) - throw new RangeError("Illegal capacity: 0 <= "+capacity); + throw RangeError("Illegal capacity: 0 <= "+capacity); } if (this.buffer.length < capacity) { var buffer = new Buffer(capacity); @@ -2483,18 +2496,18 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.reverse = function(begin, end) { + ByteBufferPrototype.reverse = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } if (begin === end) return this; // Nothing to reverse @@ -2507,16 +2520,16 @@ module.exports = (function() { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.skip = function(length) { + ByteBufferPrototype.skip = function(length) { if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) - throw new TypeError("Illegal length: "+length+" (not an integer)"); + throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; } var offset = this.offset + length; if (!this.noAssert) { if (offset < 0 || offset > this.buffer.length) - throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.length); + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.length); } this.offset = offset; return this; @@ -2529,18 +2542,18 @@ module.exports = (function() { * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} * @expose */ - ByteBuffer.prototype.slice = function(begin, end) { + ByteBufferPrototype.slice = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } var bb = this.clone(); bb.offset = begin; @@ -2556,7 +2569,7 @@ module.exports = (function() { * @returns {!Buffer} Contents as a Buffer * @expose */ - ByteBuffer.prototype.toBuffer = function(forceCopy) { + ByteBufferPrototype.toBuffer = function(forceCopy) { var offset = this.offset, limit = this.limit; if (offset > limit) { @@ -2566,13 +2579,13 @@ module.exports = (function() { } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: Not an integer"); + throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; if (typeof limit !== 'number' || limit % 1 !== 0) - throw new TypeError("Illegal limit: Not an integer"); + throw TypeError("Illegal limit: Not an integer"); limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); } if (forceCopy) { var buffer = new Buffer(limit - offset); @@ -2593,7 +2606,7 @@ module.exports = (function() { * Defaults to `false` * @returns {!ArrayBuffer} Contents as an ArrayBuffer */ - ByteBuffer.prototype.toArrayBuffer = function() { + ByteBufferPrototype.toArrayBuffer = function() { var offset = this.offset, limit = this.limit; if (offset > limit) { @@ -2603,13 +2616,13 @@ module.exports = (function() { } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: Not an integer"); + throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; if (typeof limit !== 'number' || limit % 1 !== 0) - throw new TypeError("Illegal limit: Not an integer"); + throw TypeError("Illegal limit: Not an integer"); limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); } var ab = new ArrayBuffer(limit - offset); if (memcpy) { // Fast @@ -2629,28 +2642,34 @@ module.exports = (function() { * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} * @returns {string} String representation * @throws {Error} If `encoding` is invalid * @expose */ - ByteBuffer.prototype.toString = function(encoding) { + ByteBufferPrototype.toString = function(encoding, begin, end) { if (typeof encoding === 'undefined') return "ByteBufferNB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; switch (encoding) { case "utf8": - return this.toUTF8(); + return this.toUTF8(begin, end); case "base64": - return this.toBase64(); + return this.toBase64(begin, end); case "hex": - return this.toHex(); + return this.toHex(begin, end); case "binary": - return this.toBinary(); + return this.toBinary(begin, end); case "debug": return this.toDebug(); case "columns": return this.toColumns(); default: - throw new Error("Unsupported encoding: "+encoding); + throw Error("Unsupported encoding: "+encoding); } }; @@ -2663,18 +2682,20 @@ module.exports = (function() { * @returns {string} Base64 encoded string * @expose */ - ByteBuffer.prototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; + ByteBufferPrototype.toBase64 = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.toString("base64", begin, end); }; @@ -2692,9 +2713,9 @@ module.exports = (function() { ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (str.length % 4 !== 0) - throw new TypeError("Illegal str: Length not a multiple of 4"); + throw TypeError("Illegal str: Length not a multiple of 4"); } var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, "base64"); @@ -2745,18 +2766,18 @@ module.exports = (function() { * @throws {RangeError} If `offset > limit` * @expose */ - ByteBuffer.prototype.toBinary = function(begin, end) { + ByteBufferPrototype.toBinary = function(begin, end) { begin = typeof begin === 'undefined' ? this.offset : begin; end = typeof end === 'undefined' ? this.limit : end; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.toString("binary", begin, end); }; @@ -2774,7 +2795,7 @@ module.exports = (function() { ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); } var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, 'binary'); @@ -2802,7 +2823,7 @@ module.exports = (function() { * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` */ - ByteBuffer.prototype.toDebug = function(columns) { + ByteBufferPrototype.toDebug = function(columns) { var i = -1, k = this.buffer.length, b, @@ -2944,19 +2965,19 @@ module.exports = (function() { b = parseInt(ch+str.charAt(i++), 16); if (!noAssert) { if (isNaN(b) || b < 0 || b > 255) - throw new TypeError("Illegal str: Not a debug encoded string"); + throw TypeError("Illegal str: Not a debug encoded string"); } bb.buffer[j++] = b; rs = true; } if (fail) - throw new TypeError("Illegal str: Invalid symbol at "+i); + throw TypeError("Illegal str: Invalid symbol at "+i); } if (!noAssert) { if (!ho || !hl) - throw new TypeError("Illegal str: Missing offset or limit"); + throw TypeError("Illegal str: Missing offset or limit"); if (j>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } return this.buffer.toString("hex", begin, end); }; @@ -2999,9 +3020,9 @@ module.exports = (function() { ByteBuffer.fromHex = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (str.length % 2 !== 0) - throw new TypeError("Illegal str: Length not a multiple of 2"); + throw TypeError("Illegal str: Length not a multiple of 2"); } var bb = new ByteBuffer(0, littleEndian, true); bb.buffer = new Buffer(str, "hex"); @@ -3217,20 +3238,20 @@ module.exports = (function() { * @throws {RangeError} If `offset > limit` * @expose */ - ByteBuffer.prototype.toUTF8 = function(begin, end) { + ByteBufferPrototype.toUTF8 = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: Not an integer"); + throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: Not an integer"); + throw TypeError("Illegal end: Not an integer"); end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) - throw new RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } - return this.buffer.slice(begin, end).toString("utf8"); + return this.buffer.toString("utf8", begin, end); }; /** @@ -3244,10 +3265,9 @@ module.exports = (function() { * @expose */ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) { + if (!noAssert) if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); - } + throw TypeError("Illegal str: Not a string"); var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, "utf8"); bb.limit = bb.buffer.length; diff --git a/package.json b/package.json index d1f9a24..40c1d77 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.3.0", + "version": "3.3.1", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -25,7 +25,7 @@ "closurecompiler": "~1" }, "optionalDependencies": { - "memcpy": "~0.5" + "memcpy": "~0.5" }, "license": "Apache-2.0", "engines": { diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index e08fcd4..5c90ec2 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -18,11 +18,9 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { if (!noAssert) { capacity = capacity | 0; if (capacity < 0) - throw new RangeError("Illegal capacity: 0 <= "+capacity); - if (typeof littleEndian !== 'boolean') - throw new TypeError("Illegal littleEndian: Not a boolean"); - if (typeof noAssert !== 'boolean') - throw new TypeError("Illegal noAssert: Not a boolean"); + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; } //? if (NODE) { @@ -170,6 +168,12 @@ ByteBuffer.Long = Long; ByteBuffer.Long = Long || null; //? } +/** + * @alias ByteBuffer.prototype + * @inner + */ +var ByteBufferPrototype = ByteBuffer.prototype; + //? include("helpers.js"); //? include("methods/static/*.js"); diff --git a/src/encodings/base64.js b/src/encodings/base64.js index 50a1cc1..16ac8a2 100644 --- a/src/encodings/base64.js +++ b/src/encodings/base64.js @@ -14,9 +14,11 @@ * @returns {string} Base64 encoded string * @expose */ -ByteBuffer.prototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; +ByteBufferPrototype.toBase64 = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; if (!this.noAssert) { //? ASSERT_RANGE(); } @@ -43,9 +45,9 @@ ByteBuffer.prototype.toBase64 = function(begin, end) { ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); if (str.length % 4 !== 0) - throw new TypeError("Illegal str: Length not a multiple of 4"); + throw TypeError("Illegal str: Length not a multiple of 4"); } //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); diff --git a/src/encodings/binary.js b/src/encodings/binary.js index c55baf9..297472c 100644 --- a/src/encodings/binary.js +++ b/src/encodings/binary.js @@ -22,7 +22,7 @@ * @throws {RangeError} If `offset > limit` * @expose */ -ByteBuffer.prototype.toBinary = function(begin, end) { +ByteBufferPrototype.toBinary = function(begin, end) { begin = typeof begin === 'undefined' ? this.offset : begin; end = typeof end === 'undefined' ? this.limit : end; if (!this.noAssert) { @@ -31,14 +31,19 @@ ByteBuffer.prototype.toBinary = function(begin, end) { //? if (NODE) return this.buffer.toString("binary", begin, end); //? else { - if (begin === end) return ""; - var out = []; - while (begin < end) + if (begin === end) + return ""; + var cc = [], pt = []; + while (begin < end) { //? if (NODE) - out.push(this.buffer[begin++]); + cc.push(this.buffer[begin++]); //? else - out.push(this.view.getUint8(begin++)); - return String.fromCharCode.apply(String, out); + cc.push(this.view.getUint8(begin++)); + if (cc.length >= 1024) + pt.push(String.fromCharCode.apply(String, cc)), + cc = []; + } + return pt.join('') + String.fromCharCode.apply(String, cc); //? } }; @@ -55,7 +60,7 @@ ByteBuffer.prototype.toBinary = function(begin, end) { ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { if (!noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); } //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); @@ -70,7 +75,7 @@ ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { while (i 255) - throw new TypeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); //? if (NODE) bb.buffer[i++] = charCode; //? else diff --git a/src/encodings/debug.js b/src/encodings/debug.js index d8468d3..076e6dc 100644 --- a/src/encodings/debug.js +++ b/src/encodings/debug.js @@ -18,7 +18,7 @@ * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` */ -ByteBuffer.prototype.toDebug = function(columns) { +ByteBufferPrototype.toDebug = function(columns) { var i = -1, //? if (NODE) k = this.buffer.length, @@ -173,7 +173,7 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { b = parseInt(ch+str.charAt(i++), 16); if (!noAssert) { if (isNaN(b) || b < 0 || b > 255) - throw new TypeError("Illegal str: Not a debug encoded string"); + throw TypeError("Illegal str: Not a debug encoded string"); } //? if (NODE) bb.buffer[j++] = b; @@ -182,16 +182,16 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { rs = true; } if (fail) - throw new TypeError("Illegal str: Invalid symbol at "+i); + throw TypeError("Illegal str: Invalid symbol at "+i); } if (!noAssert) { if (!ho || !hl) - throw new TypeError("Illegal str: Missing offset or limit"); + throw TypeError("Illegal str: Missing offset or limit"); //? if (NODE) if (j 255) - throw new TypeError("Illegal str: Contains non-hex characters"); - } + throw TypeError("Illegal str: Contains non-hex characters"); bb.view.setUint8(j++, b); } bb.limit = j; diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index 4a502b1..93a20b3 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -12,22 +12,22 @@ * @throws {RangeError} If `offset > limit` * @expose */ -ByteBuffer.prototype.toUTF8 = function(begin, end) { +ByteBufferPrototype.toUTF8 = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { //? ASSERT_RANGE(); } //? if (NODE) - return this.buffer.slice(begin, end).toString("utf8"); + return this.buffer.toString("utf8", begin, end); //? else { - var bb = this, sd; try { + var sd; try { utfx.decodeUTF8toUTF16(function() { - return begin < end ? bb.view.getUint8(begin++) : null; - }, sd = stringDestination()); + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); } catch (e) { if (begin !== end) - throw new RangeError("Illegal range: Truncated data, "+begin+" != "+end); + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); } return sd(); //? } @@ -44,10 +44,9 @@ ByteBuffer.prototype.toUTF8 = function(begin, end) { * @expose */ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) { + if (!noAssert) if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); - } + throw TypeError("Illegal str: Not a string"); //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, "utf8"); diff --git a/src/helpers.js b/src/helpers.js index b4bcc94..fd0462f 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -26,7 +26,7 @@ var EMPTY_BUFFER = new ArrayBuffer(0); */ function assertInteger(value, unsigned) { if (typeof value !== 'number' || value % 1 !== 0) - throw new TypeError("Illegal value: "+offset+" (not an integer)"); + throw TypeError("Illegal value: "+offset+" (not an integer)"); return unsigned ? value >>> 0 : value | 0; } @@ -48,7 +48,7 @@ function assertLong(value, unsigned) { } return value; } else - throw new TypeError("Illegal value: "+value+" (not an integer or Long)"); + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); } /** @@ -64,10 +64,10 @@ function assertLong(value, unsigned) { */ function assertOffset(offset, min, cap, size) { if (typeof offset !== 'number' || offset % 1 !== 0) - throw new TypeError("Illegal offset: "+offset+" (not an integer)"); + throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset = offset | 0; if (offset < min || offset > cap-size) - throw new RangeError("Illegal offset: "+min+" <= "+value+" <= "+cap+"-"+size); + throw RangeError("Illegal offset: "+min+" <= "+value+" <= "+cap+"-"+size); return offset; } @@ -89,13 +89,13 @@ var rangeVal = new Array(2); */ function assertRange(begin, end, min, cap) { if (typeof begin !== 'number' || begin % 1 !== 0) - throw new TypeError("Illegal begin: "+begin+" (not a number)"); + throw TypeError("Illegal begin: "+begin+" (not a number)"); begin = begin | 0; if (typeof end !== 'number' || end % 1 !== 0) - throw new TypeError("Illegal end: "+range[1]+" (not a number)"); + throw TypeError("Illegal end: "+range[1]+" (not a number)"); end = end | 0; if (begin < min || begin > end || end > cap) - throw new RangeError("Illegal range: "+min+" <= "+begin+" <= "+end+" <= "+cap); + throw RangeError("Illegal range: "+min+" <= "+begin+" <= "+end+" <= "+cap); rangeVal[0] = begin; rangeVal[1] = end; } //? } diff --git a/src/macros.js b/src/macros.js index a2f024f..57afc03 100644 --- a/src/macros.js +++ b/src/macros.js @@ -9,7 +9,7 @@ ASSERT_INTEGER = function(varValue, unsigned) { if (VERBOSE_MS) writeln(__+'// '); if (INLINE) { writeln(__+'if (typeof '+varValue+' !== \'number\' || '+varValue+' % 1 !== 0)'); - writeln(__+' throw new TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer)");'); + writeln(__+' throw TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer)");'); writeln(__+varValue+' '+(unsigned ? '>>>' : '|')+'= 0;'); } else { writeln(__+varValue+' = assertInteger('+varValue+(typeof unsigned !== 'undefined' ? ', '+unsigned : '')+');'); @@ -35,7 +35,7 @@ ASSERT_LONG = function(varValue, unsigned) { } else { writeln(__+'else if (!('+varValue+' && '+varValue+' instanceof Long))'); } - writeln(__+' throw new TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer or Long)");'); + writeln(__+' throw TypeError("Illegal '+varValue+': "+'+varValue+'+" (not an integer or Long)");'); } else { writeln(__+varValue+' = assertLong('+varValue+(typeof unsigned !== 'undefined' ? ', '+unsigned : '')+');'); } @@ -61,10 +61,10 @@ ASSERT_OFFSET = function(size, varOffset) { if (VERBOSE_MS) writeln(__+'// '); if (INLINE) { writeln(__+'if (typeof '+varOffset+' !== \'number\' || '+varOffset+' % 1 !== 0)'); - writeln(__+' throw new TypeError("Illegal '+varOffset+': "+'+varOffset+'+" (not an integer)");'); + writeln(__+' throw TypeError("Illegal '+varOffset+': "+'+varOffset+'+" (not an integer)");'); writeln(__+varOffset+' >>>= 0;'); writeln(__+'if ('+varOffset+' < 0 || '+varOffset+' + '+size+' > '+CAPACITY+')'); - writeln(__+' throw new RangeError("Illegal '+varOffset+': 0 <= "+'+varOffset+'+" (+"+'+size+'+") <= "+'+CAPACITY+');'); + writeln(__+' throw RangeError("Illegal '+varOffset+': 0 <= "+'+varOffset+'+" (+"+'+size+'+") <= "+'+CAPACITY+');'); } else { writeln(__+varOffset+' = assertOffset('+varOffset+', 0, '+CAPACITY+', '+size+');'); } @@ -78,13 +78,13 @@ ASSERT_RANGE = function(varBegin, varEnd) { if (VERBOSE_MS) writeln(__+'// '); if (INLINE) { writeln(__+'if (typeof '+varBegin+' !== \'number\' || '+varBegin+' % 1 !== 0)'); - writeln(__+' throw new TypeError("Illegal '+varBegin+': Not an integer");'); + writeln(__+' throw TypeError("Illegal '+varBegin+': Not an integer");'); writeln(__+varBegin+' >>>= 0;'); writeln(__+'if (typeof '+varEnd+' !== \'number\' || '+varEnd+' % 1 !== 0)'); - writeln(__+' throw new TypeError("Illegal '+varEnd+': Not an integer");'); + writeln(__+' throw TypeError("Illegal '+varEnd+': Not an integer");'); writeln(__+varEnd+' >>>= 0;'); writeln(__+'if ('+varBegin+' < 0 || '+varBegin+' > '+varEnd+' || '+varEnd+' > '+CAPACITY+')'); - writeln(__+' throw new RangeError("Illegal range: 0 <= "+'+varBegin+'+" <= "+'+varEnd+'+" <= "+'+CAPACITY+');'); + writeln(__+' throw RangeError("Illegal range: 0 <= "+'+varBegin+'+" <= "+'+varEnd+'+" <= "+'+CAPACITY+');'); } else { writeln(__+'assertRange('+varBegin+', '+varEnd+', 0, '+CAPACITY+');'); writeln(__+varBegin+' = rangeVal[0]; '+varEnd+' = rangeVal[1];'); diff --git a/src/methods/append.js b/src/methods/append.js index c7730a9..223c5e7 100644 --- a/src/methods/append.js +++ b/src/methods/append.js @@ -16,7 +16,7 @@ * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` */ -ByteBuffer.prototype.append = function(source, encoding, offset) { +ByteBufferPrototype.append = function(source, encoding, offset) { if (typeof encoding === 'number' || typeof encoding !== 'string') { offset = encoding; encoding = undefined; @@ -50,7 +50,7 @@ ByteBuffer.prototype.append = function(source, encoding, offset) { * @expose * @see ByteBuffer#append */ -ByteBuffer.prototype.appendTo = function(target, offset) { +ByteBufferPrototype.appendTo = function(target, offset) { target.append(this, offset); return this; }; diff --git a/src/methods/assert.js b/src/methods/assert.js index b7abaef..52edfbd 100644 --- a/src/methods/assert.js +++ b/src/methods/assert.js @@ -5,7 +5,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.assert = function(assert) { +ByteBufferPrototype.assert = function(assert) { this.noAssert = !assert; return this; }; diff --git a/src/methods/capacity.js b/src/methods/capacity.js index afc7872..e87db28 100644 --- a/src/methods/capacity.js +++ b/src/methods/capacity.js @@ -3,7 +3,7 @@ * @returns {number} Capacity of the backing buffer * @expose */ -ByteBuffer.prototype.capacity = function() { +ByteBufferPrototype.capacity = function() { return /*?= CAPACITY */; }; diff --git a/src/methods/clear.js b/src/methods/clear.js index 421b057..be5aa28 100644 --- a/src/methods/clear.js +++ b/src/methods/clear.js @@ -4,7 +4,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.clear = function() { +ByteBufferPrototype.clear = function() { this.offset = 0; this.limit = /*?= CAPACITY */; this.markedOffset = -1; diff --git a/src/methods/clone.js b/src/methods/clone.js index bdaed25..b9aa8a6 100644 --- a/src/methods/clone.js +++ b/src/methods/clone.js @@ -5,7 +5,7 @@ * @returns {!ByteBuffer} Cloned instance * @expose */ -ByteBuffer.prototype.clone = function(copy) { +ByteBufferPrototype.clone = function(copy) { var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); if (copy) { //? if (NODE) { diff --git a/src/methods/compact.js b/src/methods/compact.js index f1f991b..3f9efd5 100644 --- a/src/methods/compact.js +++ b/src/methods/compact.js @@ -7,7 +7,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.compact = function(begin, end) { +ByteBufferPrototype.compact = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { diff --git a/src/methods/copy.js b/src/methods/copy.js index 5f57f8e..f652dc3 100644 --- a/src/methods/copy.js +++ b/src/methods/copy.js @@ -6,7 +6,7 @@ * @returns {!ByteBuffer} Copy * @expose */ -ByteBuffer.prototype.copy = function(begin, end) { +ByteBufferPrototype.copy = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { @@ -35,12 +35,12 @@ ByteBuffer.prototype.copy = function(begin, end) { * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { +ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { var relative, targetRelative; if (!this.noAssert) { if (!ByteBuffer.isByteBuffer(target)) - throw new TypeError("Illegal target: Not a ByteBuffer"); + throw TypeError("Illegal target: Not a ByteBuffer"); } targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; @@ -48,9 +48,9 @@ ByteBuffer.prototype.copyTo = function(target, targetOffset, sourceOffset, sourc //? var TARGET_CAPACITY = NODE ? 'target.buffer.length' : 'target.buffer.byteLength'; if (targetOffset < 0 || targetOffset > /*?= TARGET_CAPACITY */) - throw new RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+/*?= TARGET_CAPACITY */); + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+/*?= TARGET_CAPACITY */); if (sourceOffset < 0 || sourceLimit > /*?= CAPACITY */) - throw new RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+/*?= CAPACITY */); + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+/*?= CAPACITY */); var len = sourceLimit - sourceOffset; if (len === 0) diff --git a/src/methods/ensureCapacity.js b/src/methods/ensureCapacity.js index 36655f3..6c30fd1 100644 --- a/src/methods/ensureCapacity.js +++ b/src/methods/ensureCapacity.js @@ -6,7 +6,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.ensureCapacity = function(capacity) { +ByteBufferPrototype.ensureCapacity = function(capacity) { var current = /*?= CAPACITY */; if (current < capacity) return this.resize((current *= 2) > capacity ? current : capacity); diff --git a/src/methods/fill.js b/src/methods/fill.js index 25fdb86..a8fb075 100644 --- a/src/methods/fill.js +++ b/src/methods/fill.js @@ -9,7 +9,7 @@ * @expose * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes */ -ByteBuffer.prototype.fill = function(value, begin, end) { +ByteBufferPrototype.fill = function(value, begin, end) { //? RELATIVE(undefined, 'begin'); if (typeof value === 'string' && value.length > 0) value = value.charCodeAt(0); diff --git a/src/methods/flip.js b/src/methods/flip.js index 94bd927..ca93329 100644 --- a/src/methods/flip.js +++ b/src/methods/flip.js @@ -4,7 +4,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.flip = function() { +ByteBufferPrototype.flip = function() { this.limit = this.offset; this.offset = 0; return this; diff --git a/src/methods/mark.js b/src/methods/mark.js index b58fa50..c81c791 100644 --- a/src/methods/mark.js +++ b/src/methods/mark.js @@ -7,7 +7,7 @@ * @see ByteBuffer#reset * @expose */ -ByteBuffer.prototype.mark = function(offset) { +ByteBufferPrototype.mark = function(offset) { offset = typeof offset === 'undefined' ? this.offset : offset; if (!this.noAssert) { //? ASSERT_OFFSET(); diff --git a/src/methods/order.js b/src/methods/order.js index d00baf9..2d11d67 100644 --- a/src/methods/order.js +++ b/src/methods/order.js @@ -4,10 +4,10 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.order = function(littleEndian) { +ByteBufferPrototype.order = function(littleEndian) { if (!this.noAssert) { if (typeof littleEndian !== 'boolean') - throw new TypeError("Illegal littleEndian: Not a boolean"); + throw TypeError("Illegal littleEndian: Not a boolean"); } this.littleEndian = !!littleEndian; return this; @@ -19,7 +19,7 @@ ByteBuffer.prototype.order = function(littleEndian) { * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.LE = function(littleEndian) { +ByteBufferPrototype.LE = function(littleEndian) { this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; return this; }; @@ -30,7 +30,7 @@ ByteBuffer.prototype.LE = function(littleEndian) { * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.BE = function(bigEndian) { +ByteBufferPrototype.BE = function(bigEndian) { this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; return this; }; diff --git a/src/methods/prepend.js b/src/methods/prepend.js index e5fb6af..a39d6dc 100644 --- a/src/methods/prepend.js +++ b/src/methods/prepend.js @@ -17,7 +17,7 @@ * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` */ -ByteBuffer.prototype.prepend = function(source, encoding, offset) { +ByteBufferPrototype.prepend = function(source, encoding, offset) { if (typeof encoding === 'number' || typeof encoding !== 'string') { offset = encoding; encoding = undefined; @@ -76,7 +76,7 @@ ByteBuffer.prototype.prepend = function(source, encoding, offset) { * @expose * @see ByteBuffer#prepend */ -ByteBuffer.prototype.prependTo = function(target, offset) { +ByteBufferPrototype.prependTo = function(target, offset) { target.prepend(this, offset); return this; }; diff --git a/src/methods/printDebug.js b/src/methods/printDebug.js index d0ac469..4e089bd 100644 --- a/src/methods/printDebug.js +++ b/src/methods/printDebug.js @@ -4,7 +4,7 @@ * @param {function(string)=} out Output function to call, defaults to console.log * @expose */ -ByteBuffer.prototype.printDebug = function(out) { +ByteBufferPrototype.printDebug = function(out) { if (typeof out !== 'function') out = console.log.bind(console); out( this.toString()+"\n"+ diff --git a/src/methods/remaining.js b/src/methods/remaining.js index 76cd995..a23e21d 100644 --- a/src/methods/remaining.js +++ b/src/methods/remaining.js @@ -4,6 +4,6 @@ * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. * @expose */ -ByteBuffer.prototype.remaining = function() { +ByteBufferPrototype.remaining = function() { return this.limit - this.offset; }; diff --git a/src/methods/reset.js b/src/methods/reset.js index 57d9ef9..3665eaa 100644 --- a/src/methods/reset.js +++ b/src/methods/reset.js @@ -6,7 +6,7 @@ * @see ByteBuffer#mark * @expose */ -ByteBuffer.prototype.reset = function() { +ByteBufferPrototype.reset = function() { if (this.markedOffset >= 0) { this.offset = this.markedOffset; this.markedOffset = -1; diff --git a/src/methods/resize.js b/src/methods/resize.js index d922ac1..fdb234b 100644 --- a/src/methods/resize.js +++ b/src/methods/resize.js @@ -7,11 +7,11 @@ * @throws {RangeError} If `capacity < 0` * @expose */ -ByteBuffer.prototype.resize = function(capacity) { +ByteBufferPrototype.resize = function(capacity) { if (!this.noAssert) { //? ASSERT_INTEGER('capacity'); if (capacity < 0) - throw new RangeError("Illegal capacity: 0 <= "+capacity); + throw RangeError("Illegal capacity: 0 <= "+capacity); } //? if (NODE) { if (this.buffer.length < capacity) { diff --git a/src/methods/reverse.js b/src/methods/reverse.js index 3cb92b4..6d52180 100644 --- a/src/methods/reverse.js +++ b/src/methods/reverse.js @@ -5,7 +5,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.reverse = function(begin, end) { +ByteBufferPrototype.reverse = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { diff --git a/src/methods/skip.js b/src/methods/skip.js index f9182c4..5dfb7a2 100644 --- a/src/methods/skip.js +++ b/src/methods/skip.js @@ -4,14 +4,14 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.skip = function(length) { +ByteBufferPrototype.skip = function(length) { if (!this.noAssert) { //? ASSERT_INTEGER('length'); } var offset = this.offset + length; if (!this.noAssert) { if (offset < 0 || offset > /*?= CAPACITY */) - throw new RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+/*?= CAPACITY */); + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+/*?= CAPACITY */); } this.offset = offset; return this; diff --git a/src/methods/slice.js b/src/methods/slice.js index 549dd84..20c5767 100644 --- a/src/methods/slice.js +++ b/src/methods/slice.js @@ -5,7 +5,7 @@ * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} * @expose */ -ByteBuffer.prototype.slice = function(begin, end) { +ByteBufferPrototype.slice = function(begin, end) { if (typeof begin === 'undefined') begin = this.offset; if (typeof end === 'undefined') end = this.limit; if (!this.noAssert) { diff --git a/src/methods/static/concat.js b/src/methods/static/concat.js index 27b0e68..653c532 100644 --- a/src/methods/static/concat.js +++ b/src/methods/static/concat.js @@ -27,7 +27,8 @@ ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { length = buffers[i].limit - buffers[i].offset; if (length > 0) capacity += length; } - if (capacity === 0) return new ByteBuffer(0, littleEndian, noAssert); + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); var bb = new ByteBuffer(capacity, littleEndian, noAssert), bi; //? if (!NODE) diff --git a/src/methods/static/isByteBuffer.js b/src/methods/static/isByteBuffer.js index c91e762..1ada067 100644 --- a/src/methods/static/isByteBuffer.js +++ b/src/methods/static/isByteBuffer.js @@ -5,6 +5,5 @@ * @expose */ ByteBuffer.isByteBuffer = function(bb) { - return bb && bb instanceof ByteBuffer; + return (bb && bb instanceof ByteBuffer) === true; }; - diff --git a/src/methods/static/wrap.js b/src/methods/static/wrap.js index 8af19f6..63eb969 100644 --- a/src/methods/static/wrap.js +++ b/src/methods/static/wrap.js @@ -22,7 +22,8 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { encoding = undefined; } if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') encoding = "utf8"; + if (typeof encoding === 'undefined') + encoding = "utf8"; switch (encoding) { //? if (BASE64) { case "base64": @@ -41,14 +42,14 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { return ByteBuffer.fromDebug(buffer, littleEndian); //? } default: - throw new TypeError("Unsupported encoding: "+encoding); + throw Error("Unsupported encoding: "+encoding); } } if (buffer === null || typeof buffer !== 'object') - throw new TypeError("Illegal buffer: null or non-object"); + throw TypeError("Illegal buffer"); var bb; if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBuffer.prototype.clone.call(buffer); + bb = ByteBufferPrototype.clone.call(buffer); bb.markedOffset = -1; return bb; } @@ -78,7 +79,7 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { buffer = b; } else if (!(buffer instanceof Buffer)) { // Create from octets if it is an error, otherwise fail if (Object.prototype.toString.call(buffer) !== "[object Array]") - throw new TypeError("Illegal buffer"); + throw TypeError("Illegal buffer"); buffer = new Buffer(buffer); } bb = new ByteBuffer(0, littleEndian, noAssert); @@ -111,7 +112,7 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { for (i=0; i limit) { @@ -56,7 +56,7 @@ ByteBuffer.prototype.toBuffer = function(forceCopy) { * Defaults to `false` * @returns {!ArrayBuffer} Contents as an ArrayBuffer */ -ByteBuffer.prototype.toArrayBuffer = function() { +ByteBufferPrototype.toArrayBuffer = function() { var offset = this.offset, limit = this.limit; if (offset > limit) { @@ -90,7 +90,7 @@ ByteBuffer.prototype.toArrayBuffer = function() { * @returns {!ArrayBuffer} Contents as an ArrayBuffer * @expose */ -ByteBuffer.prototype.toArrayBuffer = ByteBuffer.prototype.toBuffer; +ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; //? } diff --git a/src/methods/toString.js b/src/methods/toString.js index e117e1a..a5a3bab 100644 --- a/src/methods/toString.js +++ b/src/methods/toString.js @@ -3,27 +3,33 @@ * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} * @returns {string} String representation * @throws {Error} If `encoding` is invalid * @expose */ -ByteBuffer.prototype.toString = function(encoding) { +ByteBufferPrototype.toString = function(encoding, begin, end) { if (typeof encoding === 'undefined') return "ByteBuffer/*?= NODE ? 'NB' : 'AB' */(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; switch (encoding) { //? if (ENCODINGS) { //? if (UTF8) { case "utf8": - return this.toUTF8(); + return this.toUTF8(begin, end); //? } if (BASE64) { case "base64": - return this.toBase64(); + return this.toBase64(begin, end); //? } if (HEX) { case "hex": - return this.toHex(); + return this.toHex(begin, end); //? } if (BINARY) { case "binary": - return this.toBinary(); + return this.toBinary(begin, end); //? } if (DEBUG) { case "debug": return this.toDebug(); @@ -32,6 +38,6 @@ ByteBuffer.prototype.toString = function(encoding) { //? } //? } // ENCODINGS default: - throw new Error("Unsupported encoding: "+encoding); + throw Error("Unsupported encoding: "+encoding); } }; diff --git a/src/types/floats/float32.js b/src/types/floats/float32.js index 1d56007..9a76c1b 100644 --- a/src/types/floats/float32.js +++ b/src/types/floats/float32.js @@ -8,11 +8,11 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeFloat32 = function(value, offset) { +ByteBufferPrototype.writeFloat32 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { if (typeof value !== 'number') - throw new TypeError("Illegal value: "+value+" (not a number)"); + throw TypeError("Illegal value: "+value+" (not a number)"); //? ASSERT_OFFSET(); } //? ENSURE_CAPACITY(4); @@ -35,7 +35,7 @@ ByteBuffer.prototype.writeFloat32 = function(value, offset) { * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeFloat = ByteBuffer.prototype.writeFloat32; +ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; //? } /** @@ -44,7 +44,7 @@ ByteBuffer.prototype.writeFloat = ByteBuffer.prototype.writeFloat32; * @returns {number} * @expose */ -ByteBuffer.prototype.readFloat32 = function(offset) { +ByteBufferPrototype.readFloat32 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(4); @@ -67,7 +67,7 @@ ByteBuffer.prototype.readFloat32 = function(offset) { * @returns {number} * @expose */ -ByteBuffer.prototype.readFloat = ByteBuffer.prototype.readFloat32; +ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; //? } //? } \ No newline at end of file diff --git a/src/types/floats/float64.js b/src/types/floats/float64.js index 03d1606..86bef86 100644 --- a/src/types/floats/float64.js +++ b/src/types/floats/float64.js @@ -8,11 +8,11 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeFloat64 = function(value, offset) { +ByteBufferPrototype.writeFloat64 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { if (typeof value !== 'number') - throw new TypeError("Illegal value: "+value+" (not a number)"); + throw TypeError("Illegal value: "+value+" (not a number)"); //? ASSERT_OFFSET(); } //? ENSURE_CAPACITY(8); @@ -35,7 +35,7 @@ ByteBuffer.prototype.writeFloat64 = function(value, offset) { * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeDouble = ByteBuffer.prototype.writeFloat64; +ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; //? } /** @@ -44,7 +44,7 @@ ByteBuffer.prototype.writeDouble = ByteBuffer.prototype.writeFloat64; * @returns {number} * @expose */ -ByteBuffer.prototype.readFloat64 = function(offset) { +ByteBufferPrototype.readFloat64 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(8); @@ -67,7 +67,7 @@ ByteBuffer.prototype.readFloat64 = function(offset) { * @returns {number} * @expose */ -ByteBuffer.prototype.readDouble = ByteBuffer.prototype.readFloat64; +ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; //? } //? } \ No newline at end of file diff --git a/src/types/ints/int16.js b/src/types/ints/int16.js index 9a787eb..d4ae802 100644 --- a/src/types/ints/int16.js +++ b/src/types/ints/int16.js @@ -9,7 +9,7 @@ * @throws {RangeError} If `offset` is out of bounds * @expose */ -ByteBuffer.prototype.writeInt16 = function(value, offset) { +ByteBufferPrototype.writeInt16 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value'); @@ -40,7 +40,7 @@ ByteBuffer.prototype.writeInt16 = function(value, offset) { * @throws {RangeError} If `offset` is out of bounds * @expose */ -ByteBuffer.prototype.writeShort = ByteBuffer.prototype.writeInt16; +ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; //? } /** @@ -51,7 +51,7 @@ ByteBuffer.prototype.writeShort = ByteBuffer.prototype.writeInt16; * @throws {RangeError} If `offset` is out of bounds * @expose */ -ByteBuffer.prototype.readInt16 = function(offset) { +ByteBufferPrototype.readInt16 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(2); @@ -82,7 +82,7 @@ ByteBuffer.prototype.readInt16 = function(offset) { * @throws {RangeError} If `offset` is out of bounds * @expose */ -ByteBuffer.prototype.readShort = ByteBuffer.prototype.readInt16; +ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; //? } /** @@ -93,7 +93,7 @@ ByteBuffer.prototype.readShort = ByteBuffer.prototype.readInt16; * @throws {RangeError} If `offset` is out of bounds * @expose */ -ByteBuffer.prototype.writeUint16 = function(value, offset) { +ByteBufferPrototype.writeUint16 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value', true); @@ -122,7 +122,7 @@ ByteBuffer.prototype.writeUint16 = function(value, offset) { * @throws {RangeError} If `offset` is out of bounds * @expose */ -ByteBuffer.prototype.readUint16 = function(offset) { +ByteBufferPrototype.readUint16 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(2); diff --git a/src/types/ints/int32.js b/src/types/ints/int32.js index 9dc9552..92a4885 100644 --- a/src/types/ints/int32.js +++ b/src/types/ints/int32.js @@ -7,7 +7,7 @@ * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ -ByteBuffer.prototype.writeInt32 = function(value, offset) { +ByteBufferPrototype.writeInt32 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value'); @@ -29,7 +29,7 @@ ByteBuffer.prototype.writeInt32 = function(value, offset) { * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ -ByteBuffer.prototype.writeInt = ByteBuffer.prototype.writeInt32; +ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; //? } /** @@ -38,7 +38,7 @@ ByteBuffer.prototype.writeInt = ByteBuffer.prototype.writeInt32; * @returns {number} Value read * @expose */ -ByteBuffer.prototype.readInt32 = function(offset) { +ByteBufferPrototype.readInt32 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(4); @@ -60,7 +60,7 @@ ByteBuffer.prototype.readInt32 = function(offset) { * @returns {number} Value read * @expose */ -ByteBuffer.prototype.readInt = ByteBuffer.prototype.readInt32; +ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; //? } /** @@ -69,7 +69,7 @@ ByteBuffer.prototype.readInt = ByteBuffer.prototype.readInt32; * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. * @expose */ -ByteBuffer.prototype.writeUint32 = function(value, offset) { +ByteBufferPrototype.writeUint32 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value', true); @@ -90,7 +90,7 @@ ByteBuffer.prototype.writeUint32 = function(value, offset) { * @returns {number} Value read * @expose */ -ByteBuffer.prototype.readUint32 = function(offset) { +ByteBufferPrototype.readUint32 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(4); diff --git a/src/types/ints/int64.js b/src/types/ints/int64.js index 6dd9625..4d3760a 100644 --- a/src/types/ints/int64.js +++ b/src/types/ints/int64.js @@ -10,7 +10,7 @@ if (Long) { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeInt64 = function(value, offset) { + ByteBufferPrototype.writeInt64 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_LONG('value'); @@ -51,7 +51,7 @@ if (Long) { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeLong = ByteBuffer.prototype.writeInt64; + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; //? } /** @@ -60,7 +60,7 @@ if (Long) { * @returns {!Long} * @expose */ - ByteBuffer.prototype.readInt64 = function(offset) { + ByteBufferPrototype.readInt64 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(8); @@ -94,7 +94,7 @@ if (Long) { * @returns {!Long} * @expose */ - ByteBuffer.prototype.readLong = ByteBuffer.prototype.readInt64; + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; //? } /** @@ -104,7 +104,7 @@ if (Long) { * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.prototype.writeUint64 = function(value, offset) { + ByteBufferPrototype.writeUint64 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_LONG('value'); @@ -143,7 +143,7 @@ if (Long) { * @returns {!Long} * @expose */ - ByteBuffer.prototype.readUint64 = function(offset) { + ByteBufferPrototype.readUint64 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(8); diff --git a/src/types/ints/int8.js b/src/types/ints/int8.js index c3937d7..537b8fa 100644 --- a/src/types/ints/int8.js +++ b/src/types/ints/int8.js @@ -8,7 +8,7 @@ * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeInt8 = function(value, offset) { +ByteBufferPrototype.writeInt8 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value'); @@ -31,7 +31,7 @@ ByteBuffer.prototype.writeInt8 = function(value, offset) { * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeByte = ByteBuffer.prototype.writeInt8; +ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; /** * Reads an 8bit signed integer. @@ -39,7 +39,7 @@ ByteBuffer.prototype.writeByte = ByteBuffer.prototype.writeInt8; * @returns {number} Value read * @expose */ -ByteBuffer.prototype.readInt8 = function(offset) { +ByteBufferPrototype.readInt8 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(1); @@ -61,7 +61,7 @@ ByteBuffer.prototype.readInt8 = function(offset) { * @returns {number} Value read * @expose */ -ByteBuffer.prototype.readByte = ByteBuffer.prototype.readInt8; +ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; //? } /** @@ -71,7 +71,7 @@ ByteBuffer.prototype.readByte = ByteBuffer.prototype.readInt8; * @returns {!ByteBuffer} this * @expose */ -ByteBuffer.prototype.writeUint8 = function(value, offset) { +ByteBufferPrototype.writeUint8 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value', true); @@ -92,7 +92,7 @@ ByteBuffer.prototype.writeUint8 = function(value, offset) { * @returns {number} Value read * @expose */ -ByteBuffer.prototype.readUint8 = function(offset) { +ByteBufferPrototype.readUint8 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(1); diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index dc72e96..faaf1dc 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -10,16 +10,16 @@ * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written * @expose */ -ByteBuffer.prototype.writeCString = function(str, offset) { +ByteBufferPrototype.writeCString = function(str, offset) { //? RELATIVE(); var i, k = str.length; if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); for (i=0; i= this.buffer.length) - throw new RangeError("Index out of range: "+offset+" <= "+this.buffer.length); + throw RangeError("Index out of range: "+offset+" <= "+this.buffer.length); temp = this.buffer[offset++]; } while (temp !== 0); var str = this.buffer.toString("utf8", start, offset-1); diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index 8d7ecde..ea9873d 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -10,11 +10,11 @@ * @expose * @see ByteBuffer#writeVarint32 */ -ByteBuffer.prototype.writeIString = function(str, offset) { +ByteBufferPrototype.writeIString = function(str, offset) { //? RELATIVE(); if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); //? ASSERT_OFFSET(); } var start = offset, @@ -34,7 +34,7 @@ ByteBuffer.prototype.writeIString = function(str, offset) { this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); //? } if (relative) { this.offset = offset; @@ -52,7 +52,7 @@ ByteBuffer.prototype.writeIString = function(str, offset) { * @expose * @see ByteBuffer#readVarint32 */ -ByteBuffer.prototype.readIString = function(offset) { +ByteBufferPrototype.readIString = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(4); @@ -64,7 +64,7 @@ ByteBuffer.prototype.readIString = function(offset) { //? READ_UINT32_ARRAY('temp'); offset += 4; if (offset + temp > this.buffer.length) - throw new RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); + throw RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; //? } else { diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index 5c2fe8c..ff3c5a4 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -24,7 +24,7 @@ ByteBuffer.METRICS_BYTES = 'b'; * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. * @expose */ -ByteBuffer.prototype.writeUTF8String = function(str, offset) { +ByteBufferPrototype.writeUTF8String = function(str, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(); @@ -63,7 +63,7 @@ ByteBuffer.prototype.writeUTF8String = function(str, offset) { * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. * @expose */ -ByteBuffer.prototype.writeString = ByteBuffer.prototype.writeUTF8String; +ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; //? } /** @@ -88,7 +88,7 @@ ByteBuffer.calculateUTF8Chars = function(str) { ByteBuffer.calculateUTF8Bytes = function(str) { //? if (NODE) { if (typeof str !== 'string') - throw new TypeError("Illegal argument: "+(typeof str)); + throw TypeError("Illegal argument: "+(typeof str)); return Buffer.byteLength(str, "utf8"); //? } else return utfx.calculateUTF16asUTF8(stringSource(str))[1]; @@ -105,7 +105,7 @@ ByteBuffer.calculateUTF8Bytes = function(str) { * read and the actual number of bytes read. * @expose */ -ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { +ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { if (typeof metrics === 'number') { offset = metrics; metrics = undefined; @@ -132,7 +132,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { ++i; utfx.UTF8toUTF16(cp, sd); }.bind(this)); if (i !== length) - throw new RangeError("Illegal range: Truncated data, "+i+" == "+length); + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); if (relative) { this.offset = offset; return sd(); @@ -163,7 +163,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+k); + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { this.offset = offset; return sd(); @@ -175,7 +175,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { } //? } } else - throw new TypeError("Unsupported metrics: "+metrics); + throw TypeError("Unsupported metrics: "+metrics); }; //? if (ALIASES) { @@ -191,7 +191,7 @@ ByteBuffer.prototype.readUTF8String = function(length, metrics, offset) { * read and the actual number of bytes read. * @expose */ -ByteBuffer.prototype.readString = ByteBuffer.prototype.readUTF8String; +ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; //? } //? } \ No newline at end of file diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index 6e237ab..e37f319 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -10,11 +10,11 @@ * @expose * @see ByteBuffer#writeVarint32 */ -ByteBuffer.prototype.writeVString = function(str, offset) { +ByteBufferPrototype.writeVString = function(str, offset) { //? RELATIVE() if (!this.noAssert) { if (typeof str !== 'string') - throw new TypeError("Illegal str: Not a string"); + throw TypeError("Illegal str: Not a string"); //? ASSERT_OFFSET(); } var start = offset, @@ -34,7 +34,7 @@ ByteBuffer.prototype.writeVString = function(str, offset) { this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) - throw new RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); //? } if (relative) { this.offset = offset; @@ -52,7 +52,7 @@ ByteBuffer.prototype.writeVString = function(str, offset) { * @expose * @see ByteBuffer#readVarint32 */ -ByteBuffer.prototype.readVString = function(offset) { +ByteBufferPrototype.readVString = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(1); @@ -64,7 +64,7 @@ ByteBuffer.prototype.readVString = function(offset) { temp = temp['value']; //? if (NODE) { if (offset + temp > this.buffer.length) - throw new RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); + throw RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; //? } else { diff --git a/src/types/varints/varint32.js b/src/types/varints/varint32.js index 7fb284a..b0e316f 100644 --- a/src/types/varints/varint32.js +++ b/src/types/varints/varint32.js @@ -53,7 +53,7 @@ ByteBuffer.zigZagDecode32 = function(n) { * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written * @expose */ -ByteBuffer.prototype.writeVarint32 = function(value, offset) { +ByteBufferPrototype.writeVarint32 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_INTEGER('value'); @@ -135,7 +135,7 @@ ByteBuffer.prototype.writeVarint32 = function(value, offset) { * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written * @expose */ -ByteBuffer.prototype.writeVarint32ZigZag = function(value, offset) { +ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); }; @@ -145,23 +145,31 @@ ByteBuffer.prototype.writeVarint32ZigZag = function(value, offset) { * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. * @expose */ -ByteBuffer.prototype.readVarint32 = function(offset) { +ByteBufferPrototype.readVarint32 = function(offset) { //? RELATIVE(); if (!this.noAssert) { - //? ASSERT_OFFSET(1); // TODO: Assert offset in logic below + //? ASSERT_OFFSET(1); } // ref: src/google/protobuf/io/coded_stream.cc var size = 0, value = 0 >>> 0, - temp; + temp, + ioffset; do { + ioffset = offset+size; + if (!this.noAssert && ioffset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } //? if (NODE) - temp = this.buffer[offset+size]; + temp = this.buffer[ioffset]; //? else - temp = this.view.getUint8(offset+size); + temp = this.view.getUint8(ioffset); if (size < 5) value |= ((temp&0x7F)<<(7*size)) >>> 0; ++size; @@ -186,7 +194,7 @@ ByteBuffer.prototype.readVarint32 = function(offset) { * @throws {Error} If it's not a valid varint * @expose */ -ByteBuffer.prototype.readVarint32ZigZag = function(offset) { +ByteBufferPrototype.readVarint32ZigZag = function(offset) { var val = this.readVarint32(offset); if (typeof val === 'object') val["value"] = ByteBuffer.zigZagDecode32(val["value"]); diff --git a/src/types/varints/varint64.js b/src/types/varints/varint64.js index 730503a..295e208 100644 --- a/src/types/varints/varint64.js +++ b/src/types/varints/varint64.js @@ -71,7 +71,7 @@ if (Long) { * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeVarint64 = function(value, offset) { + ByteBufferPrototype.writeVarint64 = function(value, offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_LONG('value'); @@ -124,7 +124,7 @@ if (Long) { * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBuffer.prototype.writeVarint64ZigZag = function(value, offset) { + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); }; @@ -137,7 +137,7 @@ if (Long) { * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint64 = function(offset) { + ByteBufferPrototype.readVarint64 = function(offset) { //? RELATIVE(); if (!this.noAssert) { //? ASSERT_OFFSET(1); @@ -160,7 +160,7 @@ if (Long) { b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} + throw Error("Buffer overrun"); }}}}}}}}}} //? } else { // Assert as usual b = this.buffer.readUint8(offset++, true ); part0 = (b & 0x7F) ; if (b & 0x80) { b = this.buffer.readUint8(offset++, this.noAssert); part0 |= (b & 0x7F) << 7; if (b & 0x80) { @@ -172,7 +172,7 @@ if (Long) { b = this.buffer.readUint8(offset++, this.noAssert); part1 |= (b & 0x7F) << 21; if (b & 0x80) { b = this.buffer.readUint8(offset++, this.noAssert); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.buffer.readUint8(offset++, this.noAssert); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} + throw Error("Buffer overrun"); }}}}}}}}}} //? } //? } else { // Asserts on its own b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { @@ -185,7 +185,7 @@ if (Long) { b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw new Error("Data must be corrupt: Buffer overrun"); }}}}}}}}}} + throw Error("Buffer overrun"); }}}}}}}}}} //? } var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { @@ -208,7 +208,7 @@ if (Long) { * @throws {Error} If it's not a valid varint * @expose */ - ByteBuffer.prototype.readVarint64ZigZag = function(offset) { + ByteBufferPrototype.readVarint64ZigZag = function(offset) { var val = this.readVarint64(offset); if (val && val['value'] instanceof Long) val["value"] = ByteBuffer.zigZagDecode64(val["value"]); From 9882b63c4244281e46810d648229b785344c7f0f Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Fri, 3 Oct 2014 00:01:27 +0200 Subject: [PATCH 23/91] Remove optional dependency node-memcpy and make it an optional install step --- bower.json | 2 +- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7532 -> 7532 bytes dist/ByteBufferNB.js | 2 +- package.json | 5 +---- tests/suite.js | 3 ++- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/bower.json b/bower.json index 1b33522..5f537d8 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.3.1", + "version": "3.4.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 4a8bfef..1e01eb1 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -116,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.3.1"; + ByteBuffer.VERSION = "3.4.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index ccb9854..488d0c5 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),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 diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index de77ef2..7098e04 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -108,7 +108,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.3.1"; + ByteBuffer.VERSION = "3.4.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/package.json b/package.json index 40c1d77..7229893 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.3.1", + "version": "3.4.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -24,9 +24,6 @@ "metascript": "~0", "closurecompiler": "~1" }, - "optionalDependencies": { - "memcpy": "~0.5" - }, "license": "Apache-2.0", "engines": { "node": ">=0.8" diff --git a/tests/suite.js b/tests/suite.js index 683ad7a..aa05b3e 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -55,7 +55,8 @@ function makeSuite(ByteBuffer) { suite.init = function(test) { test.ok(require("../index.js")); if (type === Buffer) - test.log("\n\n --- node Buffer backed ByteBuffer ---\n".bold.white); + test.log("\n\n --- node Buffer backed ByteBuffer ---\n".bold.white), + test.log("[optional] node-memcpy is "+(ByteBuffer.memcpy ? "present" : "not present")); else test.log("\n\n --- ArrayBuffer backed ByteBuffer ---\n".bold.white); test.ok(type === Buffer || type === ArrayBuffer); From 4e7847779ce8d58eb5f32be30db61e13e01b0c4f Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 14 Oct 2014 16:45:49 +0200 Subject: [PATCH 24/91] Improve CommonJS compatibility --- bower.json | 2 +- dist/ByteBufferAB.js | 9 ++++++--- dist/ByteBufferAB.min.js | 4 ++-- dist/ByteBufferAB.min.js.gz | Bin 7532 -> 7562 bytes dist/ByteBufferAB.min.map | 4 ++-- dist/ByteBufferNB.js | 2 +- package.json | 4 ++-- src/ByteBufferAB.js | 7 +++++-- tests/suite.js | 4 +++- 9 files changed, 22 insertions(+), 14 deletions(-) diff --git a/bower.json b/bower.json index 5f537d8..771dea1 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.4.0", + "version": "3.5.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 1e01eb1..7379955 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -116,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.4.0"; + ByteBuffer.VERSION = "3.5.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -3263,8 +3263,11 @@ return ByteBuffer; } - /* CommonJS */ if (typeof module !== 'undefined' && module["exports"]) - module["exports"] = loadByteBuffer(require("long")); + /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && module.id && typeof exports === 'object' && exports) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return loadByteBuffer(Long); + })(); /* AMD */ else if (typeof define === 'function' && define["amd"]) define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); /* Global */ else diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 488d0c5..ddd48d4 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d= h,k]),c((e&7)<<18|(g&63)<<12|(h&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aKBq*_LEaIVJe-^IorPvK-IU%p7t-qUnCUy{$i**RLq7M7_;rO4LpB zZ+||~Q(hBuxYQx_R0wOvs$>3_eM*}lFCx*5U^<kOqok`=NFIU+u?qGok3K(>P?V1z?sWY`!c zl4%3BOClBP+IRlUH1Qh>;rm8Yf00Rt+0K8Q*ytP43L|b%e31YW5M!51aI0B-0j-cK zyB7I3Z_q`RQUmpkfe{*oVTbB5r|?3FYbY_Vmbg^K4HQ@yIE3eNyf;Fj@=`GZOXzC| zl2!6Sg1Z5_aIYE{89FOjt}ws{pMoZDRrk55a5HktGBB!de;5}Y7Z&Ai%ivD#CLVwI z?iMdQyzKGv0GBA66W~0t0M3PYfoNr@d&F`WhFlx=ZBgusVsD?IxEC=OwcN(L7)W}h z+IrmBZY(z!)2N3n;l;$7wP;Xpl5P@~lv;$Yo6T&s@r4$4(3{ujHHcM7b(FoSmfbho zvX^ZU5Z=Y6ENbK$v?`Q3ioUNFtv7!|G~!a_z}S^Ei6jWcyQxvkyM#1pfu+^O-B z+XEdWwY9ZAeo4MqxeYS3$cqBCcW%GRZZHspqZO2BE0Q)8HwDEFR(OLwgi0SS(Efb) zXR=)bz3;p9e#?zSCQv+K>wuvK`wL`#UmuUq9sze^d`vbi+?l2G^sMLc<9&bb!x;A0 zkNuoJFKuWo6~Sh}B$m}}`wVURPhG^H0RK4`Q9FbjrcH z-OSsec+^N%YdGZtN<-7+kF)EzH~M$YbzJb)bzGp=aV-N#J_Km|DyC0HHH;`&IEtr5 zpE9kT5=6my8!hTmC%|#l`e}c#KK{18TR&1OV>&A1Ix4%Qqf~^oyZgH#h-SYQWUZ;B za!^v4t(13O`Q8S*u&six0(jkozVA;E_52pr!AG&c#o$%lkT=GDNjkP!uth%~I0?*= zqG;lm7%>{y&f>A>Lo4tmB7uR8e&K%#AbB>Oj*&lm?13Mc{oHCuKIy5JSn96OsZu~D)j%c-?L~R)#aoN&$jdN5{1J|ajV1AR zC9q6lT?0{u!6L}#Bg%hQtY8E*0VpR3zyR8^YDqxe=j^^HI6*g;BpE>I2MB`B7=~En zb?OsOQop)HUEgo&we?_7WQ8mu=9Q`stIlQB8(sBFF$2!R zmd#=8Zi|{h_2PGj)L@<7sO2d?I>`@8bORKqiEc>dJovQ3v*a39OBW;*c!4qw`8o~2yCZ)R# ztHhMi#5Xi*vTuLml=YrCpaU}ehD^b7Zc-~>IfWr=_snr_BS9lYn2%GrhRSZrHVlsM z1b^;W>UOSr{|^xS@$mh0?(6>_2Et1)4?GAuuJUnQ-WnHj5Q_jPZD_s4RR1K}R)xV; zRF8p&p*%Pe4qj7tR1MOx!m1(Rw1R~9B!XS)eW;qv4|IS3v_61>Y#;iuyC+XucvAlz ztw~pA`iw8HkESX9EJbc{+jO5cj2SkusNOQR_c$hEQdjm#PR5h9u|dScuC{Zb1$)hY zN6C&X`CqHD%fWE34LljaxY0wnQH;mPgK9pG2(IWpe~s0@qBxcINE3>mbgmIQYoW9` RM@GHB07D0oxIUAf002r4{7L`- delta 1536 zcmV+b2LJhrJM20KABzYG^~x==2f6|Q)3d??%@ltoH;pKK*RPPMvJ3&qfP_2-Astec zDj#B>a#GC!hDOL*M$1fUT!R0e_j;pQB#kGjBnMxRXz17L+djHqzaq0__2w*-tlsbc z?d=mCX*E%UOCC~BIJ2g-IBI_x=eQp7BH-0b5Go zC%}L1u~CpZvlGUEP1s#DCJqOV@Uk1Tg9akdG-x7RmT+Momd^u>s)TwlX^RXHqnL6g zvt*u{x@JQwN}%4MLBIak@5%935Er;RC%yXILcL7PaO6&tK8B0|vMqB0df3;7nt@>= zsWhOgBx3H@zH=u1KJKC5wr}7$vs4(&MrwbCT2~8}7;%H(hXmk&5Sv_pSxw^$lmbav zwaE6oK@(+41=QDiny=-W;mgO2!j&8g$T3xO+$!Q8GR!pW!b@+w*L*JWV%`IDXsZvL zRj^KiyB?Zwuj&^OIxCtlF~A2Kg8JN2*SW}WGh)dyOjO7CFv@MlEYjQ-!JVvi*mHlZ z4PLf*IpAdvmmr-cF!Q(roN@L7)=E+KaCaEGyj1L)Jm2Q|!8k*9JD?_Nu?e>!khBZA z^tiU%SS&6kK?iHXvT>g^uTig)t`ioN8iW@0YBuV4rG_o^rWJZMVk)VYy!UF}L%l8s zQ5O#3-K@&2Las(jq12M~y_&UJ4PJkVTZO~KR?-BLzyX(eZ>QX6cz(nM+m& zWRQ^7`s(y0`l4qB@X##FbClkh@hZJRK@f&kkfhWiaZPX&5Zs`J*VsZRbbo{P=iQ&t zW(D-VZ{x=eQxYjh@wl#o3DrB?AoKg`bb|VDxD(@J(qUo7ESbg^Esq~>a~FU5u)BKd zX5?jVKy3*RHUlcLP?zmfwCO)J5q|>wmrTUcAY?FYJitwD%qmPSMtP$q05=-J46v$d z-thUOTC()vqzxz(O?`e`^yA)W-_`v%_pN@MTl#Sg1(y9bRhzWmp{g1gjwh?4x z&nF{#L;z2iRPM_g*091_)*4*}Bxy8l{G_SdRy16J?0Wgi05}6tF>$OO7Sh5{)VeWReodq@leCi@o@ulQQx$bP#)l{b68Eyj^lE zGtn17lwz<5@;Qj|1s4N zu`Q_I-J)LJudAhXpi@MFG$Q7mEDwv$MA7TA=xZ?xqvI2*IvfT>lA$vTEAcOZ?u5<$ za^~`XWKMiGJf7!%noL9Rc)X9J@o0wsszV4*CL`CLhD5$Y5LbUkC;S&Z8Bhv_Ne1*a zlTLSomkgp8JyKC>zmLOTSmfVjRIHK*Eko7>wo3*ftt5^Ka-40LtPRLu@32`WZHmHV z4`qd^GKhu=#t)NenDUK2Dxi6>`gVuDzHGcsy1hEPoixq3@)R3 z^lS{}!H{sUn%bjkBrP6R1qmk#65bIAcG0@ZeEXO@Z$M~3vfm+j!H>|VdG$7Y){o@y zygCwH+dN|J4ZmE~s%#6R(=IpPotUJ)Gg@$JpX!m8K)^aL5!~X(=-Yo&W&nKke`U diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 94d27a3..b4d7461 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":85, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","module","require","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","id","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 7098e04..e09ec69 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -108,7 +108,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.4.0"; + ByteBuffer.VERSION = "3.5.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/package.json b/package.json index 7229893..5810cff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.4.0", + "version": "3.5.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -14,7 +14,7 @@ }, "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { - "long": "~2", + "long": "~2 >=2.2", "bufferview": "~1" }, "devDependencies": { diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index fbc099d..ba32dc4 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -36,8 +36,11 @@ return ByteBuffer; } - /* CommonJS */ if (typeof module !== 'undefined' && module["exports"]) - module["exports"] = loadByteBuffer(require("long")); + /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && module.id && typeof exports === 'object' && exports) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return loadByteBuffer(Long); + })(); /* AMD */ else if (typeof define === 'function' && define["amd"]) define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); /* Global */ else diff --git a/tests/suite.js b/tests/suite.js index aa05b3e..1d24228 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -941,8 +941,10 @@ function makeSuite(ByteBuffer) { } }, module: { - exports: {} + exports: {}, + id: "bytebuffer" }, + exports: {}, ArrayBuffer: ArrayBuffer, DataView: DataView }); From b30079476a8d82c26abce573ac1738c6224179fb Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 21 Oct 2014 15:17:58 +0200 Subject: [PATCH 25/91] Fix relative offset advance in writeUTF8String --- bower.json | 2 +- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7562 -> 7562 bytes dist/ByteBufferNB.js | 4 ++-- package.json | 2 +- src/types/strings/utf8string.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index 771dea1..1c73a7c 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.0", + "version": "3.5.1", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 7379955..3346093 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -116,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.0"; + ByteBuffer.VERSION = "3.5.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index ddd48d4..de20702 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index ff3c5a4..ffea329 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -35,7 +35,7 @@ ByteBufferPrototype.writeUTF8String = function(str, offset) { //? ENSURE_CAPACITY('k'); offset += this.buffer.write(str, offset, k, "utf8"); if (relative) { - this.offset += offset; + this.offset = offset; return this; } return k; From 67c08d80adbdd2055632eb5d6f63a8e1a84196f9 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Tue, 21 Oct 2014 16:18:51 +0200 Subject: [PATCH 26/91] Fix toArrayBuffer offsets on slow path --- bower.json | 2 +- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7562 -> 7562 bytes dist/ByteBufferNB.js | 4 ++-- package.json | 2 +- src/methods/toBuffer.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index 1c73a7c..3cd0007 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.1", + "version": "3.5.2", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 3346093..c800392 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -116,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.1"; + ByteBuffer.VERSION = "3.5.2"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index de20702..78582a2 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0yR2tJz{?trS6-O|ZG_jJ`0Q4+T%0|Z1cS23e7>M0 z3B8OMQcz{jv!YVr-MGdC)ItpKC2$;Y5;pwB0u)cI%If81W5sJ$84(2@#ngZEfgL_C zW`SwDpi?aNDUoO67=BYPr40_+xN3L8SuUZwo2udH69wx z+leTvxY;~~7EoC|&FVh%LTG<*(1IJwDwRjm@=$BF_KAEZF=bH*`|?SC#lOUt${>B{ z`ndv0g=pgzJ5V8FO79)k9Tw3gFLTviw>uhd)%oc=bh~_a{FMRFEL_*OL;=3-(L^!IzQsJQ)fjB<;`pc(p!1 zUn~}#}uEng{SJhVM&9zHyd{t>${<$|VHZpC#c-D5anPg!QMMUU*%~#aD58glAUpQG|7g*JnP|sc`t^r44uFZ%#d{ zeSU666SBimxdD{H?%)>|Ei_?qICbN(nX88KM5LYh3}bGVw-;>FRiI*BXL(#n!E9vp2NL^z|+G(+k)L){%#qrW`Bg16+H2bHahgj z!O&N{R>mEStd6*;Q2BnL5V|Be^VbCxIPaK9*jS7 z3f3`*LP02yG@UzBkk{07uA`v*YEFTPqyY53U*G#=BfEcC_I%pgDM7f1YlYMJMx`_B z{73l|@>wIELV0g5pNumEHyDqScvDFfoxO!9rkc;`eTx>+_zyIR?fVlsPFE1QHYT_- z0;3Vaw%$m-n}T=msl1Y#$pYUzfOHxUDxU3o63_O{4J8mpOBBDJD4Fd{36jx3wVvOm zB;U?@8jpXnteVd|3Ug{vA6jPbQ)G>AMrI`eZY8v-=G<>T#+?r+n8x;!*|}FMyWa-E z>})BR9le!>Vmy^oavNLVn(xg6?%b2OcCI0+p|P<*mhHr~Q?;>z92o^v3;TUZ@eduJ z8lC&Kuy+*X)WSYW>=qKMGq77rtWglzPw+a|oxOj~gUY8m>qERxe3Ilff5igsbfA2v zJV#}ILbsD*bFnnpgenrVAwQfLYx z?<)Q?zH5#5pRMpxhwA2v&G?}-+h3#D>^mto`x?cD(wOR}`GWijL6vd+suPV?GDQJD zs`GWfLm`rqcOMMl1$jmOknvTOTdvUu#$$hkCB-u(&#ebVQnDy?C{XNy9g(e8j_D>3 ze|#Yx+_Mn(Iv~V@ErocX7vdL-wLcHNB7>-$^w8mo@k3elf)w*5qT5LEpen@~T@*sN zlh!|v{_ochM{i%gKG|>o`s`mP$M3wZ%NOy{^_(Q(2ePaVZOLAdRXFXzAsIVEr?-DU z=)hHb*tQS)PPYx$`@?o`(An>Hx;?n-47+SC?jN(s&t!7UmW_s`l0}i0#ik+9Xyp6? zRqZa%mq7hx@?$(m+3zwAL=;-E`AV@u6@MVd<}Ee(_LwJS|8aK)1QTD2CH z)LO*Vn&FQl8U6&?RY*AS$R%)VCf0v&J@Uxdg6D^aefA3L@R|-=waVE$2X{L4@NEV! zg&@ahJM|d*93vGKj-!PG4+{z!>^fZpU(+o|WJ+-QDOg-`FLaK|I-pljWLiy@6h38<&#w&fBpuaUqw*P*tnt)OPfxAP5$8tP185Jy^F_1d|_RvrU8WhmM8q_s7f^ zfWO1s2k^lM=t$py^7nMy9rm*Kble{fhQfz97&`U_7bX1qP8b{IKHz_&vpWtG&DL6e z1Me!edud^jCRtNS99W-P zZ(biG1-BK0Vn{*@sSmT+1PytAwQ(EWkvVwF zdIxV=a`2WiZe0$I)WLs~Tkit7ugwNJ!%*CGSq&C*;f#|!y3P_D-Z>e zg3uY(c#s{A5ar(&mA`L)SmRgjXQ=Y~qVo5(hc(`2J45YfnEiiUBgb^KnAj0`0*6<$ zxz-acYr~s(q97?{JH>Y*qI3d7Yr-EL(JLHLA{6+Q!CIyTPH^WUO54LX-0T=RJ-eKf!rsTvEAJ%|QMvZ;v%tV%e* z1sj2nB7FRUr&1FUFqFE8fETBk4|^`Q&)(4^<93}JaJiSZMuSwgyH6Kxz zXd<-$NUIx+A_&+5lqSkhlWqj)3Pr&SeZGhj0{v;ee*b^!)gD77Gzph0M*kntfeSnz zBI0?ASS+6j`skc8ZzyUyGF?WkKNObyp-}omp&ajGMa)~27mHPP)>_#nCTP?0XAn1V zQ>fpw2Vi#1aE|BirB*abBkU^wes^R0f4;o~N!??V^Q~&qnLPUk%csJ!0~~slQ5apD zmh9Qk%*KCZ%zz{W%hrw3c8OAyNZzxeIz^5|W}rxA8nD3N(enxaS}hEb#_&Suj3L|< zRB^TfervsF+#(dctDgIDhu?i1DY^(3`%Y@6PBXfzW@1HX7hK~=JCns$Cfr1m8D&)l z9qO}Kpb0hKMo3sEdaVCg)C5J;sz9j#K^11Z2mXHy75HPUQOJj$38vex2q)>nmB=&L zP<2Ujre4)38rNttkpxUtW0b40VwbzrqgK6Mqq$b2xlRiQbI-n@6w=$wwNp_%-A-hvzIdvL3=~N3L1gImA|r-WDCW_i4?SP*?29Q= zg24V0jW&%&WOtX2a;H(JTd7vJs$AFvM__;63W2?*Rf`=l0^Y`28&PVm^PoB?iXeQq z>W5BqKa}o;n@y!lxR&P3wv|eK82%vl#2=jDx8aec2bI>?Q#x91PxGnHp2CMw=%nRs zNK8`-FBJ+KHz9F_E^79=vk;KzDotLOCR<2#bWuxYYZo5UYCpy-buo*2dKEBph<~uu1Ms+Z78Y^kKdbpdv;Zg&EYSNL7MVEy=aJ`W4Co^`cw_$i2x2xwYDeR&>nb{Ok8G zEXEHjEd;vOFK7I}R`F+2g9B+T==DfJ&M`s8F2Hs{ndgEUhGV>Rvao*wY-7eqSzMm- zS;?G>T>IQ(f$&YUzI>;e?Y)+O30Y2<>m{Pz9EmZ9?^$6@0FK6~V>0wFZE%*YsK!G@ zV}<#L6o6}d*t+BeoHrRN|hDX>?^}-fM7kCS5JoOB$AHqt~&hh?|2w znyTkadqd3A3ggv!89slP4i*HU)2h-`{m1Qfr^pzO+^FnILJjQ1jNIKcrWGf#*es2M zRpYZ|=gE+9!Hf2}7fr_gkf32&Ni>_!E3wlRA&_v3OJhNr(QOV0FmBCCzX-AFTu_)+O@<0Pd#yFKb8j?8GCRg-tC3;V{-?$=EdXhb=Gv*o%dd{B;q~>$d66*`HQcGN$+O#*M%dY4 zrNYjaVR^{P_-22{tR9D~DrkQ8q()6g$Y}o;$ zXtK~8>RDk^tPVu*g%F1nrR&svei~=+Ad6h@e*}L)j0S#_V+cEJNQo)U-CerXoQ!;% zE*s1SAXaYGKyyd4&O~pidszghY&s%>fs|UjoT1$O$Vu(O1+CVQAJE80jgOvLl7mx^ zFjZ%`;EKtfEqL?|EI3}>Q3DUNX=eF6y=UGlYPk9|9uSLqBt0!Q-P}&nLt_i4xJtj3 zALD=OD+j_B50;fs@?=?Gf3mCuVn@sRwMWaQC5f|T{knr=3+{9ZLKpM(S-dI&omn?L zRhD^+8y-V`R-NqhaAx9NY}g6jy)N$caIcSh1Kc~neH-^3+;8LlKJIsLzl-}l-0$Q5 z0QV2@z{Udy58Bum?BhWP54w2J!-GB^4Df&803X=+ppOp*_}~CLwhccAer@>e!>%(sVKY()p&H*?F;2eN+0L}q82jCola{$f(xHiDG0j}M~odNC~;I56k4(_&b zcOQ27U44SG^}*xq>FW$}N}{>DS& z|9Z+xh5|Rag|LutGPs)C-g7h_qqRTXb96tqX4*xM{tb6)(@5X?7afiss_+*iSo8_IbNm77XaFX>~1e zP@3t9#6n_}P2@+)Wc;M%Ckua~+YD4ZE*|BM0`E|gEc`35jsM8=*+DEy7 z+P1p56A<^*E@@NPDHnghHta4tlg2||uCiO)!2%H&26PcFE4c6%%cmhmRYE&Rx*`Ll zsHXhcf-Ez~GCb&o2I_ql^y`m@2YUDw)CGQ>lfC%dMY~L$cpS`$i6LWvYzI%k2#3bV zurW*|(*|spL@L&`@BEo*;x`n+_l>6hB9jiYojI}5H=-3r+@OE>A^{{I#x9rORSioza zyKlB-FWVv@yo*g))W|hxRVZ~7eP1nFZ-!{ZrOJV^D`|fcNf3&6Q=^#256R((CuUi> zQ{yGK2RcY-*@T#mK%vopm@U80YeS;7s&j+J|3Yx0`A24m~2|OGfU^`S%pMN3Ry(VD^(v>oy)2>y6Tr=7AA*BG<7%)h$O>cmM#g; zf$o%Zzvf)=k1lD*r)N41KF#Jatazp$$CL2_|JA1up3KI9H;<{xLlIZUMffik88Uwg zwnK+3o5R@M7Bz$F#TBWn)iiPXOPBt;f{IO=LeEe%LF~vdW{t!-L5cHhhxY*m>>YN? zVO^;R*{yCcGX}|sVEizZhAH3JqY}E8R&)1Q_Ejr8RoSz!1L%@R+AyVpC)#i|g6G*x zN_QJpi7BIrZ)ntH-^MBHJ#jz>WcYs#nS$lqq*lIi3PaTHnd96>f<}rkAE$B+mEDwW z7#!aT{@k(D?OgT#A0YVS;rr>_*Z)5ZgqL6*co1}4<>R=#H7?{J76DM&(0Yrh{z_Ud2l2gyr%A`8l+=|RYSsQ1qts-1iRGxP&Jz$=>BPa00r4T^kaQ@PoB2$ zr2acvldjD48DCx>O;h|?irnJ1={{{3Gi+i}y=83gaZJRduI!VXj3;YjgNTP+ZRbJ@ z_L}{Uk{wy{zgA_JgW+Bqcrt=|($)qETgT+x008moUraVqVRCKNyETqAbY TLTPi3jCy|o>K+z!lb!$o$7fm8 delta 6925 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", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/methods/toBuffer.js b/src/methods/toBuffer.js index f2d613f..b16efca 100644 --- a/src/methods/toBuffer.js +++ b/src/methods/toBuffer.js @@ -73,7 +73,7 @@ ByteBufferPrototype.toArrayBuffer = function() { } else { // Slow var dst = new Uint8Array(ab); for (var i=offset; i Date: Thu, 23 Oct 2014 18:14:45 +0200 Subject: [PATCH 27/91] Simplify CommonJS conditions, see #34 --- bower.json | 2 +- dist/ByteBufferAB.js | 4 ++-- dist/ByteBufferAB.min.js | 4 ++-- dist/ByteBufferAB.min.js.gz | Bin 7562 -> 7560 bytes dist/ByteBufferAB.min.map | 4 ++-- dist/ByteBufferNB.js | 2 +- package.json | 6 +++--- src/ByteBufferAB.js | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/bower.json b/bower.json index 3cd0007..6089e9e 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.2", + "version": "3.5.3", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index c800392..22663b7 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -116,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.2"; + ByteBuffer.VERSION = "3.5.3"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -3263,7 +3263,7 @@ return ByteBuffer; } - /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && module.id && typeof exports === 'object' && exports) + /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} return loadByteBuffer(Long); diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 78582a2..88f309e 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d= h,k]),c((e&7)<<18|(g&63)<<12|(h&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return azq5PCtunXg z^xQHJdn%e+Wm-|vt3^EVK3!h2es)>UhJcqf9Iw1G2igd)J@MJCXt_9hE(r!@k@{BAo#xeY+UP>Dry76f0Hk&b;v}UVZ6Mzg7NB$K<`g}8mJ&a=&vUwm>2As0D>v=L1Mo8M9_wj0d ze!f^HV9di9%rW%L&}=k)EP6yoxp9$nh8d0@a`@P70Q&Z zXM`;}U&Qbi)C9Z%mMhtRA?&jvRAx~)8l@5>1PUaNs7hIyO(HKcer8XgJ)#brGPe4# zndt^!TGg!NalxvlWeb~x+;9$bC^uMPU|ow@wXdqJ&YNqO+W4x{wEStQdF6IBJ_;&| zHk~pif5RUrb}3m%O)iOonD$BAoplUve%>zmbjDnrtgk?)&X8z-CR0e9aMlbPySwdX*NtNUL?%lhA#~#KyGM%>i$(r_eJUcRi%p-bAi+s?;jo>rv4=q=r`>{ z#nn?d;|kw1t;9BeM_yV}(?;U1rZjisH$8`Y2Z5)Dfwl#^yZqfUT+RLnEh~898Etgv zkAtDFc&&^(7+EbJBpy62Mlyw9P*KJQ>~Y2lOs#kdTfp;WNP-fFr2eKpG;n<$96T6* zxrXa7W>0C!a`PG~P6G;K+eZRi<$wqd6vF!P@w^M>}5!VW*@r_Dn z*7=X}Dde+8JcaV!UOpLT2yQSQCGn<`C^~x!QA{w7&9#lNr_avU}n;S|XjFu>VJy9~-nGz(UfoeU! zO-a6;^)w!TWmz?!cNFH-qCT|D-lxbK-;B&k0^CYyQ_Z>GevCUGP%w?{C9`v{R(8J) zg4x+pFgtoH3&nUUr{p%az%}2S2i&Wl-MmKR%c+hmRO@8vY+5}t~+~wod=aqb=HS?pZFxnYyOG_-0491 zPI->X{Df{N#pYsZvI$irWDr*UFCM1*{K5Oe{XtcaCiSt zD4xN8mWrpq18jEclcn__iY$=70P?X{K)hi+HUo0>`1}R@s@iR!C^t!6N%f4-SaC=m z72Z|+XMEQh?>}4Nr4H526`S!xX|}&cvDtT0Z1y#Z4W%*FPxA%&6M`z^`c)?ytz?P< zepKh{euqLNCGS2M!VB_>{2}A3Dz{vt4~)lu2uq4*N}gK}ilk&w=un{813MyHtsK)$ z9{%`3Jh*2e?sY(j2U`m9Krh5E7HfYVdPN3NIq9Lp72}7p>IEt0OGLMk;z3o4GrA~* za3`&Q9{u01ACBI>e0{Rt{`J|vPLAJsU6(K7qw6_I!VhFw9omw;BCBxPgF`ZQhE8vP zf6#%e_ONXq^qp=SuJ?!S-k`JJ?R0x^*BN%%THHTolb^}tm@OL(OC^gUEsIS6~gw5yPC;E_w<)=aE_;dfzfA zUJ5~u(RS)F_Blo>DjY`(2Obs_G}v{z2)?FUj>weacAa*g!E{g^P&)_OuLW{)pmrTl z4wA1kqT`}Q3ix-UVNj9CpSetz7BP@W8y}-6>1T3yN67<2A7@{ zao!n?`cEj+^2lvA>E_FHHV-Y37Pjq!K@1RbgG*)8NQu1+wy=D7AyjIB#X|BS-IUp) z!fas7JgG}^D5i(fjSC8^j7f`sSKyTmktJWCA)KuLveT$Yz@c;SU`P+wYH= zF93gsxewrj573dm0p;)MxI64+@9DTd91MjIaWHi34K7Of^_?&_%6-6pM`w2&CYr6a z{081ttWVyFPeM6a#23E`qr`Gh>vv#kwG*r!Xh*=yIs@fR6hz*liTBdNB2BWUk~pwF zwcflwMhb2#2E~ws7E&K(vk4mh`tC-MjmJ5&+cQ>;3&sKrgrkz~h_})mY-{5-x+8P& zmh}$avgF_`W!$a(CBT7yG;Ggi$qE962pTuQOdE7AL%8PiQ2JC@&VP?5wr2O-#_H<wSDCb+%q%(Q;50+1bWd}I)Dx)yE zHZ9q+p_z?;%a{R42$roIrR@@>D3QEpMRkfCiOfKe$~0hs!K3FB{2Ix zDX8LX1^m`}&$vY>dRIO7;|{<3I8t;GF7}<&Or2(QSIxwV&@Q;fk#;7FtxULyCNs*a z3_8?ju|N}QzKxKuPV`v+v8V}(s8xYd0fH*bb`Si287lC{Sfh{+Jrhi~UlC5yg)5O~ zu%YUb=1je+Q8cd6WFiTes>Uc+W5q6asYk7Py+(7bMsuAOY}gFtKaWq|zI^`f*XRE@ zdi&06(1!9%jPy4AMz*iy?YYp|TtY}<;S0eMEm%3!0XOv4kbj=Qnf% z4qjl>E7K+xBgb}D%+@YEq}6_mS?XdIgGCMD)nQA2 zs9jhT@z5fa@yxW|Ntl+LgsF5ArqW4ZMLTb=mk-}t zAqq_gUj--?L&2D@t`YIZy#y}z6|{sbop2Zj6&FxDmtT`Pw~#gW zrhefKY_0JFi z%1}sI_Q@D{shnTCh7WOtu#(_vvUglaDa%vFmU6_RVV-tYWgrQi=`ob&d{(;7E#>U3 z^iq~O+Q_@OkkyqRH$amT-&~Q%f7?)09Ui|=qvnT`SuDM^Od;JvvJQ|EO{sp#Kyrue z=88^w8;Xg{+_tNAT{s|jQ2?~ye9xj|7?I=xlCfZAg=5!<6G^Q3A= zeYWSN{-PqTS+3-)2|-1SGzv4QQIV11Jl1=z-nk+Qfv z<+GAG7rFMi#{%J-W_|fiHQReF0TZ&EFxN{&y*UzN4&SrFngAS)Q^#cJU)ta-TTzXN zipC1_4=DiG__Dz`=l)@EsRYJ{e#8Pn*>%DmU$=1jU;td}$_)kd#lQ4u!> zdo)$gnf8X5rxnJl^)h^aE*&fgK&MrusrrxG>rRm|9=TE3m4q7Di5a=OX-q3lVzF5o z2dlf*zM}c;yb|10{G*bWQ7VI(h|-Q4y<<_(tK@+OjErsPy6t-!FuFGCuLgjX z$aJv`O6T5ajAV9<(N-hFs{K!mWm*8z9L=>;jh9~?SHtV;kMkm9C~CML{7IHv}i_P?aL=!F%RHou7puHB;pst zvuRy;HZ4S4O)uIyS_4?5#AghZ!k-P_2UYpB!nu3l?T6#|a9%bfm(r?i81^)lK}wir zU{1afBXc@LXd^#As<GYN8As8RgN;YS*&kQNzdK z#qVRlgj<<^@>!XZhT=%Ft;gyNUtJOJ)t`r2;+WMZ)tA0!QQT?;(?$turG+B8;g&Rv zsp;J-=#@6ZR>&i3YM4!xgmsiF#3Pk1oX_ZAEpo=A%w0e8%_poZa7;7L!lmg^pV_hl zM$u%UIn=YlrdS<_;0qxRDN5I=`}{P{;6WC--v0=Hf*1|_CdUwV*pL!an!CGnt2r6@ zHeEKD4M42is)6Q?W}S)NQune5PT6!s1Oq9xcsWD4`H_>_g$r7(AwQszj~X96vm^(n z9$~7^aKROmJzMbT8(46>x}ydjX4A~_d3w*hSJZIzX*?hn^+$7-O1Uj>B zc&aS(7B@VG{H!|J>EX=8yV$T3yn9{T>)~D>_XfCkfcrM?JGkG*{e9f;;C>hPd$`}n z{Q>SD;DLCGFNo%G`0?j)pz>&*; z=1M_#u~bwn0R*BJ;2j>ecYFJ%Y(KIU?Czt{sDq1uV=KD!0IstOAHs0pUfv=F74Al( zb_F*_=t1cMo>$B-(U1c~>GPh0bkF3Q4Se9V@h^;qGpKU_}TQ(O7DqE087<$+y`4WtIx#(wgjc1_*ky zToghVqJFndm4&R0J%{fT^p_#|Boe9we5IoW1#^mYL^a`V&xUH+-1{ljbTPTQqRG`2 zg`8`8yq*c#Y#5c2aFu9wAUyrW8V^4n?fp#l{;>BBnomzJIvez)^02+}yvyQ$qy3GC z#{cz{mkb4NatmQ0;bd?%x4q|RJVtAOy65PAZq2ld9{n5c*2)*QTKoj~`~-EKC$K}y z%c_lAudC){l^XbOoomp=*P9|2?HL%m+4(#K&(rKQvK7t6vn&|UUDN7X z;-ECs6N!byD4WQSl*#x>%TE@6M7J5Jcw9Wn9R=Q@Bw6@ZV9CSkQSKBV>FV>l@_^xX zvq3dWjeT{F-G5wSa&IFhjfR^VLFrz6Jas`9!82%`uUAv6ZZ9}8 z?~FyB%Xw@bla|^>b4>>X z476=^aZf?q6H?Nquv0F7fNj`ab|#62o?KzwSx=MLIsYDZ&#o|+gk2FP~s1dMQC zj0}QdBAGT|yCf2^u6^gtOcTGM5Wa6X^%j|Qm`P?wM&Afm7;%Gt;)?{3fC#%>f?Lhv z3uuK@*|o^Od4n#hlp3gS42-}i3=*ivoWctwuA#)dTH;a_H&9?<;1Hh6@!kl8%1guu zETOLfNLI-Q3GN2y!o6x-WazATxxxS+dn5AorMCuUi>UE?LE2RcY&6- z{k!Hm&VTDV&e!X>mH|vZ_-OnprcXvS3@KPRil;@NGOe9rM8SC*E$UF)$8pvAX|O*2 zw!T|GQY&LRD&smTyQF`kRD`v=`@12CX1^9>t*NAPP*NFD$~&)oZ-ZUfR>4;Rylw)| z^CpOTehcd0qgdc#@TzXe8)Lu39osC}qMr|(1m@DBXyTU`F&fy;;<4ug%XcRtfq{)) z;eGNUc{ZJnkw1Ivf#;jvwDA22gBda5%KTXP6Bj{7{(LrOM+AR}gjwxg-|&u=&Z^Pr zIv~lSY2zzR%XQ+>8g$q5R}R3bDBXP0;>s2moR+(I2ac)w#Fu3Pr<_UaF^WSz>4}zD z>a5VIQa~ovKqd?AMS1MSTZ`(*%P>Iv5snAJl6bokSY~Qn15t*-BFN_<%2%vl1T+CC zCkVg*5?Qq*An$*3c3%{npp#3I450LU1VLvELoD(-^@%H~UtOZE?>F_@dN3%mLKYG8 zO4Wx|=d$XJuKJ~zh4JALO&v}HBFQkArIQBdKzGWyUvsYbN0&6<(=(m=pJww2Ry@;> zk||LRi+PiAA^okvvVp@^&FBK#LC9Wn~UrbCv^X6%1XM9rXjaYZU?HBFrU(xLyZ zpkkAz&@&WG5W933u}0#Ypv1Yv=6yf`dxzb!Syw7TcB>oAj6pm~F@Bgz!<29AQ3>5k zs=0eC`>K_ls_a?N0d&bDZJ1KQ6K%K}!Sie;rLzsH#FWv*H#BOpZ=;0uKD9vyWcUr4 zg5{jJR=x~!3PafLnQh;Of<}Uqq8u@Q5&=-!(0Yrh{zQr3KHIv2zIIWp=vfi(EZc;01C2w=*R9pecHkk`Pag^dR?(^43{VR%7Nk*Db^rUl**Z~VA;cOW8{sJ($GXlUK)*6TKZ99zA>c-`Tz6R+-y# zdTyDAJr&KZGOZ}-)gqpFpDr(1KfA1FL%_=#j#plp18s!Yp7`umv|OA$mjr{d$b7z_ zBniEY7*bGW&$FUZ;oZ2#1k^$d@Fj2@a1u8B#R3#htjg-;Wn;x_Rv8fm9>vsu^MM^c zFJ^&hyP#7n_9>BP;~0KZFQp9*-FP&0o6Q(aTC-KIiY)RmK1G+8{D0_yFH3UHudxrL z4Lx=#L}ZU&3W37*CbF$e#O7Um&zc0 z==!+=Nrh{A;}4;KSroYfY#RPv zg84`Iy9(gXVzT^NE{8u(l<`{ZrXf~QYayQUdOa(B#2~xK3e+y}%bZ~0UPT;m=%><)0cz2hD3S~;y zGr|^~FJkx$Y69K>%a!bZ5cXLSDzhjYjZz5`0tJ#sRHZD+9=gqZCZG2T}TK=@uymGr59|aXf zn@$;%zu^xQyOb=XCYMA(O#7tm&N_xSKW~?OI%BR*)>oiYXGk=ElPM%lIBSLt@^N-5 z+jKn#<;o=l*`FohODLtF0EG3Yo?due%Eec4d4y+H@KJb^ofR`=WIJs?tS^xj^cR_YV&bQ~weQ^qcmf z;_4}!afR=hR$`lfBQLF~X(Mr0Q<}T+o1VkHgTT|nK-+@dUH)zvu4aFPmK8klj5a#- z$HCB7yjI2?jI5Rq5)U31Bbh=ls3_wD_Bdk&rdB+KE#UbwBteNoQh!q)8n`|W4jzm@ zathWlh(bXqkTjh;Q;^rxbgrYI{Ax~tiKGDZzF*(_WFxzOSoVC{+bKb~h--z@_(r8O z>-3xe9(fAKEiS7FnIZjs)xi%)a zG6JI!!nWQ>zMFz~@2R|!o5=#-Jb-i>4=SGRdlJv~%?%|GMoSdGo+z2^ObL?FK((IV zrX=6adK!;^vaFiVI|_4ZQ6E}n?^9%rZ$@S%0d6Is>9g{NmCzc;-zxV!%+ z6whFPOT|;*0X94J$pR*vZ= z4}W|i9^A7K_c|cNgDr)4pcmp7i?u%wy&{9Cob=G)it$5P^@0@hC8FC%@t`Wj8C?`Y zxRcgDkN)r14@YlbzCPJ+|N87-C&%x+uFDtk(e<1p;Rmv;4sFR^kySYD!66wtL#MZY zKj^?!d)T%Q`cAhE*ZaeEZ_wHAcDg;d>kPYWE$$z)$@wF>WFL1?@`&zXY zmDF0q)tcdtBN_e#+Eqw6@W>@_YbMrza6R(K*n;PWhkf=6>+qTmTeZsBI|p|<_3&*5 zFNGk-Xgl>7`y3+`6^^5Y0}l%d8tgh<1YgrFM`TKIyH2~$U^=J{sGS4t*8({?P`eH& z2g%nN(Q#2D1^m0wFsMl6&s?TUa;aFBBD7UjA8h@%;iFW|Y4z3P^08Vuq@E3bbhB~f z28)ZxBTZWU`rX~=FyGiEn?XF;hLh!*ZM}hBWgC~0^v>I{F>xc^3bhEi-9x5agGmbn|68n}-%i3)}X=AO;Az!KJckq{LnZTUb845GpmmVj=mEZpv&? zVKy*kp425d6w^cL#s!5{#-zo6EAYyO$dWJ6kZ9hO=PXpC+v`Z9>)5!W5KErY)&od_ z-GLSh2+b{SJTZm))pQmmZ)cNf@;+Y8CLjnFbgT;I56V29I zegp3+)+g`8C!w4y;)`E}QDQl$^*b=N+6h(evm%rGnbmqxNt=Lls`+P+TggJw0j{_cGLehS^sTyTcm4u`3V- zl7i3~)_9N|ju7SF7nQ$ne^}#J?q{g-`=avqwTCs{W;;XeXPEteT_eYIw3yftcmju4 zw7J$3Eo;M@c%mRFWjn=pBBFExLu@2&s_KXaP;nfPY#PUnUQZD$LFNHl*N$Q!mjx@p^^o3=gNy6s`L?I`eU`YB{T__D@Okx(SZv* zA0py;i&!k53Hs=qGH)nqIx<~Gtv?i&{Gm|#L!lh+VnxhbloyLtcGgy&2WzA@1<5WN+awl|9*F4`+vT@14-Rul=H1>(wRK_2g|3zvI87?l~EX7 zo0ja^(9FhvWz2vi1k2Wq(sqeblt|vQqB=#6L}s8!Wg4)+;L-C5|5_~!k;d>s=!_xU z6jX7x0)A_~XWSwby{n%4afjc194Wd87yC|XrcN`ut7c+FXct`LNIR3oRwmp;lNn`I z1|90NSfB|t-$qDSCwi>^SkweX)T%(K06`UIy9fS%3>EletWn5^o(ZPguLvjU!j;G~ z*idyzbEaO^C>qyjGLZyKRb!N^v0|6I)T36tUZc5Iqq$BCHf)CSpT{R}Up{~L>+^pc zy?y63XhV4>MtU25BimPU^3&j6+`etO=10(6*oeT53My_?a933o+{uNyPD@1j&T2vN z3J<7%)9&mkONX}7&2i^nZl7+-SS-cHHCWDRwrxevfIK5&Ww6obDGSxCSi+L%^BcMW z2QRScm1z?Tl5@|#pcK;E%(YWdJl#%YsJ?irhzt}+??Ghf_97#OR4C@rpbtG??(B;x zQ-Z+$6OA^FMr3!Fj&i3_r(3C3x2jy&1V>6&Yr@DQRt-Q zZAeU03NIB38#f_wg)VCLy0Z|F=qgQKmnK_Cb#zfnW@{H7(rQ1(EOjx9!J>xn>aZn$ z)GjQFcxVyIcxGDfBuqyE8+%`%ZKkR zaxwnu!5iJ05f;s`5QV0LuL6{cpY62Ql=qY+Jpe;$|aJtW{D&n zM?;F-a*AK26ioMgmg!fM2$*OR0jKT6vf=O%B%5jVIjswmuYP6GxZu5$Mah;D`GTXf z1%4GgktMvMXY>5wq>Pd#OV?xz*7qYvnulbmVra6Ui*%+nw9w{BFSm@Pv(;#S-!$uM zWhkU9`(zBfRL-wm!-u#+SV?d-**h+zl;tU7OF3fEFi$(HGLVGM^cc!>J}X`4mU8x1 zdMQgCZRA~C$m+_E8=y&vZ>~t>zilY04v*ibQS-yeESBC{rjYI-SqDgorc}RVAi2YK zb44e;4aG!eZrjzmE}aqF-DTl_RSlS`)r7J1_eh%l+@Po`o!%;6KYgrFiu8ig6us7O_UR4vK1yZRN%0`;O?1<1Y02f4M{h*osW;{5CP zFD%9nD=h@N)-PxLzgF>QQiB6&E$H<~LC!Hj#xB5iL7C@*8ir%Mbh5C20&HW(NLgH- z@>$88i(LEMV}bBZv%Y+%n(e)ofC*VnnCm5?-W-WBhwoWoO#qI@sbezqFKuv^t*FLB zMPr5ehZKNoeA!@}bN?{7R088eawE18pH$+WjA?XbW!`IWb0%Fa)=L_eYNOY&sEC_` zJ({ZLOnXDj(+cC&dKo@{mkt&Lpwp_-RQ<>8b*IP}kKCy2Nt-S#~V7+o9nR|CLG zWV%=erE_mIMlw6bXseN7)&8f(GA#gUj^^5_#>=mctKs$a$9a)46gAwbu*tLAmPXjw zV5P#&mtlFx%J^n~$E+TQtmJ5wzek1tXOALbBBxspS~MfD_T`hVm}I4>KLOKDX$40{^OASFyQ zFel%LkvSbAw2_}5RooSq-l)RO-5R=xSD=?#^TkArZ_5XNY%Ecd!+ham?zI>Pz3VC~mcaX`=+S(n1m4a7!A- z)b#EZ^h%pyE98+iHO!_;!aB+o;*m-h&S&(m7CGZl=B}Ul<`Y&HIHs9r;nMV|&urNN zqiC|w9O_wNQ>+d|@P!bE6s7CbeSR8e@F0s^?|%e;L5v1|lVb=wY)FYI&D~wP)troc zn=Tv71|U{$)j)Gcv(7|sse4%jr))YRf`OD;yquxj{K!e|!Ue6?kRQ;MIAr77vz{Q1WD1Uw^W!1Y$?a`n5;PrX`89W&OH?V+-zd3PKn2^;x_s0-aem zJXMx?iyIz8epa3A^l)b4U2ND1-n}mF^>D9`djs4%z2i( z{s8w6@W93c2M^lV80_Og2M@Y<(8Gg19t`k*-~b=k_@Ivu2Ke9rJGKo!2Yzk%?ZdAF zzb^cG@aw~G06&0p0L}q82jCola{$f(I0xVyfO7!O0k}56wE?c(#+?D~9N?~vyAJNQ zad#hgJGk4$-5&1tac3WQ`lq1%KAy_W(SEwNDBXEUKl&eo(^Jroq%~6|f#w|);K*fv zbETlWSSl)(00L19@D2~#yS@EWwjbFFcK6X})WJo-u@zl<0N2@t4`DcPFK>~83U{MX zyMmh|^q_PB&nxDaXvhJg^m)%gx@Ypu20n0F@(r@X+ygPBr0`M}dZfEbO}6_s<)-Xh zZ)}8kl66ibI|md<=+TeSDc0(daCbLGjfWqP_I@UNf7p8m&8Mdqoeg?YdDz}~-evKB(f-Cm z+un0D9;3BC-E(w5w`ST!kNypJYvl`DEq(%geuBEr6WF2U zW!1*5*Hv?}N)7zC&Nb-b>rIi1_6&^O?0g=A=V^8t*^1`k@z_s0Pxg7cSr!cFu4#2G zaZsA+iNr!;luhJE%4Gbcjw-=nbL7h>y$eFJa;Ry2l zcg7;mlRlSUk)xuydG z2HLi|xDycf)GldL*eMr(z&7kIJCnvkU#_xS+`$477zT6^E-Se37t5z1MpZ&PNV*~e zq^PF+*@7%H$1*(Vg$C+<7WC_nhX;E271RZOos+%z+(o-gop>C~iHRX&fNTd(zzB!N z$gnX?B+~|LmqaSoweS3yY2r5&!uO4){vwkOvzQ{yGK2RcY-*@T#mK%vopm@U80YeS; z7s&j+J|3Yx0`A24m~2|OGfU^`S%pMN3Ry(V zD^(v>oy)2>y6Tr=7AA*BG<7%)h$O>cmM#g;f$o%Zzvf)=k1lD*r)N41KF#Jatazp$ z$CL2_|JA1up3KI9H;<{xLlIZUMffik88QmCLx(Jz!`Oe_7Bz$F#TBWn)iiPXOPBt; zf{IO=LeEe%LF~vdW{t!-L5cHhhxY*m>>YN?VO^;R*{yCcGX}|sVEizZhAH3JqY}E8 zR&)1Q_Ejr8RoSz!1L%@R+AyVpC)#i|g6G*xN_QJpi7BIrZ)ntH-^MBHJ#jz>WcUr4 zg5}(#R=x~!3PaTHnd96>f<}syq8u@Q76DM&(0Yrh{z_Ud2l2gyr%A` z8l+=|RYSsQ1qts-1iRGxP&Jz$=>BPa00r4T^ka8Vp0@C${ySQeuFUiqUtS+gQ~X(q z+~T(BK5ZB?Y+_NpWo++pOvI$F?30{~Cu?Jah=*Nm=Rynin*ENF9a-|fR%MqsgW+Bq zcrt=|($)qETgT+x008moUraVqVRCKNyETqAbYLTPi3jCy|o>K+z!lb!$o D3#c6D diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index b4d7461..504a012 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":85, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","id","exports","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index db171c1..ba9de32 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -108,7 +108,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.5.2"; + ByteBuffer.VERSION = "3.5.3"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/package.json b/package.json index 736a209..124d744 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "bytebuffer", - "version": "3.5.2", + "version": "3.5.3", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", - "browser": "dist/ByteBufferAB.min.js", + "browser": "dist/ByteBufferAB.js", "repository": { "type": "git", "url": "https://github.com/dcodeIO/ByteBuffer.js.git" @@ -14,7 +14,7 @@ }, "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { - "long": "~2 >=2.2", + "long": "~2 >=2.2.3", "bufferview": "~1" }, "devDependencies": { diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index ba32dc4..0cf0548 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -36,7 +36,7 @@ return ByteBuffer; } - /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && module.id && typeof exports === 'object' && exports) + /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} return loadByteBuffer(Long); From 0a5d362430f24402f94c011ea59f4b0749866305 Mon Sep 17 00:00:00 2001 From: Daniel Wirtz Date: Mon, 3 Nov 2014 16:26:52 +0100 Subject: [PATCH 28/91] Resolve ReferenceError in BBNB#toBuffer(true), fixes #35 --- bower.json | 2 +- dist/ByteBufferAB.js | 9 ++++----- dist/ByteBufferAB.min.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7560 -> 7560 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 11 +++++------ package.json | 2 +- src/methods/fill.js | 7 +++---- src/methods/toBuffer.js | 2 +- 9 files changed, 17 insertions(+), 20 deletions(-) diff --git a/bower.json b/bower.json index 6089e9e..f9d0ad3 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.3", + "version": "3.5.4", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 22663b7..7168997 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -116,7 +116,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.3"; + ByteBuffer.VERSION = "3.5.4"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2136,11 +2136,10 @@ if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - if (begin >= end) return this; // Nothing to fill + if (begin >= end) + return this; // Nothing to fill while (begin < end) this.view.setUint8(begin++, value); - if (relative) { - this.offset = begin; - } + if (relative) this.offset = begin; return this; }; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 88f309e..667537d 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0NMO*>($GXlUK)*6TKZ99zA>c-`Tz6R+-y# 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 delta 6924 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 SCE;us_WlAgiLe=no&W$$UuKs8 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 504a012..2eb554d 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":85, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index ba9de32..05c9ecb 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -108,7 +108,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.5.3"; + ByteBuffer.VERSION = "3.5.4"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2285,12 +2285,11 @@ module.exports = (function() { if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); } - if (begin >= end) return this; // Nothing to fill + if (begin >= end) + return this; // Nothing to fill this.buffer.fill(value, begin, end); begin = end; - if (relative) { - this.offset = begin; - } + if (relative) this.offset = begin; return this; }; @@ -2590,7 +2589,7 @@ module.exports = (function() { if (forceCopy) { var buffer = new Buffer(limit - offset); this.buffer.copy(buffer, 0, offset, limit); - return b; + return buffer; } else { if (offset === 0 && limit === this.buffer.length) return this.buffer; diff --git a/package.json b/package.json index 124d744..914adbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.3", + "version": "3.5.4", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/methods/fill.js b/src/methods/fill.js index a8fb075..34ddb27 100644 --- a/src/methods/fill.js +++ b/src/methods/fill.js @@ -19,16 +19,15 @@ ByteBufferPrototype.fill = function(value, begin, end) { //? ASSERT_INTEGER('value'); //? ASSERT_RANGE(); } - if (begin >= end) return this; // Nothing to fill + if (begin >= end) + return this; // Nothing to fill //? if (NODE) { this.buffer.fill(value, begin, end); begin = end; //? } else { while (begin < end) this.view.setUint8(begin++, value); //? } - if (relative) { - this.offset = begin; - } + if (relative) this.offset = begin; return this; }; diff --git a/src/methods/toBuffer.js b/src/methods/toBuffer.js index b16efca..6c2fb1c 100644 --- a/src/methods/toBuffer.js +++ b/src/methods/toBuffer.js @@ -26,7 +26,7 @@ ByteBufferPrototype.toBuffer = function(forceCopy) { if (forceCopy) { var buffer = new Buffer(limit - offset); this.buffer.copy(buffer, 0, offset, limit); - return b; + return buffer; } else { if (offset === 0 && limit === this.buffer.length) return this.buffer; From a1ec65b32891d5a9d5d6e92472e5dd8e4578bfcd Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 4 Dec 2014 12:12:14 +0300 Subject: [PATCH 29/91] Simplify require No need to use "path" module to require file by relative path --- index.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index ad4a9a4..4f3154d 100644 --- a/index.js +++ b/index.js @@ -13,9 +13,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -var path = require("path"), - ByteBufferNB = require(path.join(__dirname, "dist", "ByteBufferNB.js")), - ByteBufferAB = require(path.join(__dirname, "dist", "ByteBufferAB.js")); +var ByteBufferNB = require("./dist/ByteBufferNB.js")), + ByteBufferAB = require("./dist/ByteBufferAB.js")); module.exports = ByteBufferNB; module.exports.ByteBufferNB = ByteBufferNB; // node Buffer backed From 0b3cb233c6c983f0ee806b8c886d2e385ffa8ceb Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 4 Dec 2014 15:01:54 +0300 Subject: [PATCH 30/91] rm SlowBuffer: src SlowBuffer isn't used, we should remove it --- src/ByteBufferNB.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ByteBufferNB.js b/src/ByteBufferNB.js index 9565f88..88c1eb0 100644 --- a/src/ByteBufferNB.js +++ b/src/ByteBufferNB.js @@ -26,7 +26,6 @@ module.exports = (function() { var buffer = require("buffer"), Buffer = buffer['Buffer'], - SlowBuffer = buffer['SlowBuffer'], //? if (BUFFERVIEW) BufferView = require("bufferview"), Long = require("long"), From 60723077a387b22154522164758e05827d3360d5 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 4 Dec 2014 15:02:30 +0300 Subject: [PATCH 31/91] rm SlowBuffer: dist --- dist/ByteBufferNB.js | 1 - 1 file changed, 1 deletion(-) diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 05c9ecb..5df0717 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -25,7 +25,6 @@ module.exports = (function() { var buffer = require("buffer"), Buffer = buffer['Buffer'], - SlowBuffer = buffer['SlowBuffer'], Long = require("long"), memcpy = null; try { memcpy = require("memcpy"); } catch (e) {} From 8090bd00d0838a2070d7e2c993467da5d7e85d56 Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 8 May 2015 16:48:06 +0200 Subject: [PATCH 32/91] Accept strings for longs, fixes #43 --- bower.json | 2 +- dist/ByteBufferAB.js | 23 ++++++- dist/ByteBufferAB.min.js | 132 ++++++++++++++++++------------------ dist/ByteBufferAB.min.js.gz | Bin 7560 -> 7623 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferNB.js | 20 +++++- package.json | 2 +- scripts/build.js | 5 +- src/ByteBuffer.js | 3 + src/ByteBufferAB.js | 5 +- src/ByteBufferTA.js | 50 ++++++++++++++ src/encodings/base64.js | 6 ++ src/encodings/binary.js | 8 ++- src/encodings/debug.js | 8 ++- src/encodings/hex.js | 6 ++ src/encodings/utf8.js | 6 ++ src/helpers.js | 4 +- src/macros.js | 4 ++ 18 files changed, 208 insertions(+), 82 deletions(-) create mode 100644 src/ByteBufferTA.js diff --git a/bower.json b/bower.json index f9d0ad3..2ff1506 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.4", + "version": "3.5.5", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 7168997..41147b4 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -16,7 +16,8 @@ /** * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses an ArrayBuffer (AB) as its backing buffer and is compatible with modern browsers. + * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through a DataView and is + * compatible with modern browsers. * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // @@ -116,7 +117,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.4"; + ByteBuffer.VERSION = "3.5.5"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -752,6 +753,8 @@ if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); else if (!(value && value instanceof Long)) throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) @@ -762,6 +765,8 @@ } if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); offset += 8; var capacity6 = this.buffer.byteLength; if (offset > capacity6) @@ -831,6 +836,8 @@ if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); else if (!(value && value instanceof Long)) throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) @@ -841,6 +848,8 @@ } if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); offset += 8; var capacity7 = this.buffer.byteLength; if (offset > capacity7) @@ -1237,6 +1246,8 @@ ByteBuffer.calculateVarint64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); // ref: src/google/protobuf/io/coded_stream.cc var part0 = value.toInt() >>> 0, part1 = value.shiftRightUnsigned(28).toInt() >>> 0, @@ -1266,6 +1277,8 @@ ByteBuffer.zigZagEncode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); // ref: src/google/protobuf/wire_format_lite.h return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); @@ -1280,6 +1293,8 @@ ByteBuffer.zigZagDecode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); // ref: src/google/protobuf/wire_format_lite.h return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); @@ -1299,6 +1314,8 @@ if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); else if (!(value && value instanceof Long)) throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) @@ -1309,6 +1326,8 @@ } if (typeof value === 'number') value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); var size = ByteBuffer.calculateVarint64(value), part0 = value.toInt() >>> 0, diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 667537d..2ef7c5c 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -1,11 +1,12 @@ /* ByteBuffer.js (c) 2013-2014 Daniel Wirtz - This version of ByteBuffer.js uses an ArrayBuffer (AB) as its backing buffer and is compatible with modern browsers. + This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through a DataView and is + compatible with modern browsers. Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); }a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+= 4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+= -4);return a};k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+= -8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a&&(a=k.fromNumber(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.readUint64=function(a){var b="undefined"===typeof a;b&&(a= -this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a; -b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+ -a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>> -1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)> -b?f:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a), -b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+= -c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a&&(a=k.fromNumber(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a? -a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+ -" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,n=a.shiftRightUnsigned(28).toInt()>>>0,e=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r: -b);b-=d;switch(d){case 10:this.view.setUint8(b+9,e>>>7&1);case 9:this.view.setUint8(b+8,9!==d?e|128:e&127);case 8:this.view.setUint8(b+7,8!==d?n>>>21|128:n>>>21&127);case 7:this.view.setUint8(b+6,7!==d?n>>>14|128:n>>>14&127);case 6:this.view.setUint8(b+5,6!==d?n>>>7|128:n>>>7&127);case 5:this.view.setUint8(b+4,5!==d?n|128:n&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7& -127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0, -h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f=h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun"); -d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}d=b;f=l.a(m(a))[1];b+=f+1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-d,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(f=this.view.getUint8(a++))?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f= -a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, -f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=t();l.g(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var r=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d= -b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,f=a+c,c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, -b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit= -this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0=== -c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); -b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);f&&(this.offset+=h);e&&(a.offset+= -h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, -b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c,e;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, -b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); -b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+ -this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, -83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f, -e,g;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(g=c[f],"undefined"===typeof g&&d(f),b(e<<2>>>0|(g&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((g&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){g=c[f];if("undefined"===typeof g)if(61===f)break;else d(f);b((e&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= -this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b=== -this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var f=0,e=0,h,k=!1,l=!1,m=!1,q=!1,p=!1;f":if(!c){if(q){p=!0;break}q=!0}b.limit=e;k=!1;break;case "'":if(!c){if(m){p=!0;break}m=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){p=!0;break}h=parseInt(h+a.charAt(f++), -16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var f,e=0,h=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? -c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,g,h,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(g=a())&&d([e,g]),c((e&31)<<6|g&63);else if(224===(e&240))null!==(g=a())&&null!==(h=a())||d([e,g,h]),c((e&15)<<12|(g&63)<<6|h&63);else if(240===(e&248))null!==(g=a())&&null!==(h=a())&&null!==(k=a())||d([e,g, -h,k]),c((e&7)<<18|(g&63)<<12|(h&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, -c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a= +k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b, +a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+ +4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+= +4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b- +8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES= +5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b|| +b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d& +127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); +}var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a)); +var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, +!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b|| +b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,n=a.shiftRightUnsigned(28).toInt()>>>0,e=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,e>>>7&1);case 9:this.view.setUint8(b+8,9!==d? +e|128:e&127);case 8:this.view.setUint8(b+7,8!==d?n>>>21|128:n>>>21&127);case 7:this.view.setUint8(b+6,7!==d?n>>>14|128:n>>>14&127);case 6:this.view.setUint8(b+5,6!==d?n>>>7|128:n>>>7&127);case 5:this.view.setUint8(b+4,5!==d?n|128:n&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7&127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag= +function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++), +d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f=h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a= +this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}d=b;f=l.a(m(a))[1];b+=f+1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-d,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(f=this.view.getUint8(a++))?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset= +b,this):b-f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)"); +c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=t();l.g(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var r=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.c(m(a),function(a){this.view.setUint8(b++, +a)}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,f=a+c, +c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); +}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength; +this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d; +this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); +}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+ +b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);f&&(this.offset+=h);e&&(a.offset+=h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"=== +typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+ +this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this}; +e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ +c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c,e;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+ +a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b, +c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d< +f;++d)c[b[d]]=d;a.i=function(a,c){for(var d,f;null!==(d=a());)c(b[d>>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,g;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(g=c[f],"undefined"===typeof g&&d(f),b(e<<2>>>0|(g&48)>>4),null!==(f=a()))){e=c[f];if("undefined"=== +typeof e)if(61===f)break;else d(f);b((g&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){g=c[f];if("undefined"===typeof g)if(61===f)break;else d(f);b((e&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b=== +this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var f=0,e=0,h,k=!1,l=!1,m=!1,q=!1,p=!1;f":if(!c){if(q){p=!0;break}q=!0}b.limit=e;k=!1;break;case "'":if(!c){if(m){p=!0;break}m=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){p=!0;break}h=parseInt(h+a.charAt(f++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var f,e=0,h=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,g,h,k;null!==(e=a());)if(0===(e&128))c(e); +else if(192===(e&224))null===(g=a())&&d([e,g]),c((e&31)<<6|g&63);else if(224===(e&240))null!==(g=a())&&null!==(h=a())||d([e,g,h]),c((e&15)<<12|(g&63)<<6|h&63);else if(240===(e&248))null!==(g=a())&&null!==(h=a())&&null!==(k=a())||d([e,g,h,k]),c((e&7)<<18|(g&63)<<12|(h&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!== +e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"=== +typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return 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 esU#y!D0 capacity6) @@ -939,6 +943,8 @@ module.exports = (function() { if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); else if (!(value && value instanceof Long)) throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) @@ -949,6 +955,8 @@ module.exports = (function() { } if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); offset += 8; var capacity7 = this.buffer.length; if (offset > capacity7) @@ -1390,6 +1398,8 @@ module.exports = (function() { ByteBuffer.calculateVarint64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); // ref: src/google/protobuf/io/coded_stream.cc var part0 = value.toInt() >>> 0, part1 = value.shiftRightUnsigned(28).toInt() >>> 0, @@ -1419,6 +1429,8 @@ module.exports = (function() { ByteBuffer.zigZagEncode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); // ref: src/google/protobuf/wire_format_lite.h return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); @@ -1433,6 +1445,8 @@ module.exports = (function() { ByteBuffer.zigZagDecode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); // ref: src/google/protobuf/wire_format_lite.h return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); @@ -1452,6 +1466,8 @@ module.exports = (function() { if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); else if (!(value && value instanceof Long)) throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) @@ -1462,6 +1478,8 @@ module.exports = (function() { } if (typeof value === 'number') value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); var size = ByteBuffer.calculateVarint64(value), part0 = value.toInt() >>> 0, diff --git a/package.json b/package.json index 914adbf..97c0b7a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.4", + "version": "3.5.5", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/scripts/build.js b/scripts/build.js index a092ad4..ab83e6c 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -82,7 +82,7 @@ if (!scope.UTF8) scope.STRINGS = false; // Build node ByteBuffer scope.NODE = true; -console.log("Building node ByteBuffer with scope", JSON.stringify(scope, null, 2)); +console.log("Building ByteBufferNB with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( path.join(distDir, "ByteBufferNB.js"), MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferNB.js")), filename, scope, srcDir) @@ -90,8 +90,9 @@ fs.writeFileSync( // Build browser ByteBuffer scope.NODE = false; +scope.DATAVIEW = true; delete scope.BUFFERVIEW; -console.log("Building browser ByteBuffer with scope", JSON.stringify(scope, null, 2)); +console.log("Building ByteBufferAB with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( path.join(distDir, "ByteBufferAB.js"), MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferAB.js")), filename, scope) diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 5c90ec2..3a099fa 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -56,7 +56,10 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { * @type {?DataView} * @expose */ + //? if (DATAVIEW) this.view = capacity === 0 ? null : new DataView(this.buffer); + //? else + this.view = capacity === 0 ? null : new Uint8Array(this.buffer); //? } /** diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index 0cf0548..4ef5b9b 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -13,11 +13,12 @@ See the License for the specific language governing permissions and limitations under the License. */ -//? NODE = false; +//? NODE = false; DATAVIEW = true; /** * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses an ArrayBuffer (AB) as its backing buffer and is compatible with modern browsers. + * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through a DataView and is + * compatible with modern browsers. * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/src/ByteBufferTA.js b/src/ByteBufferTA.js new file mode 100644 index 0000000..d53f794 --- /dev/null +++ b/src/ByteBufferTA.js @@ -0,0 +1,50 @@ +/* + Copyright 2013-2014 Daniel Wirtz + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ +//? NODE = false; DATAVIEW = false; + +/** + * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz + * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through typed arrays and is + * compatible with modern browsers. + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/ByteBuffer.js for details + */ // +(function(global) { + "use strict"; + + /** + * @param {function(new: Long, number, number, boolean=)=} Long + * @returns {function(new: ByteBuffer, number=, boolean=, boolean=)}} + * @inner + */ + function loadByteBuffer(Long) { + + //? include("ByteBuffer.js"); + + return ByteBuffer; + } + + /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return loadByteBuffer(Long); + })(); + /* AMD */ else if (typeof define === 'function' && define["amd"]) + define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); + +})(this); diff --git a/src/encodings/base64.js b/src/encodings/base64.js index 16ac8a2..5b55ebc 100644 --- a/src/encodings/base64.js +++ b/src/encodings/base64.js @@ -26,7 +26,10 @@ ByteBufferPrototype.toBase64 = function(begin, end) { return this.buffer.toString("base64", begin, end); //? else { var sd; lxiv.encode(function() { + //? if (DATAVIEW) return begin < end ? this.view.getUint8(begin++) : null; + //? else + return begin < end ? this.view[begin++] : null; }.bind(this), sd = stringDestination()); return sd(); //? } @@ -59,7 +62,10 @@ ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), i = 0; lxiv.decode(stringSource(str), function(b) { + //? if (DATAVIEW) bb.view.setUint8(i++, b); + //? else + bb.view[i++] = b; }); bb.limit = i; //? } diff --git a/src/encodings/binary.js b/src/encodings/binary.js index 297472c..9fbf4b5 100644 --- a/src/encodings/binary.js +++ b/src/encodings/binary.js @@ -37,8 +37,10 @@ ByteBufferPrototype.toBinary = function(begin, end) { while (begin < end) { //? if (NODE) cc.push(this.buffer[begin++]); - //? else + //? else if (DATAVIEW) cc.push(this.view.getUint8(begin++)); + //? else + cc.push(this.view[begin++]); if (cc.length >= 1024) pt.push(String.fromCharCode.apply(String, cc)), cc = []; @@ -78,8 +80,10 @@ ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); //? if (NODE) bb.buffer[i++] = charCode; - //? else + //? else if (DATAVIEW) bb.view.setUint8(i++, charCode); + //? else + bb.view[i++] = charCode; } bb.limit = k; //? } diff --git a/src/encodings/debug.js b/src/encodings/debug.js index 076e6dc..8155ab3 100644 --- a/src/encodings/debug.js +++ b/src/encodings/debug.js @@ -32,8 +32,10 @@ ByteBufferPrototype.toDebug = function(columns) { if (i !== -1) { //? if (NODE) b = this.buffer[i]; - //? else + //? else if (DATAVIEW) b = this.view.getUint8(i); + //? else + b = this.view[i]; if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); if (columns) { @@ -177,8 +179,10 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { } //? if (NODE) bb.buffer[j++] = b; - //? else + //? else if (DATAVIEW) bb.view.setUint8(j++, b); + //? else + bb.view[j++] = b; rs = true; } if (fail) diff --git a/src/encodings/hex.js b/src/encodings/hex.js index 92bf3f2..986c18f 100644 --- a/src/encodings/hex.js +++ b/src/encodings/hex.js @@ -20,7 +20,10 @@ ByteBufferPrototype.toHex = function(begin, end) { var out = new Array(end - begin), b; while (begin < end) { + //? if (DATAVIEW) b = this.view.getUint8(begin++); + //? else + b = this.view[begin++]; if (b < 0x10) out.push("0", b.toString(16)); else out.push(b.toString(16)); @@ -61,7 +64,10 @@ ByteBuffer.fromHex = function(str, littleEndian, noAssert) { if (!noAssert) if (!isFinite(b) || b < 0 || b > 255) throw TypeError("Illegal str: Contains non-hex characters"); + //? if (DATAVIEW) bb.view.setUint8(j++, b); + //? else + bb.view[j++] = b; } bb.limit = j; //? } diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index 93a20b3..b9d28db 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -23,7 +23,10 @@ ByteBufferPrototype.toUTF8 = function(begin, end) { //? else { var sd; try { utfx.decodeUTF8toUTF16(function() { + //? if (DATAVIEW) return begin < end ? this.view.getUint8(begin++) : null; + //? else + return begin < end ? this.view[begin++] : null; }.bind(this), sd = stringDestination()); } catch (e) { if (begin !== end) @@ -57,7 +60,10 @@ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), i = 0; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + //? if (DATAVIEW) bb.view.setUint8(i++, b); + //? else + bb.view[i++] = b; }); bb.limit = i; //? } diff --git a/src/helpers.js b/src/helpers.js index fd0462f..3e27c45 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -40,7 +40,9 @@ function assertInteger(value, unsigned) { */ function assertLong(value, unsigned) { if (typeof value === 'number') { - return Long.fromNumber(value); + return Long.fromNumber(value, unsigned); + } else if (typeof value === 'string') { + return Long.fromString(value, unsigned); } else if (value && value instanceof Long) { if (typeof unsigned !== 'undefined') { if (unsigned && !value.unsigned) return value.toUnsigned(); diff --git a/src/macros.js b/src/macros.js index 57afc03..acb3693 100644 --- a/src/macros.js +++ b/src/macros.js @@ -24,6 +24,8 @@ ASSERT_LONG = function(varValue, unsigned) { if (INLINE) { writeln(__+'if (typeof '+varValue+' === \'number\')'); writeln(__+' '+varValue+' = Long.fromNumber('+varValue+');'); + writeln(__+'else if (typeof '+varValue+' === \'string\')'); + writeln(__+' '+varValue+' = Long.fromString('+varValue+');'); if (typeof unsigned !== 'undefined') { // When explicitly specified only writeln(__+'else if ('+varValue+' && '+varValue+' instanceof Long)'); if (unsigned) { @@ -48,6 +50,8 @@ LONG = function(varValue, unsigned) { if (VERBOSE_MS) writeln(__+'// '); writeln(__+'if (typeof '+varValue+' === \'number\')'); writeln(__+' '+varValue+' = Long.fromNumber('+varValue+(typeof unsigned === 'boolean' ? ', '+unsigned : '')+');'); + writeln(__+'else if (typeof '+varValue+' === \'string\')'); + writeln(__+' '+varValue+' = Long.fromString('+varValue+(typeof unsigned === 'boolean' ? ', '+unsigned : '')+');'); if (typeof unsigned === 'boolean') { writeln(__+'else if ('+varValue+'.unsigned !== '+unsigned+') '+varValue+' = '+varValue+'.'+(unsigned ? 'toUnsigned' : 'toSigned')+'();'); } From ce4b2bd759b23d77413432f790e7103af73a3eaf Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 8 May 2015 16:53:12 +0200 Subject: [PATCH 33/91] Post-merge --- dist/ByteBufferAB.min.js.gz | Bin 7623 -> 7623 bytes index.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 3d679aeab5d1824d454380dcbb9e1f8eb9e1eb5c..5805ce0a8896aa169cd61ac86b42997c31834e3d 100644 GIT binary patch delta 15 WcmX?ZecYN&zMF$%(b Date: Fri, 8 May 2015 16:54:14 +0200 Subject: [PATCH 34/91] appendTo verbage, fixes #37 --- dist/ByteBufferAB.js | 4 ++-- dist/ByteBufferAB.min.js.gz | Bin 7623 -> 7623 bytes dist/ByteBufferNB.js | 4 ++-- src/methods/append.js | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 41147b4..0d42d62 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -1920,8 +1920,8 @@ }; /** - * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents behind the specified - * offset up to the length of this ByteBuffer's data. + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. * @param {!ByteBuffer} target Target ByteBuffer * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * read if omitted. diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 5805ce0a8896aa169cd61ac86b42997c31834e3d..52f3709fa71f3f7ebabd7eb142cb89247fc4a9d0 100644 GIT binary patch delta 15 WcmX?ZecYN&zMF%C>D)%PgR%fCD+MY5 delta 15 WcmX?ZecYN&zMF$%(b Date: Fri, 8 May 2015 17:02:45 +0200 Subject: [PATCH 35/91] Relative cstring offset, fixes #46 --- dist/ByteBufferAB.js | 3 +-- dist/ByteBufferAB.min.js | 6 +++--- dist/ByteBufferAB.min.js.gz | Bin 7623 -> 7618 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 3 +-- src/types/strings/cstring.js | 3 +-- tests/suite.js | 7 ++++++- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 0d42d62..df5e118 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -1468,7 +1468,6 @@ if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k+1; @@ -1481,7 +1480,7 @@ }.bind(this)); this.view.setUint8(offset++, 0); if (relative) { - this.offset = offset - start; + this.offset = offset; return this; } return k; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 2ef7c5c..8870b20 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -36,12 +36,12 @@ b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= }var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a)); var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, !1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b|| -b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,n=a.shiftRightUnsigned(28).toInt()>>>0,e=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,e>>>7&1);case 9:this.view.setUint8(b+8,9!==d? -e|128:e&127);case 8:this.view.setUint8(b+7,8!==d?n>>>21|128:n>>>21&127);case 7:this.view.setUint8(b+6,7!==d?n>>>14|128:n>>>14&127);case 6:this.view.setUint8(b+5,6!==d?n>>>7|128:n>>>7&127);case 5:this.view.setUint8(b+4,5!==d?n|128:n&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7&127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag= +b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,h>>>7&1);case 9:this.view.setUint8(b+8,9!==d? +h|128:h&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7&127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag= function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++), d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f=h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a= this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}d=b;f=l.a(m(a))[1];b+=f+1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b-d,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}f=l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(f=this.view.getUint8(a++))?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b= "undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f=a+c;l.b(function(){return a|^ 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 V`v5~mI3G@0e*;gkk$V@Q00133R3QKW delta 4800 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 this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); } - var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: k = Buffer.byteLength(str, "utf8"); offset += k+1; @@ -1630,7 +1629,7 @@ module.exports = (function() { offset += this.buffer.write(str, offset, k, "utf8"); this.buffer[offset++] = 0; if (relative) { - this.offset = offset - start; + this.offset = offset; return this; } return k; diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index faaf1dc..ed2a9fc 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -23,7 +23,6 @@ ByteBufferPrototype.writeCString = function(str, offset) { } //? ASSERT_OFFSET(); } - var start = offset; // UTF8 strings do not contain zero bytes in between except for the zero character, so: //? if (NODE) { k = Buffer.byteLength(str, "utf8"); @@ -39,7 +38,7 @@ ByteBufferPrototype.writeCString = function(str, offset) { this.view.setUint8(offset++, 0); //? } if (relative) { - this.offset = offset - start; + this.offset = offset; return this; } return k; diff --git a/tests/suite.js b/tests/suite.js index 1d24228..6569680 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -777,7 +777,12 @@ function makeSuite(ByteBuffer) { suite.types.cstring = function(test) { var bb = new ByteBuffer(2); - bb.writeCString("ab"); // resizes to 4 + bb.writeCString("a"); + test.equal(bb.capacity(), 2); + test.equal(bb.offset, 2); + test.equal(bb.limit, 2); + bb.offset = 1; + bb.writeCString("b"); // resizes to 4 test.equal(bb.capacity(), 4); test.equal(bb.offset, 3); test.equal(bb.limit, 2); From 6651508dbfe17df82b173854a5e343c43d24b7fd Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 10 Jun 2015 23:26:15 +0200 Subject: [PATCH 36/91] Some progress on ByteBufferTA (all but floats, untested), and a build step for it, see #16 --- dist/ByteBufferAB.js | 17 +- dist/ByteBufferAB.min.js | 22 +- dist/ByteBufferAB.min.js.gz | Bin 7618 -> 7615 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 2 +- dist/experimental/ByteBufferTA.js | 3341 +++++++++++++++++++++++++++++ scripts/build.js | 9 + src/methods/append.js | 7 +- src/methods/clone.js | 11 +- src/methods/compact.js | 8 +- src/methods/copy.js | 4 +- src/methods/fill.js | 4 +- src/methods/prepend.js | 19 +- src/methods/resize.js | 8 + src/methods/reverse.js | 4 +- src/methods/static/concat.js | 5 +- src/methods/static/type.js | 4 +- src/methods/static/wrap.js | 9 + src/methods/toBuffer.js | 1 - src/types/ints/int16.js | 35 +- src/types/ints/int32.js | 8 +- src/types/ints/int64.js | 8 +- src/types/ints/int8.js | 18 +- src/types/strings/cstring.js | 12 +- src/types/strings/istring.js | 12 + src/types/strings/utf8string.js | 10 +- src/types/strings/vstring.js | 6 + src/types/varints/varint32.js | 59 +- src/types/varints/varint64.js | 58 +- 29 files changed, 3580 insertions(+), 123 deletions(-) create mode 100644 dist/experimental/ByteBufferTA.js diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index df5e118..cdf3f27 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -1513,7 +1513,8 @@ if (b === 0) return null; if (offset >= this.limit) throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - return (b = this.view.getUint8(offset++)) === 0 ? null : b; + b = this.view.getUint8(offset++); + return b === 0 ? null : b; }.bind(this), sd = stringDestination(), true); if (relative) { this.offset = offset; @@ -1977,10 +1978,9 @@ ByteBufferPrototype.clone = function(copy) { var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); if (copy) { - var buffer = new ArrayBuffer(this.buffer.byteLength); - new Uint8Array(buffer).set(this.buffer); - bb.buffer = buffer; - bb.view = new DataView(buffer); + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + new Uint8Array(bb.buffer).set(this.buffer); + bb.view = new DataView(bb.buffer); } else { bb.buffer = this.buffer; bb.view = this.view; @@ -2262,10 +2262,9 @@ var len = source.limit - source.offset; if (len <= 0) return this; // Nothing to prepend var diff = len - offset; - var arrayView; if (diff > 0) { // Not enough space before offset, so resize + move var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - arrayView = new Uint8Array(buffer); + var arrayView = new Uint8Array(buffer); arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); this.buffer = buffer; this.view = new DataView(buffer); @@ -2274,9 +2273,10 @@ this.limit += diff; offset += diff; } else { - arrayView = new Uint8Array(this.buffer); + var arrayView = new Uint8Array(this.buffer); } arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); + source.offset = source.limit; if (relative) this.offset -= len; @@ -2488,7 +2488,6 @@ */ ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; - /** * Converts the ByteBuffer's contents to a string. * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 8870b20..4671f5a 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -42,7 +42,7 @@ function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=f d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f=h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a= this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ b+" (+0) <= "+this.buffer.byteLength);}f=l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);return 0===(f=this.view.getUint8(a++))?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view.getUint8(a++);return 0===f?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b= "undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset= @@ -53,16 +53,16 @@ c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Il a)}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,f=a+c, c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); }a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength; -this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(a=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(a)).set(this.buffer),b.buffer=a,b.view=new DataView(a)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d; -this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); -}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+ -b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);f&&(this.offset+=h);e&&(a.offset+=h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"=== -typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+ -this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this}; -e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ -c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c,e;if(0>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a, +b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+ +" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b|| +b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);f&&(this.offset+=h);e&&(a.offset+=h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a, +b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset= +a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ +c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+ a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 1795ffbc40b9ca2a20c1a9524fa7d8683b82f800..cb54f1691e9146a69b5a24bac48ad8e06b707540 100644 GIT binary patch delta 7492 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 Olh)r2fi5Q>pa1~Z36=f; delta 7494 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 z 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 + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +/** + * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz + * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through typed arrays and is + * compatible with modern browsers. + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/ByteBuffer.js for details + */ // +(function(global) { + "use strict"; + + /** + * @param {function(new: Long, number, number, boolean=)=} Long + * @returns {function(new: ByteBuffer, number=, boolean=, boolean=)}} + * @inner + */ + function loadByteBuffer(Long) { + + /** + * Constructs a new ByteBuffer. + * @class The swiss army knife for binary data in JavaScript. + * @exports ByteBuffer + * @constructor + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @expose + */ + var ByteBuffer = function(capacity, littleEndian, noAssert) { + if (typeof capacity === 'undefined') capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (!noAssert) { + capacity = capacity | 0; + if (capacity < 0) + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; + } + + /** + * Backing buffer. + * @type {!ArrayBuffer} + * @expose + */ + this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); + + /** + * Data view to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?DataView} + * @expose + */ + this.view = capacity === 0 ? null : new Uint8Array(this.buffer); + + /** + * Absolute read/write offset. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.offset = 0; + + /** + * Marked offset. + * @type {number} + * @expose + * @see ByteBuffer#mark + * @see ByteBuffer#reset + */ + this.markedOffset = -1; + + /** + * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.limit = capacity; + + /** + * Whether to use little endian byte order, defaults to `false` for big endian. + * @type {boolean} + * @expose + */ + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : false; + + /** + * Whether to skip assertions of offsets and values, defaults to `false`. + * @type {boolean} + * @expose + */ + this.noAssert = !!noAssert; + }; + + /** + * ByteBuffer version. + * @type {string} + * @const + * @expose + */ + ByteBuffer.VERSION = "3.5.5"; + + /** + * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.LITTLE_ENDIAN = true; + + /** + * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.BIG_ENDIAN = false; + + /** + * Default initial capacity of `16`. + * @type {number} + * @expose + */ + ByteBuffer.DEFAULT_CAPACITY = 16; + + /** + * Default endianess of `false` for big endian. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; + + /** + * Default no assertions flag of `false`. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_NOASSERT = false; + + /** + * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded + * and int64 support is not available. + * @type {?Long} + * @const + * @see https://github.com/dcodeIO/Long.js + * @expose + */ + ByteBuffer.Long = Long || null; + + /** + * @alias ByteBuffer.prototype + * @inner + */ + var ByteBufferPrototype = ByteBuffer.prototype; + + // helpers + + /** + * @type {!ArrayBuffer} + * @inner + */ + var EMPTY_BUFFER = new ArrayBuffer(0); + + /** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ + var stringFromCharCode = String.fromCharCode; + + /** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ + function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + } + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + + /** + * Allocates a new ByteBuffer backed by a buffer of the specified capacity. + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} + * @expose + */ + ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { + return new ByteBuffer(capacity, littleEndian, noAssert); + }; + + /** + * Concatenates multiple ByteBuffers into one. + * @param {!Array.} buffers Buffers to concatenate + * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", + * defaults to "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + * to {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} Concatenated ByteBuffer + * @expose + */ + ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { + if (typeof encoding === 'boolean' || typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + var capacity = 0; + for (var i=0, k=buffers.length, length; i 0) capacity += length; + } + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); + var bb = new ByteBuffer(capacity, littleEndian, noAssert), + bi; + i=0; while (i} buffer Anything that can be wrapped + * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to + * "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` + * @expose + */ + ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { + if (typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + if (typeof buffer === 'string') { + if (typeof encoding === 'undefined') + encoding = "utf8"; + switch (encoding) { + case "base64": + return ByteBuffer.fromBase64(buffer, littleEndian); + case "hex": + return ByteBuffer.fromHex(buffer, littleEndian); + case "binary": + return ByteBuffer.fromBinary(buffer, littleEndian); + case "utf8": + return ByteBuffer.fromUTF8(buffer, littleEndian); + case "debug": + return ByteBuffer.fromDebug(buffer, littleEndian); + default: + throw Error("Unsupported encoding: "+encoding); + } + } + if (buffer === null || typeof buffer !== 'object') + throw TypeError("Illegal buffer"); + var bb; + if (ByteBuffer.isByteBuffer(buffer)) { + bb = ByteBufferPrototype.clone.call(buffer); + bb.markedOffset = -1; + return bb; + } + if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER + bb.buffer = buffer.buffer; + bb.offset = buffer.byteOffset; + bb.limit = buffer.byteOffset + buffer.length; + bb.view = buffer.length > 0 ? buffer : null; + } + } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.byteLength > 0) { + bb.buffer = buffer; + bb.offset = 0; + bb.limit = buffer.byteLength; + bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; + } + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (i=0; i>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 1; + var capacity0 = this.buffer.byteLength; + if (offset > capacity0) + this.resize((capacity0 *= 2) > offset ? capacity0 : offset); + offset -= 1; + this.view[offset] = value; + if (relative) this.offset += 1; + return this; + }; + + /** + * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + + /** + * Reads an 8bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt8 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var value = this.view[offset]; + if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed + if (relative) this.offset += 1; + return value; + }; + + /** + * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + + /** + * Writes an 8bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint8 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 1; + var capacity1 = this.buffer.byteLength; + if (offset > capacity1) + this.resize((capacity1 *= 2) > offset ? capacity1 : offset); + offset -= 1; + this.view[offset] = value; + if (relative) this.offset += 1; + return this; + }; + + /** + * Reads an 8bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint8 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var value = this.view[offset]; + if (relative) this.offset += 1; + return value; + }; + + // types/ints/int16 + + /** + * Writes a 16bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeInt16 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 2; + var capacity2 = this.buffer.byteLength; + if (offset > capacity2) + this.resize((capacity2 *= 2) > offset ? capacity2 : offset); + offset -= 2; + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } + if (relative) this.offset += 2; + return this; + }; + + /** + * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + + /** + * Reads a 16bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readInt16 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 2 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } + if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed + if (relative) this.offset += 2; + return value; + }; + + /** + * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + + /** + * Writes a 16bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUint16 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 2; + var capacity3 = this.buffer.byteLength; + if (offset > capacity3) + this.resize((capacity3 *= 2) > offset ? capacity3 : offset); + offset -= 2; + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } + if (relative) this.offset += 2; + return this; + }; + + /** + * Reads a 16bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUint16 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 2 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + } + var value = this.view.getUint16(offset, this.littleEndian); + if (relative) this.offset += 2; + return value; + }; + + // types/ints/int32 + + /** + * Writes a 32bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity4 = this.buffer.byteLength; + if (offset > capacity4) + this.resize((capacity4 *= 2) > offset ? capacity4 : offset); + offset -= 4; + this.view.setUint32(value, offset, undefined); + if (relative) this.offset += 4; + return this; + }; + + /** + * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + + /** + * Reads a 32bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = 0; + this.view.getUint32(offset, undefined); + value |= 0; // Cast to signed + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + + /** + * Writes a 32bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUint32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity5 = this.buffer.byteLength; + if (offset > capacity5) + this.resize((capacity5 *= 2) > offset ? capacity5 : offset); + offset -= 4; + this.view.setUint32(value, offset, undefined); + if (relative) this.offset += 4; + return this; + }; + + /** + * Reads a 32bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = 0; + this.view.getUint32(offset, undefined); + if (relative) this.offset += 4; + return value; + }; + + // types/ints/int64 + + if (Long) { + + /** + * Writes a 64bit signed integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + offset += 8; + var capacity6 = this.buffer.byteLength; + if (offset > capacity6) + this.resize((capacity6 *= 2) > offset ? capacity6 : offset); + offset -= 8; + var lo = value.low, + hi = value.high; + if (this.littleEndian) { + this.view.setUint32(lo, offset, true); + offset += 4; + this.view.setUint32(hi, offset, true); + } else { + this.view.setUint32(hi, offset, false); + offset += 4; + this.view.setUint32(lo, offset, false); + } + if (relative) this.offset += 8; + return this; + }; + + /** + * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; + + /** + * Reads a 64bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readInt64 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + } + var lo = 0, + hi = 0; + if (this.littleEndian) { + this.view.getUint32(offset, true); + offset += 4; + this.view.getUint32(offset, true); + } else { + this.view.getUint32(offset, false); + offset += 4; + this.view.getUint32(offset, false); + } + var value = new Long(lo, hi, false); + if (relative) this.offset += 8; + return value; + }; + + /** + * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; + + /** + * Writes a 64bit unsigned integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + offset += 8; + var capacity7 = this.buffer.byteLength; + if (offset > capacity7) + this.resize((capacity7 *= 2) > offset ? capacity7 : offset); + offset -= 8; + var lo = value.low, + hi = value.high; + if (this.littleEndian) { + this.view.setUint32(lo, offset, true); + offset += 4; + this.view.setUint32(hi, offset, true); + } else { + this.view.setUint32(hi, offset, false); + offset += 4; + this.view.setUint32(lo, offset, false); + } + if (relative) this.offset += 8; + return this; + }; + + /** + * Reads a 64bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUint64 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + } + var lo = 0, + hi = 0; + if (this.littleEndian) { + this.view.getUint32(offset, true); + offset += 4; + this.view.getUint32(offset, true); + } else { + this.view.getUint32(offset, false); + offset += 4; + this.view.getUint32(offset, false); + } + var value = new Long(lo, hi, true); + if (relative) this.offset += 8; + return value; + }; + + } // Long + + + // types/floats/float32 + + /** + * Writes a 32bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity8 = this.buffer.byteLength; + if (offset > capacity8) + this.resize((capacity8 *= 2) > offset ? capacity8 : offset); + offset -= 4; + this.view.setFloat32(offset, value, this.littleEndian); + if (relative) this.offset += 4; + return this; + }; + + /** + * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; + + /** + * Reads a 32bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = this.view.getFloat32(offset, this.littleEndian); + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + + // types/floats/float64 + + /** + * Writes a 64bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 8; + var capacity9 = this.buffer.byteLength; + if (offset > capacity9) + this.resize((capacity9 *= 2) > offset ? capacity9 : offset); + offset -= 8; + this.view.setFloat64(offset, value, this.littleEndian); + if (relative) this.offset += 8; + return this; + }; + + /** + * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + + /** + * Reads a 64bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat64 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + } + var value = this.view.getFloat64(offset, this.littleEndian); + if (relative) this.offset += 8; + return value; + }; + + /** + * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + + + // types/varints/varint32 + + /** + * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT32_BYTES = 5; + + /** + * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. + * @param {number} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * @expose + */ + ByteBuffer.calculateVarint32 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + value = value >>> 0; + if (value < 1 << 7 ) return 1; + else if (value < 1 << 14) return 2; + else if (value < 1 << 21) return 3; + else if (value < 1 << 28) return 4; + else return 5; + }; + + /** + * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. + * @param {number} n Signed 32bit integer + * @returns {number} Unsigned zigzag encoded 32bit integer + * @expose + */ + ByteBuffer.zigZagEncode32 = function(n) { + return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Decodes a zigzag encoded signed 32bit integer. + * @param {number} n Unsigned zigzag encoded 32bit integer + * @returns {number} Signed 32bit integer + * @expose + */ + ByteBuffer.zigZagDecode32 = function(n) { + return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Writes a 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var size = ByteBuffer.calculateVarint32(value), + b; + offset += size; + var capacity10 = this.buffer.byteLength; + if (offset > capacity10) + this.resize((capacity10 *= 2) > offset ? capacity10 : offset); + offset -= size; + // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc + this.view[offset] = b = value | 0x80; + value >>>= 0; + if (value >= 1 << 7) { + b = (value >> 7) | 0x80; + this.view[offset+1] = b; + if (value >= 1 << 14) { + b = (value >> 14) | 0x80; + this.view[offset+2] = b; + if (value >= 1 << 21) { + b = (value >> 21) | 0x80; + this.view[offset+3] = b; + if (value >= 1 << 28) { + this.view[offset+4] = (value >> 28) & 0x0F; + size = 5; + } else { + this.view[offset+3] = b & 0x7F; + size = 4; + } + } else { + this.view[offset+2] = b & 0x7F; + size = 3; + } + } else { + this.view[offset+1] = b & 0x7F; + size = 2; + } + } else { + this.view[offset] = b & 0x7F; + size = 1; + } + if (relative) { + this.offset += size; + return this; + } + return size; + }; + + /** + * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { + return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + }; + + /** + * Reads a 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. + * @expose + */ + ByteBufferPrototype.readVarint32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + // ref: src/google/protobuf/io/coded_stream.cc + var size = 0, + value = 0 >>> 0, + temp, + ioffset; + do { + ioffset = offset+size; + if (!this.noAssert && ioffset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + temp = this.view[ioffset]; + if (size < 5) + value |= ((temp&0x7F)<<(7*size)) >>> 0; + ++size; + } while ((temp & 0x80) === 0x80); + value = value | 0; // Make sure to discard the higher order bits + if (relative) { + this.offset += size; + return value; + } + return { + "value": value, + "length": size + }; + }; + + /** + * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint32ZigZag = function(offset) { + var val = this.readVarint32(offset); + if (typeof val === 'object') + val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + else + val = ByteBuffer.zigZagDecode32(val); + return val; + }; + + // types/varints/varint64 + + if (Long) { + + /** + * Maximum number of bytes required to store a 64bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT64_BYTES = 10; + + /** + * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. + * @param {number|!Long} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} + * @expose + */ + ByteBuffer.calculateVarint64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + // ref: src/google/protobuf/io/coded_stream.cc + var part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + if (part2 == 0) { + if (part1 == 0) { + if (part0 < 1 << 14) + return part0 < 1 << 7 ? 1 : 2; + else + return part0 < 1 << 21 ? 3 : 4; + } else { + if (part1 < 1 << 14) + return part1 < 1 << 7 ? 5 : 6; + else + return part1 < 1 << 21 ? 7 : 8; + } + } else + return part2 < 1 << 7 ? 9 : 10; + }; + + /** + * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. + * @param {number|!Long} value Signed long + * @returns {!Long} Unsigned zigzag encoded long + * @expose + */ + ByteBuffer.zigZagEncode64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); + }; + + /** + * Decodes a zigzag encoded signed 64bit integer. + * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number + * @returns {!Long} Signed long + * @expose + */ + ByteBuffer.zigZagDecode64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); + }; + + /** + * Writes a 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + var size = ByteBuffer.calculateVarint64(value), + part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + offset += size; + var capacity11 = this.buffer.byteLength; + if (offset > capacity11) + this.resize((capacity11 *= 2) > offset ? capacity11 : offset); + offset -= size; + switch (size) { + case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; + case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; + case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; + case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; + case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; + case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; + case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; + case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; + case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; + case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; + } + if (relative) { + this.offset += size; + return this; + } else { + return size; + } + }; + + /** + * Writes a zig-zag encoded 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { + return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); + }; + + /** + * Reads a 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + // ref: src/google/protobuf/io/coded_stream.cc + var start = offset, + part0 = 0, + part1 = 0, + part2 = 0, + b = 0; + b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + throw Error("Buffer overrun"); }}}}}}}}}} + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); + if (relative) { + this.offset = offset; + return value; + } else { + return { + 'value': value, + 'length': offset-start + }; + } + }; + + /** + * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64ZigZag = function(offset) { + var val = this.readVarint64(offset); + if (val && val['value'] instanceof Long) + val["value"] = ByteBuffer.zigZagDecode64(val["value"]); + else + val = ByteBuffer.zigZagDecode64(val); + return val; + }; + + } // Long + + + // types/strings/cstring + + /** + * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + * characters itself. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * contained in `str` + 1 if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeCString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + var i, + k = str.length; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + for (i=0; i>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + offset += k+1; + var capacity12 = this.buffer.byteLength; + if (offset > capacity12) + this.resize((capacity12 *= 2) > offset ? capacity12 : offset); + offset -= k+1; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + this.view[offset++] = 0; + if (relative) { + this.offset = offset; + return this; + } + return k; + }; + + /** + * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + * itself. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readCString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var start = offset, + temp; + // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + b = this.view[offset++]; + return b === 0 ? null : b; + }.bind(this), sd = stringDestination(), true); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + }; + + // types/strings/istring + + /** + * Writes a length as uint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeIString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var start = offset, + k; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + offset += 4+k; + var capacity13 = this.buffer.byteLength; + if (offset > capacity13) + this.resize((capacity13 *= 2) > offset ? capacity13 : offset); + offset -= 4+k; + this.view.setUint32(k, offset, undefined); + offset += 4; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (offset !== start + 4 + k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as uint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readIString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var temp = 0, + start = offset, + str; + this.view.getUint32(offset, undefined); + offset += 4; + var k = offset + temp, + sd; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd = stringDestination(), this.noAssert); + str = sd(); + if (relative) { + this.offset = offset; + return str; + } else { + return { + 'string': str, + 'length': offset - start + }; + } + }; + + // types/strings/utf8string + + /** + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_CHARS = 'c'; + + /** + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_BYTES = 'b'; + + /** + * Writes an UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeUTF8String = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var k; + var start = offset; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + offset += k; + var capacity14 = this.buffer.byteLength; + if (offset > capacity14) + this.resize((capacity14 *= 2) > offset ? capacity14 : offset); + offset -= k; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. + * @function + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; + + /** + * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 characters + * @expose + */ + ByteBuffer.calculateUTF8Chars = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateUTF8Bytes = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; + }; + + /** + * Reads an UTF8 encoded string. + * @param {number} length Number of characters or bytes to read. + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { + if (typeof metrics === 'number') { + offset = metrics; + metrics = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; + if (!this.noAssert) { + if (typeof length !== 'number' || length % 1 !== 0) + throw TypeError("Illegal length: "+length+" (not an integer)"); + length |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var i = 0, + start = offset, + sd; + if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser + sd = stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.view[offset++] : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }.bind(this)); + if (i !== length) + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + } else if (metrics === ByteBuffer.METRICS_BYTES) { + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); + } + var k = offset + length; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd = stringDestination(), this.noAssert); + if (offset !== k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + 'string': sd(), + 'length': offset - start + }; + } + } else + throw TypeError("Unsupported metrics: "+metrics); + }; + + /** + * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. + * @function + * @param {number} length Number of characters or bytes to read + * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; + + // types/strings/vstring + + /** + * Writes a length as varint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeVString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var start = offset, + k, l; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); + offset += l+k; + var capacity15 = this.buffer.byteLength; + if (offset > capacity15) + this.resize((capacity15 *= 2) > offset ? capacity15 : offset); + offset -= l+k; + offset += this.writeVarint32(k, offset); + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (offset !== start+k+l) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as varint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readVString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var temp = this.readVarint32(offset), + start = offset, + str; + offset += temp['length']; + temp = temp['value']; + var k = offset + temp, + sd = stringDestination(); + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd, this.noAssert); + str = sd(); + if (relative) { + this.offset = offset; + return str; + } else { + return { + 'string': str, + 'length': offset - start + }; + } + }; + + + /** + * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + * data's length. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` + * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` + */ + ByteBufferPrototype.append = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var length = source.limit - source.offset; + if (length <= 0) return this; // Nothing to append + offset += length; + var capacity16 = this.buffer.byteLength; + if (offset > capacity16) + this.resize((capacity16 *= 2) > offset ? capacity16 : offset); + offset -= length; + this.view.set(source.view.subarray(source.offset, source.limit), offset); + source.offset += length; + if (relative) this.offset += length; + return this; + }; + + /** + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#append + */ + ByteBufferPrototype.appendTo = function(target, offset) { + target.append(this, offset); + return this; + }; + + /** + * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + * disable them if your code already makes sure that everything is valid. + * @param {boolean} assert `true` to enable assertions, otherwise `false` + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.assert = function(assert) { + this.noAssert = !assert; + return this; + }; + + /** + * Gets the capacity of this ByteBuffer's backing buffer. + * @returns {number} Capacity of the backing buffer + * @expose + */ + ByteBufferPrototype.capacity = function() { + return this.buffer.byteLength; + }; + + /** + * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the + * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.clear = function() { + this.offset = 0; + this.limit = this.buffer.byteLength; + this.markedOffset = -1; + return this; + }; + + /** + * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, + * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. + * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` + * @returns {!ByteBuffer} Cloned instance + * @expose + */ + ByteBufferPrototype.clone = function(copy) { + var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); + if (copy) { + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + bb.view = new Uint8Array(bb.buffer); + } else { + bb.buffer = this.buffer; + bb.view = this.view; + } + bb.offset = this.offset; + bb.markedOffset = this.markedOffset; + bb.limit = this.limit; + return bb; + }; + + /** + * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes + * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and + * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.compact = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === 0 && end === this.buffer.byteLength) + return this; // Already compacted + var len = end - begin; + if (len === 0) { + this.buffer = EMPTY_BUFFER; + this.view = null; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = 0; + return this; + } + var buffer = new ArrayBuffer(len); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(begin, end)); + this.buffer = buffer; + this.view = view; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = len; + return this; + }; + + /** + * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Copy + * @expose + */ + ByteBufferPrototype.copy = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return new ByteBuffer(0, this.littleEndian, this.noAssert); + var capacity = end - begin, + bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); + bb.offset = 0; + bb.limit = capacity; + if (bb.markedOffset >= 0) bb.markedOffset -= begin; + this.copyTo(bb, 0, begin, end); + return bb; + }; + + /** + * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} + * by the number of bytes copied if omitted. + * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the + * number of bytes copied if omitted. + * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + var relative, + targetRelative; + if (!this.noAssert) { + if (!ByteBuffer.isByteBuffer(target)) + throw TypeError("Illegal target: Not a ByteBuffer"); + } + targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; + sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; + sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; + + if (targetOffset < 0 || targetOffset > target.buffer.byteLength) + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); + if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); + + var len = sourceLimit - sourceOffset; + if (len === 0) + return target; // Nothing to copy + + target.ensureCapacity(targetOffset + len); + + target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); + + if (relative) this.offset += len; + if (targetRelative) target.offset += len; + + return this; + }; + + /** + * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the + * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + * the required capacity will be used instead. + * @param {number} capacity Required capacity + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.ensureCapacity = function(capacity) { + var current = this.buffer.byteLength; + if (current < capacity) + return this.resize((current *= 2) > capacity ? current : capacity); + return this; + }; + + /** + * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. + * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} this + * @expose + * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes + */ + ByteBufferPrototype.fill = function(value, begin, end) { + var relative = typeof begin === 'undefined'; + if (relative) begin = this.offset; + if (typeof value === 'string' && value.length > 0) + value = value.charCodeAt(0); + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin >= end) + return this; // Nothing to fill + while (begin < end) this.view[begin++] = value; + if (relative) this.offset = begin; + return this; + }; + + /** + * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and + * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.flip = function() { + this.limit = this.offset; + this.offset = 0; + return this; + }; + /** + * Marks an offset on this ByteBuffer to be used later. + * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. + * @returns {!ByteBuffer} this + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @see ByteBuffer#reset + * @expose + */ + ByteBufferPrototype.mark = function(offset) { + offset = typeof offset === 'undefined' ? this.offset : offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + this.markedOffset = offset; + return this; + }; + /** + * Sets the byte order. + * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.order = function(littleEndian) { + if (!this.noAssert) { + if (typeof littleEndian !== 'boolean') + throw TypeError("Illegal littleEndian: Not a boolean"); + } + this.littleEndian = !!littleEndian; + return this; + }; + + /** + * Switches (to) little endian byte order. + * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.LE = function(littleEndian) { + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; + return this; + }; + + /** + * Switches (to) big endian byte order. + * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.BE = function(bigEndian) { + this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; + return this; + }; + /** + * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be + * modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` + * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` + */ + ByteBufferPrototype.prepend = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var len = source.limit - source.offset; + if (len <= 0) return this; // Nothing to prepend + var diff = len - offset; + if (diff > 0) { // Not enough space before offset, so resize + move + var buffer = new ArrayBuffer(this.buffer.byteLength + diff); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(offset, this.buffer.byteLength), len); + this.buffer = buffer; + this.view = view; + this.offset += diff; + if (this.markedOffset >= 0) this.markedOffset += diff; + this.limit += diff; + offset += diff; + } else { + var arrayView = new Uint8Array(this.buffer); + } + this.view.set(source.view.subarray(source.offset, source.limit), offset - len); + + source.offset = source.limit; + if (relative) + this.offset -= len; + return this; + }; + + /** + * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#prepend + */ + ByteBufferPrototype.prependTo = function(target, offset) { + target.prepend(this, offset); + return this; + }; + /** + * Prints debug information about this ByteBuffer's contents. + * @param {function(string)=} out Output function to call, defaults to console.log + * @expose + */ + ByteBufferPrototype.printDebug = function(out) { + if (typeof out !== 'function') out = console.log.bind(console); + out( + this.toString()+"\n"+ + "-------------------------------------------------------------------\n"+ + this.toDebug(/* columns */ true) + ); + }; + + /** + * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}, so this returns `limit - offset`. + * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. + * @expose + */ + ByteBufferPrototype.remaining = function() { + return this.limit - this.offset; + }; + /** + * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} + * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been + * marked, sets `offset = 0`. + * @returns {!ByteBuffer} this + * @see ByteBuffer#mark + * @expose + */ + ByteBufferPrototype.reset = function() { + if (this.markedOffset >= 0) { + this.offset = this.markedOffset; + this.markedOffset = -1; + } else { + this.offset = 0; + } + return this; + }; + /** + * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + * large or larger. + * @param {number} capacity Capacity required + * @returns {!ByteBuffer} this + * @throws {TypeError} If `capacity` is not a number + * @throws {RangeError} If `capacity < 0` + * @expose + */ + ByteBufferPrototype.resize = function(capacity) { + if (!this.noAssert) { + if (typeof capacity !== 'number' || capacity % 1 !== 0) + throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); + capacity |= 0; + if (capacity < 0) + throw RangeError("Illegal capacity: 0 <= "+capacity); + } + if (this.buffer.byteLength < capacity) { + var buffer = new ArrayBuffer(capacity); + var view = new Uint8Array(buffer); + view.set(this.view); + this.buffer = buffer; + this.view = view; + } + return this; + }; + /** + * Reverses this ByteBuffer's contents. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.reverse = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return this; // Nothing to reverse + Array.prototype.reverse.call(this.view).subarray(begin, end); + return this; + }; + /** + * Skips the next `length` bytes. This will just advance + * @param {number} length Number of bytes to skip. May also be negative to move the offset back. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.skip = function(length) { + if (!this.noAssert) { + if (typeof length !== 'number' || length % 1 !== 0) + throw TypeError("Illegal length: "+length+" (not an integer)"); + length |= 0; + } + var offset = this.offset + length; + if (!this.noAssert) { + if (offset < 0 || offset > this.buffer.byteLength) + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); + } + this.offset = offset; + return this; + }; + + /** + * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} + * @expose + */ + ByteBufferPrototype.slice = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var bb = this.clone(); + bb.offset = begin; + bb.limit = end; + return bb; + }; + /** + * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this + * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if + * possible. Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toBuffer = function(forceCopy) { + var offset = this.offset, + limit = this.limit; + if (offset > limit) { + var t = offset; + offset = limit; + limit = t; + } + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: Not an integer"); + offset >>>= 0; + if (typeof limit !== 'number' || limit % 1 !== 0) + throw TypeError("Illegal limit: Not an integer"); + limit >>>= 0; + if (offset < 0 || offset > limit || limit > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); + } + // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is + // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) { + return this.buffer; + } + if (offset === limit) { + return EMPTY_BUFFER; + } + var buffer = new ArrayBuffer(limit - offset); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); + return buffer; + }; + + /** + * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this + * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of + * {@link ByteBuffer#toBuffer}. + * @function + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. + * Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + + /** + * Converts the ByteBuffer's contents to a string. + * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows + * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with + * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {string} String representation + * @throws {Error} If `encoding` is invalid + * @expose + */ + ByteBufferPrototype.toString = function(encoding, begin, end) { + if (typeof encoding === 'undefined') + return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; + switch (encoding) { + case "utf8": + return this.toUTF8(begin, end); + case "base64": + return this.toBase64(begin, end); + case "hex": + return this.toHex(begin, end); + case "binary": + return this.toBinary(begin, end); + case "debug": + return this.toDebug(); + case "columns": + return this.toColumns(); + default: + throw Error("Unsupported encoding: "+encoding); + } + }; + + // lxiv-embeddable + + /** + * lxiv-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/lxiv for details + */ + var lxiv = function() { + "use strict"; + + /** + * lxiv namespace. + * @type {!Object.} + * @exports lxiv + */ + var lxiv = {}; + + /** + * Character codes for output. + * @type {!Array.} + * @inner + */ + var aout = [ + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 + ]; + + /** + * Character codes for input. + * @type {!Array.} + * @inner + */ + var ain = []; + for (var i=0, k=aout.length; i>2)&0x3f]); + t = (b&0x3)<<4; + if ((b = src()) !== null) { + t |= (b>>4)&0xf; + dst(aout[(t|((b>>4)&0xf))&0x3f]); + t = (b&0xf)<<2; + if ((b = src()) !== null) + dst(aout[(t|((b>>6)&0x3))&0x3f]), + dst(aout[b&0x3f]); + else + dst(aout[t&0x3f]), + dst(61); + } else + dst(aout[t&0x3f]), + dst(61), + dst(61); + } + }; + + /** + * Decodes base64 char codes to bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + * @throws {Error} If a character code is invalid + */ + lxiv.decode = function(src, dst) { + var c, t1, t2; + function fail(c) { + throw Error("Illegal character code: "+c); + } + while ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') fail(c); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') fail(c); + dst((t1<<2)>>>0|(t2&0x30)>>4); + if ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t1&0x3)<<6)>>>0|t2); + } + } + } + } + }; + + /** + * Tests if a string is valid base64. + * @param {string} str String to test + * @returns {boolean} `true` if valid, otherwise `false` + */ + lxiv.test = function(str) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); + }; + + return lxiv; + }(); + + // encodings/base64 + + /** + * Encodes this ByteBuffer's contents to a base64 encoded string. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. + * @returns {string} Base64 encoded string + * @expose + */ + ByteBufferPrototype.toBase64 = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var sd; lxiv.encode(function() { + return begin < end ? this.view[begin++] : null; + }.bind(this), sd = stringDestination()); + return sd(); + }; + + /** + * Decodes a base64 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 4 !== 0) + throw TypeError("Illegal str: Length not a multiple of 4"); + } + var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view[i++] = b; + }); + bb.limit = i; + return bb; + }; + + /** + * Encodes a binary string to base64 like `window.btoa` does. + * @param {string} str Binary string + * @returns {string} Base64 encoded string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa + * @expose + */ + ByteBuffer.btoa = function(str) { + return ByteBuffer.fromBinary(str).toBase64(); + }; + + /** + * Decodes a base64 encoded string to binary like `window.atob` does. + * @param {string} b64 Base64 encoded string + * @returns {string} Binary string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob + * @expose + */ + ByteBuffer.atob = function(b64) { + return ByteBuffer.fromBase64(b64).toBinary(); + }; + + // encodings/binary + + /** + * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Binary encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toBinary = function(begin, end) { + begin = typeof begin === 'undefined' ? this.offset : begin; + end = typeof end === 'undefined' ? this.limit : end; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return ""; + var cc = [], pt = []; + while (begin < end) { + cc.push(this.view[begin++]); + if (cc.length >= 1024) + pt.push(String.fromCharCode.apply(String, cc)), + cc = []; + } + return pt.join('') + String.fromCharCode.apply(String, cc); + }; + + /** + * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + } + var i = 0, k = str.length, charCode, + bb = new ByteBuffer(k, littleEndian, noAssert); + while (i 255) + throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + bb.view[i++] = charCode; + } + bb.limit = k; + return bb; + }; + + // encodings/debug + + /** + * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + * * `<` : offset, + * * `'` : markedOffset, + * * `>` : limit, + * * `|` : offset and limit, + * * `[` : offset and markedOffset, + * * `]` : markedOffset and limit, + * * `!` : offset, markedOffset and limit + * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` + * @returns {string|!Array.} Debug string or array of lines if `asArray = true` + * @expose + * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` + * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` + * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` + * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` + */ + ByteBufferPrototype.toDebug = function(columns) { + var i = -1, + k = this.buffer.byteLength, + b, + hex = "", + asc = "", + out = ""; + while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; + } + } + ++i; + if (columns) { + if (i > 0 && i % 16 === 0 && i !== k) { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + hex = asc = ""; + } + } + if (i === this.offset && i === this.limit) + hex += i === this.markedOffset ? "!" : "|"; + else if (i === this.offset) + hex += i === this.markedOffset ? "[" : "<"; + else if (i === this.limit) + hex += i === this.markedOffset ? "]" : ">"; + else + hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); + } + if (columns && hex !== " ") { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + } + return columns ? out : hex; + }; + + /** + * Decodes a hex encoded string with marked offsets to a ByteBuffer. + * @param {string} str Debug string to decode (not be generated with `columns = true`) + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + * @see ByteBuffer#toDebug + */ + ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { + var k = str.length, + bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); + var i = 0, j = 0, ch, b, + rs = false, // Require symbol next + ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? + fail = false; + while (i': + if (!noAssert) { + if (hl) { + fail = true; break; + } + hl = true; + } + bb.limit = j; + rs = false; + break; + case "'": + if (!noAssert) { + if (hm) { + fail = true; break; + } + hm = true; + } + bb.markedOffset = j; + rs = false; + break; + case ' ': + rs = false; + break; + default: + if (!noAssert) { + if (rs) { + fail = true; break; + } + } + b = parseInt(ch+str.charAt(i++), 16); + if (!noAssert) { + if (isNaN(b) || b < 0 || b > 255) + throw TypeError("Illegal str: Not a debug encoded string"); + } + bb.view[j++] = b; + rs = true; + } + if (fail) + throw TypeError("Illegal str: Invalid symbol at "+i); + } + if (!noAssert) { + if (!ho || !hl) + throw TypeError("Illegal str: Missing offset or limit"); + if (j>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var out = new Array(end - begin), + b; + while (begin < end) { + b = this.view[begin++]; + if (b < 0x10) + out.push("0", b.toString(16)); + else out.push(b.toString(16)); + } + return out.join(''); + }; + + /** + * Decodes a hex encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromHex = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 2 !== 0) + throw TypeError("Illegal str: Length not a multiple of 2"); + } + var k = str.length, + bb = new ByteBuffer((k / 2) | 0, littleEndian), + b; + for (var i=0, j=0; i 255) + throw TypeError("Illegal str: Contains non-hex characters"); + bb.view[j++] = b; + } + bb.limit = j; + return bb; + }; + + // utfx-embeddable + + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; + + /** + * utfx namespace. + * @inner + * @type {!Object.} + */ + var utfx = {}; + + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; + }; + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; + } + } + } + dst(c1); + } + if (c2 !== null) dst(c2); + }; + + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; + + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; + + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; + + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; + + /** + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required + */ + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += utfx.calculateCodePoint(cp); + return l; + }; + + /** + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. + */ + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += utfx.calculateCodePoint(cp); + }); + return [n,l]; + }; + + return utfx; + }(); + + // encodings/utf8 + + /** + * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded + * string. + * @returns {string} Hex encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toUTF8 = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? this.view[begin++] : null; + }.bind(this), sd = stringDestination()); + } catch (e) { + if (begin !== end) + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); + } + return sd(); + }; + + /** + * Decodes an UTF8 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { + if (!noAssert) + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + bb.view[i++] = b; + }); + bb.limit = i; + return bb; + }; + + + return ByteBuffer; + } + + /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return loadByteBuffer(Long); + })(); + /* AMD */ else if (typeof define === 'function' && define["amd"]) + define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); + +})(this); diff --git a/scripts/build.js b/scripts/build.js index ab83e6c..0fbd398 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -98,6 +98,15 @@ fs.writeFileSync( MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferAB.js")), filename, scope) ); +// Build alternative browser ByteBuffer using Typed Arrays +scope.NODE = false; +scope.DATAVIEW = false; +console.log("Building ByteBufferTA with scope", JSON.stringify(scope, null, 2)); +fs.writeFileSync( + path.join(distDir, "experimental", "ByteBufferTA.js"), + MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferTA.js")), filename, scope) +); + // Update bower.json scope = { VERSION: pkg.version }; console.log("Updating bower.json with scope", JSON.stringify(scope, null, 2)); diff --git a/src/methods/append.js b/src/methods/append.js index de74cd8..0e68b22 100644 --- a/src/methods/append.js +++ b/src/methods/append.js @@ -30,11 +30,12 @@ ByteBufferPrototype.append = function(source, encoding, offset) { var length = source.limit - source.offset; if (length <= 0) return this; // Nothing to append //? ENSURE_CAPACITY('length'); - //? if (NODE) { + //? if (NODE) source.buffer.copy(this.buffer, offset, source.offset, source.limit); - //? } else { + //? else if (DATAVIEW) new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); - //? } + //? else + this.view.set(source.view.subarray(source.offset, source.limit), offset); source.offset += length; //? RELATIVE('length'); return this; diff --git a/src/methods/clone.js b/src/methods/clone.js index b9aa8a6..7229b36 100644 --- a/src/methods/clone.js +++ b/src/methods/clone.js @@ -15,10 +15,13 @@ ByteBufferPrototype.clone = function(copy) { //? if (BUFFERVIEW) bb.view = new BufferView(this.buffer); //? } else { - var buffer = new ArrayBuffer(this.buffer.byteLength); - new Uint8Array(buffer).set(this.buffer); - bb.buffer = buffer; - bb.view = new DataView(buffer); + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + //? if (DATAVIEW) { + new Uint8Array(bb.buffer).set(this.buffer); + bb.view = new DataView(bb.buffer); + //? } else { + bb.view = new Uint8Array(bb.buffer); + //? } //? } } else { bb.buffer = this.buffer; diff --git a/src/methods/compact.js b/src/methods/compact.js index 3f9efd5..dd4651f 100644 --- a/src/methods/compact.js +++ b/src/methods/compact.js @@ -31,11 +31,17 @@ ByteBufferPrototype.compact = function(begin, end) { this.buffer = buffer; //? if (BUFFERVIEW) this.view = new BufferView(buffer); - //? } else { + //? } else if (DATAVIEW) { var buffer = new ArrayBuffer(len); new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); this.buffer = buffer; this.view = new DataView(buffer); + //? } else { + var buffer = new ArrayBuffer(len); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(begin, end)); + this.buffer = buffer; + this.view = view; //? } if (this.markedOffset >= 0) this.markedOffset -= begin; this.offset = 0; diff --git a/src/methods/copy.js b/src/methods/copy.js index f652dc3..38eea6e 100644 --- a/src/methods/copy.js +++ b/src/methods/copy.js @@ -60,8 +60,10 @@ ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, source //? if (NODE) this.buffer.copy(target.buffer, targetOffset, sourceOffset, sourceLimit); - //? else + //? else if (DATAVIEW) new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); + //? else + target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); if (relative) this.offset += len; if (targetRelative) target.offset += len; diff --git a/src/methods/fill.js b/src/methods/fill.js index 34ddb27..a83d882 100644 --- a/src/methods/fill.js +++ b/src/methods/fill.js @@ -24,8 +24,10 @@ ByteBufferPrototype.fill = function(value, begin, end) { //? if (NODE) { this.buffer.fill(value, begin, end); begin = end; - //? } else { + //? } else if (DATAVIEW) { while (begin < end) this.view.setUint8(begin++, value); + //? } else { + while (begin < end) this.view[begin++] = value; //? } if (relative) this.offset = begin; return this; diff --git a/src/methods/prepend.js b/src/methods/prepend.js index a39d6dc..c090090 100644 --- a/src/methods/prepend.js +++ b/src/methods/prepend.js @@ -31,8 +31,6 @@ ByteBufferPrototype.prepend = function(source, encoding, offset) { var len = source.limit - source.offset; if (len <= 0) return this; // Nothing to prepend var diff = len - offset; - //? if (!NODE) - var arrayView; if (diff > 0) { // Not enough space before offset, so resize + move //? if (NODE) { var buffer = new Buffer(this.buffer.length + diff); @@ -40,25 +38,34 @@ ByteBufferPrototype.prepend = function(source, encoding, offset) { this.buffer = buffer; //? if (BUFFERVIEW) this.view = new BufferView(buffer); - //? } else { + //? } else if (DATAVIEW) { var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - arrayView = new Uint8Array(buffer); + var arrayView = new Uint8Array(buffer); arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); this.buffer = buffer; this.view = new DataView(buffer); + //? } else { + var buffer = new ArrayBuffer(this.buffer.byteLength + diff); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(offset, this.buffer.byteLength), len); + this.buffer = buffer; + this.view = view; //? } this.offset += diff; if (this.markedOffset >= 0) this.markedOffset += diff; this.limit += diff; offset += diff; }/*? if (!NODE) { */ else { - arrayView = new Uint8Array(this.buffer); + var arrayView = new Uint8Array(this.buffer); } //? } //? if (NODE) source.buffer.copy(this.buffer, offset - len, source.offset, source.limit); - //? else + //? else if (DATAVIEW) arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); + //? else + this.view.set(source.view.subarray(source.offset, source.limit), offset - len); + source.offset = source.limit; if (relative) this.offset -= len; diff --git a/src/methods/resize.js b/src/methods/resize.js index fdb234b..5cb4a1d 100644 --- a/src/methods/resize.js +++ b/src/methods/resize.js @@ -23,10 +23,18 @@ ByteBufferPrototype.resize = function(capacity) { } //? } else { if (this.buffer.byteLength < capacity) { + //? if (DATAVIEW) { var buffer = new ArrayBuffer(capacity); new Uint8Array(buffer).set(new Uint8Array(this.buffer)); this.buffer = buffer; this.view = new DataView(buffer); + //? } else { + var buffer = new ArrayBuffer(capacity); + var view = new Uint8Array(buffer); + view.set(this.view); + this.buffer = buffer; + this.view = view; + //? } } //? } return this; diff --git a/src/methods/reverse.js b/src/methods/reverse.js index 6d52180..b19b3a9 100644 --- a/src/methods/reverse.js +++ b/src/methods/reverse.js @@ -15,9 +15,11 @@ ByteBufferPrototype.reverse = function(begin, end) { return this; // Nothing to reverse //? if (NODE) Array.prototype.reverse.call(this.buffer.slice(begin, end)); - //? else { + //? else if (DATAVIEW) { Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? + //? } else { + Array.prototype.reverse.call(this.view).subarray(begin, end); //? } return this; }; diff --git a/src/methods/static/concat.js b/src/methods/static/concat.js index 653c532..d8d4946 100644 --- a/src/methods/static/concat.js +++ b/src/methods/static/concat.js @@ -31,7 +31,7 @@ ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { return new ByteBuffer(0, littleEndian, noAssert); var bb = new ByteBuffer(capacity, littleEndian, noAssert), bi; - //? if (!NODE) + //? if (!NODE && DATAVIEW) var view = new Uint8Array(bb.buffer); i=0; while (i 0 ? new DataView(buffer.buffer) : null; + //? else + bb.view = buffer.length > 0 ? buffer : null; } } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer bb = new ByteBuffer(0, littleEndian, noAssert); @@ -104,13 +107,19 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { bb.buffer = buffer; bb.offset = 0; bb.limit = buffer.byteLength; + //? if (DATAVIEW) bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; + //? else + bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; } } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets bb = new ByteBuffer(buffer.length, littleEndian, noAssert); bb.limit = buffer.length; for (i=0; i>> 8; this.buffer[offset+1] = value & 0x00FF; } - //? } else + //? } else if (DATAVIEW) { this.view.setInt16(offset, value, this.littleEndian); + //? } else { + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } + //? } //? RELATIVE(2); return this; }; @@ -66,8 +75,19 @@ ByteBufferPrototype.readInt16 = function(offset) { value |= this.buffer[offset+1]; } if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed - //? } else + //? } else if (DATAVIEW) { var value = this.view.getInt16(offset, this.littleEndian); + //? } else { + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } + if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed + //? } //? RELATIVE(2); return value; }; @@ -108,8 +128,17 @@ ByteBufferPrototype.writeUint16 = function(value, offset) { this.buffer[offset] = (value & 0xFF00) >>> 8; this.buffer[offset+1] = value & 0x00FF; } - //? } else + //? } else if (DATAVIEW) { this.view.setUint16(offset, value, this.littleEndian); + //? } else { + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } + //? } //? RELATIVE(2); return this; }; diff --git a/src/types/ints/int32.js b/src/types/ints/int32.js index 92a4885..7a6fdae 100644 --- a/src/types/ints/int32.js +++ b/src/types/ints/int32.js @@ -14,7 +14,7 @@ ByteBufferPrototype.writeInt32 = function(value, offset) { //? ASSERT_OFFSET(); } //? ENSURE_CAPACITY(4); - //? if (NODE) { + //? if (NODE || !DATAVIEW) { //? WRITE_UINT32_ARRAY(); //? } else this.view.setInt32(offset, value, this.littleEndian); @@ -43,7 +43,7 @@ ByteBufferPrototype.readInt32 = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(4); } - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var value = 0; //? READ_UINT32_ARRAY(); value |= 0; // Cast to signed @@ -76,7 +76,7 @@ ByteBufferPrototype.writeUint32 = function(value, offset) { //? ASSERT_OFFSET(); } //? ENSURE_CAPACITY(4); - //? if (NODE) { + //? if (NODE || !DATAVIEW) { //? WRITE_UINT32_ARRAY(); //? } else this.view.setUint32(offset, value, this.littleEndian); @@ -95,7 +95,7 @@ ByteBufferPrototype.readUint32 = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(4); } - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var value = 0; //? READ_UINT32_ARRAY(); //? } else diff --git a/src/types/ints/int64.js b/src/types/ints/int64.js index 4d3760a..c9b6687 100644 --- a/src/types/ints/int64.js +++ b/src/types/ints/int64.js @@ -18,7 +18,7 @@ if (Long) { } //? LONG('value'); //? ENSURE_CAPACITY(8); - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var lo = value.low, hi = value.high; if (this.littleEndian) { @@ -65,7 +65,7 @@ if (Long) { if (!this.noAssert) { //? ASSERT_OFFSET(8); } - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var lo = 0, hi = 0; if (this.littleEndian) { @@ -112,7 +112,7 @@ if (Long) { } //? LONG('value'); //? ENSURE_CAPACITY(8); - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var lo = value.low, hi = value.high; if (this.littleEndian) { @@ -148,7 +148,7 @@ if (Long) { if (!this.noAssert) { //? ASSERT_OFFSET(8); } - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var lo = 0, hi = 0; if (this.littleEndian) { diff --git a/src/types/ints/int8.js b/src/types/ints/int8.js index 537b8fa..86bc536 100644 --- a/src/types/ints/int8.js +++ b/src/types/ints/int8.js @@ -17,8 +17,10 @@ ByteBufferPrototype.writeInt8 = function(value, offset) { //? ENSURE_CAPACITY(1); //? if (NODE) this.buffer[offset] = value; - //? else + //? else if (DATAVIEW) this.view.setInt8(offset, value); + //? else + this.view[offset] = value; //? RELATIVE(1); return this; }; @@ -47,8 +49,12 @@ ByteBufferPrototype.readInt8 = function(offset) { //? if (NODE) { var value = this.buffer[offset]; if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed - //? } else + //? } else if (DATAVIEW) { var value = this.view.getInt8(offset); + //? } else { + var value = this.view[offset]; + if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed + //? } //? RELATIVE(1); return value; }; @@ -80,8 +86,10 @@ ByteBufferPrototype.writeUint8 = function(value, offset) { //? ENSURE_CAPACITY(1); //? if (NODE) this.buffer[offset] = value; - //? else + //? else if (DATAVIEW) this.view.setUint8(offset, value); + //? else + this.view[offset] = value; //? RELATIVE(1); return this; }; @@ -99,8 +107,10 @@ ByteBufferPrototype.readUint8 = function(offset) { } //? if (NODE) var value = this.buffer[offset]; - //? else + //? else if (DATAVIEW) var value = this.view.getUint8(offset); + //? else + var value = this.view[offset]; //? RELATIVE(1); return value; }; diff --git a/src/types/strings/cstring.js b/src/types/strings/cstring.js index ed2a9fc..62b7f47 100644 --- a/src/types/strings/cstring.js +++ b/src/types/strings/cstring.js @@ -33,9 +33,15 @@ ByteBufferPrototype.writeCString = function(str, offset) { k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; //? ENSURE_CAPACITY('k+1'); utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + //? if (DATAVIEW) this.view.setUint8(offset++, b); + //? else + this.view[offset++] = b; }.bind(this)); + //? if (DATAVIEW) this.view.setUint8(offset++, 0); + //? else + this.view[offset++] = 0; //? } if (relative) { this.offset = offset; @@ -83,7 +89,11 @@ ByteBufferPrototype.readCString = function(offset) { if (b === 0) return null; if (offset >= this.limit) throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - return (b = this.view.getUint8(offset++)) === 0 ? null : b; + //? if (DATAVIEW) + b = this.view.getUint8(offset++); + //? else + b = this.view[offset++]; + return b === 0 ? null : b; }.bind(this), sd = stringDestination(), true); if (relative) { this.offset = offset; diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index ea9873d..d571c26 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -28,10 +28,16 @@ ByteBufferPrototype.writeIString = function(str, offset) { //? } else { k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; //? ENSURE_CAPACITY('4+k'); + //? if (DATAVIEW) this.view.setUint32(offset, k, this.littleEndian); + //? else + //? WRITE_UINT32_ARRAY('k'); offset += 4; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + //? if (DATAVIEW) this.view.setUint8(offset++, b); + //? else + this.view[offset++] = b; }.bind(this)); if (offset !== start + 4 + k) throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); @@ -68,12 +74,18 @@ ByteBufferPrototype.readIString = function(offset) { str = this.buffer.toString("utf8", offset, offset + temp); offset += temp; //? } else { + //? if (DATAVIEW) temp = this.view.getUint32(offset, this.littleEndian); + //? else + //? READ_UINT32_ARRAY('temp'); offset += 4; var k = offset + temp, sd; utfx.decodeUTF8toUTF16(function() { + //? if (DATAVIEW) return offset < k ? this.view.getUint8(offset++) : null; + //? else + return offset < k ? this.view[offset++] : null; }.bind(this), sd = stringDestination(), this.noAssert); str = sd(); //? } diff --git a/src/types/strings/utf8string.js b/src/types/strings/utf8string.js index ffea329..afd240e 100644 --- a/src/types/strings/utf8string.js +++ b/src/types/strings/utf8string.js @@ -44,7 +44,10 @@ ByteBufferPrototype.writeUTF8String = function(str, offset) { k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; //? ENSURE_CAPACITY('k'); utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + //? if (DATAVIEW) this.view.setUint8(offset++, b); + //? else + this.view[offset++] = b; }.bind(this)); if (relative) { this.offset = offset; @@ -126,8 +129,10 @@ ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { utfx.decodeUTF8(function() { //? if (NODE) return i < length && offset < this.limit ? this.buffer[offset++] : null; - //? else + //? else if (DATAVIEW) return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; + //? else + return i < length && offset < this.limit ? this.view[offset++] : null; }.bind(this), function(cp) { ++i; utfx.UTF8toUTF16(cp, sd); }.bind(this)); @@ -160,7 +165,10 @@ ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { //? } else { var k = offset + length; utfx.decodeUTF8toUTF16(function() { + //? if (DATAVIEW) return offset < k ? this.view.getUint8(offset++) : null; + //? else + return offset < k ? this.view[offset++] : null; }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index e37f319..aa2612b 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -31,7 +31,10 @@ ByteBufferPrototype.writeVString = function(str, offset) { //? ENSURE_CAPACITY('l+k'); offset += this.writeVarint32(k, offset); utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + //? if (DATAVIEW) this.view.setUint8(offset++, b); + //? else + this.view[offset++] = b; }.bind(this)); if (offset !== start+k+l) throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); @@ -71,7 +74,10 @@ ByteBufferPrototype.readVString = function(offset) { var k = offset + temp, sd = stringDestination(); utfx.decodeUTF8toUTF16(function() { + //? if (DATAVIEW) return offset < k ? this.view.getUint8(offset++) : null; + //? else + return offset < k ? this.view[offset++] : null; }.bind(this), sd, this.noAssert); str = sd(); //? } diff --git a/src/types/varints/varint32.js b/src/types/varints/varint32.js index b0e316f..5db81cd 100644 --- a/src/types/varints/varint32.js +++ b/src/types/varints/varint32.js @@ -63,60 +63,61 @@ ByteBufferPrototype.writeVarint32 = function(value, offset) { b; //? ENSURE_CAPACITY('size'); // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - //? if (NODE) - this.buffer[offset] = b = value | 0x80; - //? else + //? var dst = NODE ? 'this.buffer' : 'this.view'; + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset] = b = value | 0x80; + //? } else this.view.setUint8(offset, b = value | 0x80); value >>>= 0; if (value >= 1 << 7) { b = (value >> 7) | 0x80; - //? if (NODE) - this.buffer[offset+1] = b; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+1] = b; + //? } else this.view.setUint8(offset+1, b); if (value >= 1 << 14) { b = (value >> 14) | 0x80; - //? if (NODE) - this.buffer[offset+2] = b; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+2] = b; + //? } else this.view.setUint8(offset+2, b); if (value >= 1 << 21) { b = (value >> 21) | 0x80; - //? if (NODE) - this.buffer[offset+3] = b; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+3] = b; + //? } else this.view.setUint8(offset+3, b); if (value >= 1 << 28) { - //? if (NODE) - this.buffer[offset+4] = (value >> 28) & 0x0F; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+4] = (value >> 28) & 0x0F; + //? } else this.view.setUint8(offset+4, (value >> 28) & 0x0F); size = 5; } else { - //? if (NODE) - this.buffer[offset+3] = b & 0x7F; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+3] = b & 0x7F; + //? } else this.view.setUint8(offset+3, b & 0x7F); size = 4; } } else { - //? if (NODE) - this.buffer[offset+2] = b & 0x7F; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+2] = b & 0x7F; + //? } else this.view.setUint8(offset+2, b & 0x7F); size = 3; } } else { - //? if (NODE) - this.buffer[offset+1] = b & 0x7F; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset+1] = b & 0x7F; + //? } else this.view.setUint8(offset+1, b & 0x7F); size = 2; } } else { - //? if (NODE) - this.buffer[offset] = b & 0x7F; - //? else + //? if (NODE || !DATAVIEW) { + /*?= dst */[offset] = b & 0x7F; + //? } else this.view.setUint8(offset, b & 0x7F); size = 1; } @@ -168,8 +169,10 @@ ByteBufferPrototype.readVarint32 = function(offset) { } //? if (NODE) temp = this.buffer[ioffset]; - //? else + //? else if (DATAVIEW) temp = this.view.getUint8(ioffset); + //? else + temp = this.view[ioffset]; if (size < 5) value |= ((temp&0x7F)<<(7*size)) >>> 0; ++size; diff --git a/src/types/varints/varint64.js b/src/types/varints/varint64.js index 295e208..d9cddcc 100644 --- a/src/types/varints/varint64.js +++ b/src/types/varints/varint64.js @@ -84,17 +84,17 @@ if (Long) { part2 = value.shiftRightUnsigned(56).toInt() >>> 0; //? ENSURE_CAPACITY('size'); switch (size) { - //? if (NODE) { - case 10: this.buffer[offset+9] = (part2 >>> 7) & 0x01; - case 9 : this.buffer[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; - case 8 : this.buffer[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; - case 7 : this.buffer[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; - case 6 : this.buffer[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; - case 5 : this.buffer[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; - case 4 : this.buffer[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; - case 3 : this.buffer[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; - case 2 : this.buffer[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; - case 1 : this.buffer[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; + //? if (NODE || !DATAVIEW) { var dst = NODE ? 'this.buffer' : 'this.view'; + case 10: /*?= dst */[offset+9] = (part2 >>> 7) & 0x01; + case 9 : /*?= dst */[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; + case 8 : /*?= dst */[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; + case 7 : /*?= dst */[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; + case 6 : /*?= dst */[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; + case 5 : /*?= dst */[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; + case 4 : /*?= dst */[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; + case 3 : /*?= dst */[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; + case 2 : /*?= dst */[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; + case 1 : /*?= dst */[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; //? } else { case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); @@ -148,32 +148,18 @@ if (Long) { part1 = 0, part2 = 0, b = 0; - //? if (NODE) { - //? if (INLINE) { // Assert through checking for undefined (not optimal but coherent) - b = this.buffer[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { - b = this.buffer[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + //? if (NODE || !DATAVIEW) { var dst = NODE ? 'this.buffer' : 'this.view'; + b = /*?= dst */[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { + b = /*?= dst */[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = /*?= dst */[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { throw Error("Buffer overrun"); }}}}}}}}}} - //? } else { // Assert as usual - b = this.buffer.readUint8(offset++, true ); part0 = (b & 0x7F) ; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part0 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part0 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part0 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part1 = (b & 0x7F) ; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part1 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part1 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part1 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part2 = (b & 0x7F) ; if (b & 0x80) { - b = this.buffer.readUint8(offset++, this.noAssert); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw Error("Buffer overrun"); }}}}}}}}}} - //? } //? } else { // Asserts on its own b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { From 2500f6c1cdfee4c6eeddaf72015d179790d9f54d Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 00:07:31 +0200 Subject: [PATCH 37/91] Fixes for any failing tests with ByteBufferTA, except float-specific, see #16 --- dist/ByteBufferAB.js | 6 +- dist/ByteBufferAB.min.js | 76 ++++++------- dist/ByteBufferAB.min.js.gz | Bin 7615 -> 7614 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 2 +- dist/experimental/ByteBufferTA.js | 173 +++++++++++++++++++++++++----- src/macros.js | 4 +- src/methods/reverse.js | 2 +- src/methods/static/concat.js | 2 +- src/methods/static/type.js | 6 +- src/methods/static/wrap.js | 6 +- src/types/ints/int16.js | 75 ++++--------- tests/suite.js | 20 ++-- 13 files changed, 231 insertions(+), 143 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index cdf3f27..a85b124 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -285,7 +285,7 @@ }; /** * Gets the backing buffer type. - * @returns {Function} `Buffer` for NB builds, `ArrayBuffer` for AB builds (classes) + * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) * @expose */ ByteBuffer.type = function() { @@ -342,8 +342,8 @@ if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER bb.buffer = buffer.buffer; bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.length; - bb.view = buffer.length > 0 ? new DataView(buffer.buffer) : null; + bb.limit = buffer.byteOffset + buffer.byteLength; + bb.view = new DataView(buffer.buffer); } } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer bb = new ByteBuffer(0, littleEndian, noAssert); diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 4671f5a..09cfb3e 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -9,44 +9,44 @@ a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= -e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*= -2)>b?d:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c= -"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.readUint8= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); -}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+= -4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+= -4);return a};k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a= -k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b, -a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+ -4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+= -4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b- -8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES= -5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b|| -b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d& -127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); -}var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a)); -var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, -!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b|| -b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,h>>>7&1);case 9:this.view.setUint8(b+8,9!==d? -h|128:h&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7&127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag= -function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++), -d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f=h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a= -this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}f=l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view.getUint8(a++);return 0===f?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset= -b,this):b-f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)"); +e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& +(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.readUint8=function(a){var b="undefined"===typeof a; +b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian); +b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*= +2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(e.writeInt64=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== +typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& +a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+ +4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+ +4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*= +2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat= +e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian); +c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= +function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b, +d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a= +Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>> +0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()}, +e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"=== +typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,h>>>7&1);case 9:this.view.setUint8(b+8,9!==d?h|128:h&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128: +e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7&127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f= +h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a); +return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f= +l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); +}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view.getUint8(a++);return 0===f?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b- +f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)"); c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=t();l.g(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var r=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.c(m(a),function(a){this.view.setUint8(b++, diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index cb54f1691e9146a69b5a24bac48ad8e06b707540..bed7837d6c823f9a8acf2f4ae258b512b8b4a3fe 100644 GIT binary patch literal 7614 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 25dce96..9ac22ef 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":87, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 6cddcdf..208f75f 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -273,7 +273,7 @@ module.exports = (function() { }; /** * Gets the backing buffer type. - * @returns {Function} `Buffer` for NB builds, `ArrayBuffer` for AB builds (classes) + * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) * @expose */ ByteBuffer.type = function() { diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index b5dc3ff..c950031 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -265,7 +265,7 @@ bi = buffers[i++]; length = bi.limit - bi.offset; if (length <= 0) continue; - this.view.set(bi.view.subarray(bi.offset, bi.limit), bb.offset); + bb.view.set(bi.view.subarray(bi.offset, bi.limit), bb.offset); bb.offset += length; } bb.limit = bb.offset; @@ -284,11 +284,11 @@ }; /** * Gets the backing buffer type. - * @returns {Function} `Buffer` for NB builds, `ArrayBuffer` for AB builds (classes) + * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) * @expose */ ByteBuffer.type = function() { - return Uint8Array; + return ArrayBuffer; }; /** @@ -341,8 +341,8 @@ if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER bb.buffer = buffer.buffer; bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.length; - bb.view = buffer.length > 0 ? buffer : null; + bb.limit = buffer.byteOffset + buffer.byteLength; + bb.view = new Uint8Array(buffer.buffer); } } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer bb = new ByteBuffer(0, littleEndian, noAssert); @@ -633,7 +633,14 @@ if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } - var value = this.view.getUint16(offset, this.littleEndian); + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } if (relative) this.offset += 2; return value; }; @@ -664,7 +671,17 @@ if (offset > capacity4) this.resize((capacity4 *= 2) > offset ? capacity4 : offset); offset -= 4; - this.view.setUint32(value, offset, undefined); + if (this.littleEndian) { + this.view[offset+3] = (value >>> 24) & 0xFF; + this.view[offset+2] = (value >>> 16) & 0xFF; + this.view[offset+1] = (value >>> 8) & 0xFF; + this.view[offset ] = value & 0xFF; + } else { + this.view[offset ] = (value >>> 24) & 0xFF; + this.view[offset+1] = (value >>> 16) & 0xFF; + this.view[offset+2] = (value >>> 8) & 0xFF; + this.view[offset+3] = value & 0xFF; + } if (relative) this.offset += 4; return this; }; @@ -694,7 +711,17 @@ throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = 0; - this.view.getUint32(offset, undefined); + if (this.littleEndian) { + value = this.view[offset+2] << 16; + value |= this.view[offset+1] << 8; + value |= this.view[offset ]; + value += this.view[offset+3] << 24 >>> 0; + } else { + value = this.view[offset+1] << 16; + value |= this.view[offset+2] << 8; + value |= this.view[offset+3]; + value += this.view[offset ] << 24 >>> 0; + } value |= 0; // Cast to signed if (relative) this.offset += 4; return value; @@ -732,7 +759,17 @@ if (offset > capacity5) this.resize((capacity5 *= 2) > offset ? capacity5 : offset); offset -= 4; - this.view.setUint32(value, offset, undefined); + if (this.littleEndian) { + this.view[offset+3] = (value >>> 24) & 0xFF; + this.view[offset+2] = (value >>> 16) & 0xFF; + this.view[offset+1] = (value >>> 8) & 0xFF; + this.view[offset ] = value & 0xFF; + } else { + this.view[offset ] = (value >>> 24) & 0xFF; + this.view[offset+1] = (value >>> 16) & 0xFF; + this.view[offset+2] = (value >>> 8) & 0xFF; + this.view[offset+3] = value & 0xFF; + } if (relative) this.offset += 4; return this; }; @@ -754,7 +791,17 @@ throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } var value = 0; - this.view.getUint32(offset, undefined); + if (this.littleEndian) { + value = this.view[offset+2] << 16; + value |= this.view[offset+1] << 8; + value |= this.view[offset ]; + value += this.view[offset+3] << 24 >>> 0; + } else { + value = this.view[offset+1] << 16; + value |= this.view[offset+2] << 8; + value |= this.view[offset+3]; + value += this.view[offset ] << 24 >>> 0; + } if (relative) this.offset += 4; return value; }; @@ -798,13 +845,25 @@ var lo = value.low, hi = value.high; if (this.littleEndian) { - this.view.setUint32(lo, offset, true); + this.view[offset+3] = (lo >>> 24) & 0xFF; + this.view[offset+2] = (lo >>> 16) & 0xFF; + this.view[offset+1] = (lo >>> 8) & 0xFF; + this.view[offset ] = lo & 0xFF; offset += 4; - this.view.setUint32(hi, offset, true); + this.view[offset+3] = (hi >>> 24) & 0xFF; + this.view[offset+2] = (hi >>> 16) & 0xFF; + this.view[offset+1] = (hi >>> 8) & 0xFF; + this.view[offset ] = hi & 0xFF; } else { - this.view.setUint32(hi, offset, false); + this.view[offset ] = (hi >>> 24) & 0xFF; + this.view[offset+1] = (hi >>> 16) & 0xFF; + this.view[offset+2] = (hi >>> 8) & 0xFF; + this.view[offset+3] = hi & 0xFF; offset += 4; - this.view.setUint32(lo, offset, false); + this.view[offset ] = (lo >>> 24) & 0xFF; + this.view[offset+1] = (lo >>> 16) & 0xFF; + this.view[offset+2] = (lo >>> 8) & 0xFF; + this.view[offset+3] = lo & 0xFF; } if (relative) this.offset += 8; return this; @@ -838,13 +897,25 @@ var lo = 0, hi = 0; if (this.littleEndian) { - this.view.getUint32(offset, true); + lo = this.view[offset+2] << 16; + lo |= this.view[offset+1] << 8; + lo |= this.view[offset ]; + lo += this.view[offset+3] << 24 >>> 0; offset += 4; - this.view.getUint32(offset, true); + hi = this.view[offset+2] << 16; + hi |= this.view[offset+1] << 8; + hi |= this.view[offset ]; + hi += this.view[offset+3] << 24 >>> 0; } else { - this.view.getUint32(offset, false); + hi = this.view[offset+1] << 16; + hi |= this.view[offset+2] << 8; + hi |= this.view[offset+3]; + hi += this.view[offset ] << 24 >>> 0; offset += 4; - this.view.getUint32(offset, false); + lo = this.view[offset+1] << 16; + lo |= this.view[offset+2] << 8; + lo |= this.view[offset+3]; + lo += this.view[offset ] << 24 >>> 0; } var value = new Long(lo, hi, false); if (relative) this.offset += 8; @@ -894,13 +965,25 @@ var lo = value.low, hi = value.high; if (this.littleEndian) { - this.view.setUint32(lo, offset, true); + this.view[offset+3] = (lo >>> 24) & 0xFF; + this.view[offset+2] = (lo >>> 16) & 0xFF; + this.view[offset+1] = (lo >>> 8) & 0xFF; + this.view[offset ] = lo & 0xFF; offset += 4; - this.view.setUint32(hi, offset, true); + this.view[offset+3] = (hi >>> 24) & 0xFF; + this.view[offset+2] = (hi >>> 16) & 0xFF; + this.view[offset+1] = (hi >>> 8) & 0xFF; + this.view[offset ] = hi & 0xFF; } else { - this.view.setUint32(hi, offset, false); + this.view[offset ] = (hi >>> 24) & 0xFF; + this.view[offset+1] = (hi >>> 16) & 0xFF; + this.view[offset+2] = (hi >>> 8) & 0xFF; + this.view[offset+3] = hi & 0xFF; offset += 4; - this.view.setUint32(lo, offset, false); + this.view[offset ] = (lo >>> 24) & 0xFF; + this.view[offset+1] = (lo >>> 16) & 0xFF; + this.view[offset+2] = (lo >>> 8) & 0xFF; + this.view[offset+3] = lo & 0xFF; } if (relative) this.offset += 8; return this; @@ -925,13 +1008,25 @@ var lo = 0, hi = 0; if (this.littleEndian) { - this.view.getUint32(offset, true); + lo = this.view[offset+2] << 16; + lo |= this.view[offset+1] << 8; + lo |= this.view[offset ]; + lo += this.view[offset+3] << 24 >>> 0; offset += 4; - this.view.getUint32(offset, true); + hi = this.view[offset+2] << 16; + hi |= this.view[offset+1] << 8; + hi |= this.view[offset ]; + hi += this.view[offset+3] << 24 >>> 0; } else { - this.view.getUint32(offset, false); + hi = this.view[offset+1] << 16; + hi |= this.view[offset+2] << 8; + hi |= this.view[offset+3]; + hi += this.view[offset ] << 24 >>> 0; offset += 4; - this.view.getUint32(offset, false); + lo = this.view[offset+1] << 16; + lo |= this.view[offset+2] << 8; + lo |= this.view[offset+3]; + lo += this.view[offset ] << 24 >>> 0; } var value = new Long(lo, hi, true); if (relative) this.offset += 8; @@ -1607,7 +1702,17 @@ if (offset > capacity13) this.resize((capacity13 *= 2) > offset ? capacity13 : offset); offset -= 4+k; - this.view.setUint32(k, offset, undefined); + if (this.littleEndian) { + this.view[offset+3] = (k >>> 24) & 0xFF; + this.view[offset+2] = (k >>> 16) & 0xFF; + this.view[offset+1] = (k >>> 8) & 0xFF; + this.view[offset ] = k & 0xFF; + } else { + this.view[offset ] = (k >>> 24) & 0xFF; + this.view[offset+1] = (k >>> 16) & 0xFF; + this.view[offset+2] = (k >>> 8) & 0xFF; + this.view[offset+3] = k & 0xFF; + } offset += 4; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { this.view[offset++] = b; @@ -1643,7 +1748,17 @@ var temp = 0, start = offset, str; - this.view.getUint32(offset, undefined); + if (this.littleEndian) { + temp = this.view[offset+2] << 16; + temp |= this.view[offset+1] << 8; + temp |= this.view[offset ]; + temp += this.view[offset+3] << 24 >>> 0; + } else { + temp = this.view[offset+1] << 16; + temp |= this.view[offset+2] << 8; + temp |= this.view[offset+3]; + temp += this.view[offset ] << 24 >>> 0; + } offset += 4; var k = offset + temp, sd; @@ -2435,7 +2550,7 @@ } if (begin === end) return this; // Nothing to reverse - Array.prototype.reverse.call(this.view).subarray(begin, end); + Array.prototype.reverse.call(this.view.subarray(begin, end)); return this; }; /** diff --git a/src/macros.js b/src/macros.js index acb3693..08358f3 100644 --- a/src/macros.js +++ b/src/macros.js @@ -138,7 +138,7 @@ READ_UINT32_ARRAY = function(varValue, varOffset, varTarget, varEndian) { if (typeof varTarget === 'undefined') varTarget = NODE ? 'this.buffer' : 'this.view'; var ____ = typeof varEndian !== 'boolean' ? ' ' : ''; if (VERBOSE_MS) writeln(__+'// '); - if (NODE) { + if (NODE || !DATAVIEW) { if (typeof varEndian !== 'boolean') writeln(__+'if ('+(varEndian || 'this.littleEndian')+') {'); if (typeof varEndian !== 'boolean' || varEndian === true) { @@ -170,7 +170,7 @@ WRITE_UINT32_ARRAY = function(varValue, varOffset, varTarget, varEndian) { if (typeof varTarget === 'undefined') varTarget = NODE ? 'this.buffer' : 'this.view'; var ____ = typeof varEndian !== 'boolean' ? ' ' : ''; if (VERBOSE_MS) writeln(__+'// '); - if (NODE) { + if (NODE || !DATAVIEW) { if (typeof varEndian !== 'boolean') writeln(__+'if ('+(varEndian || 'this.littleEndian')+') {'); if (typeof varEndian !== 'boolean' || varEndian === true) { diff --git a/src/methods/reverse.js b/src/methods/reverse.js index b19b3a9..b249d2a 100644 --- a/src/methods/reverse.js +++ b/src/methods/reverse.js @@ -19,7 +19,7 @@ ByteBufferPrototype.reverse = function(begin, end) { Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? //? } else { - Array.prototype.reverse.call(this.view).subarray(begin, end); + Array.prototype.reverse.call(this.view.subarray(begin, end)); //? } return this; }; diff --git a/src/methods/static/concat.js b/src/methods/static/concat.js index d8d4946..d5f2841 100644 --- a/src/methods/static/concat.js +++ b/src/methods/static/concat.js @@ -44,7 +44,7 @@ ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { //? if (DATAVIEW) view.set(new Uint8Array(bi.buffer).subarray(bi.offset, bi.limit), bb.offset); //? else - this.view.set(bi.view.subarray(bi.offset, bi.limit), bb.offset); + bb.view.set(bi.view.subarray(bi.offset, bi.limit), bb.offset); bb.offset += length; //? } } diff --git a/src/methods/static/type.js b/src/methods/static/type.js index dd8c11f..d3e2513 100644 --- a/src/methods/static/type.js +++ b/src/methods/static/type.js @@ -1,14 +1,12 @@ /** * Gets the backing buffer type. - * @returns {Function} `Buffer` for NB builds, `ArrayBuffer` for AB builds (classes) + * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) * @expose */ ByteBuffer.type = function() { //? if (NODE) return Buffer; - //? else if (DATAVIEW) - return ArrayBuffer; //? else - return Uint8Array; + return ArrayBuffer; }; diff --git a/src/methods/static/wrap.js b/src/methods/static/wrap.js index f547132..e95fd0a 100644 --- a/src/methods/static/wrap.js +++ b/src/methods/static/wrap.js @@ -95,11 +95,11 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER bb.buffer = buffer.buffer; bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.length; + bb.limit = buffer.byteOffset + buffer.byteLength; //? if (DATAVIEW) - bb.view = buffer.length > 0 ? new DataView(buffer.buffer) : null; + bb.view = new DataView(buffer.buffer); //? else - bb.view = buffer.length > 0 ? buffer : null; + bb.view = new Uint8Array(buffer.buffer); } } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer bb = new ByteBuffer(0, littleEndian, noAssert); diff --git a/src/types/ints/int16.js b/src/types/ints/int16.js index d55021a..6795a11 100644 --- a/src/types/ints/int16.js +++ b/src/types/ints/int16.js @@ -16,25 +16,16 @@ ByteBufferPrototype.writeInt16 = function(value, offset) { //? ASSERT_OFFSET(); } //? ENSURE_CAPACITY(2); - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var dst = NODE ? 'this.buffer' : 'this.view'; if (this.littleEndian) { - this.buffer[offset+1] = (value & 0xFF00) >>> 8; - this.buffer[offset ] = value & 0x00FF; + /*?= dst */[offset+1] = (value & 0xFF00) >>> 8; + /*?= dst */[offset ] = value & 0x00FF; } else { - this.buffer[offset] = (value & 0xFF00) >>> 8; - this.buffer[offset+1] = value & 0x00FF; + /*?= dst */[offset] = (value & 0xFF00) >>> 8; + /*?= dst */[offset+1] = value & 0x00FF; } - //? } else if (DATAVIEW) { + //? } else this.view.setInt16(offset, value, this.littleEndian); - //? } else { - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } - //? } //? RELATIVE(2); return this; }; @@ -65,29 +56,18 @@ ByteBufferPrototype.readInt16 = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(2); } - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var dst = NODE ? 'this.buffer' : 'this.view'; var value = 0; if (this.littleEndian) { - value = this.buffer[offset ]; - value |= this.buffer[offset+1] << 8; + value = /*?= dst */[offset ]; + value |= /*?= dst */[offset+1] << 8; } else { - value = this.buffer[offset ] << 8; - value |= this.buffer[offset+1]; + value = /*?= dst */[offset ] << 8; + value |= /*?= dst */[offset+1]; } if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed - //? } else if (DATAVIEW) { + //? } else var value = this.view.getInt16(offset, this.littleEndian); - //? } else { - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } - if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed - //? } //? RELATIVE(2); return value; }; @@ -120,25 +100,16 @@ ByteBufferPrototype.writeUint16 = function(value, offset) { //? ASSERT_OFFSET(); } //? ENSURE_CAPACITY(2); - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var dst = NODE ? 'this.buffer' : 'this.view'; if (this.littleEndian) { - this.buffer[offset+1] = (value & 0xFF00) >>> 8; - this.buffer[offset ] = value & 0x00FF; + /*?= dst */[offset+1] = (value & 0xFF00) >>> 8; + /*?= dst */[offset ] = value & 0x00FF; } else { - this.buffer[offset] = (value & 0xFF00) >>> 8; - this.buffer[offset+1] = value & 0x00FF; + /*?= dst */[offset] = (value & 0xFF00) >>> 8; + /*?= dst */[offset+1] = value & 0x00FF; } - //? } else if (DATAVIEW) { + //? } else this.view.setUint16(offset, value, this.littleEndian); - //? } else { - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } - //? } //? RELATIVE(2); return this; }; @@ -156,14 +127,14 @@ ByteBufferPrototype.readUint16 = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(2); } - //? if (NODE) { + //? if (NODE || !DATAVIEW) { var dst = NODE ? 'this.buffer' : 'this.view'; var value = 0; if (this.littleEndian) { - value = this.buffer[offset ]; - value |= this.buffer[offset+1] << 8; + value = /*?= dst */[offset ]; + value |= /*?= dst */[offset+1] << 8; } else { - value = this.buffer[offset ] << 8; - value |= this.buffer[offset+1]; + value = /*?= dst */[offset ] << 8; + value |= /*?= dst */[offset+1]; } //? } else var value = this.view.getUint16(offset, this.littleEndian); diff --git a/tests/suite.js b/tests/suite.js index 6569680..e361098 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -19,8 +19,9 @@ * @author Daniel Wirtz */ // var ByteBuffer = require("../dist/ByteBufferNB.js"); -ByteBuffer.ByteBufferNB = ByteBuffer; -ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); +var ByteBufferNB = ByteBuffer.ByteBufferNB = ByteBuffer; +var ByteBufferAB = ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); +var ByteBufferTA = ByteBuffer.ByteBufferTA = require("../dist/experimental/ByteBufferTA.js"); /** * Constructs a new Sandbox for module loaders and shim testing. @@ -54,11 +55,13 @@ function makeSuite(ByteBuffer) { suite.init = function(test) { test.ok(require("../index.js")); - if (type === Buffer) - test.log("\n\n --- node Buffer backed ByteBuffer ---\n".bold.white), + if (ByteBuffer == ByteBufferNB) + test.log("\n\n --- ByteBufferNB using node Buffers ---\n".bold.white), test.log("[optional] node-memcpy is "+(ByteBuffer.memcpy ? "present" : "not present")); - else - test.log("\n\n --- ArrayBuffer backed ByteBuffer ---\n".bold.white); + else if (ByteBuffer == ByteBufferAB) + test.log("\n\n --- ByteBufferAB using DataView ---\n".bold.white); + else if (ByteBuffer == ByteBufferTA) + test.log("\n\n --- ByteBufferTA using Typed Arrays ---\n".bold.white); test.ok(type === Buffer || type === ArrayBuffer); test.ok(typeof ByteBuffer == "function"); test.done(); @@ -1035,6 +1038,7 @@ module.exports = { test.log("Version "+ByteBuffer.VERSION+", "+new Date().toISOString()+"\n"); test.done(); }, - "NB": makeSuite(ByteBuffer.ByteBufferNB), - "AB": makeSuite(ByteBuffer.ByteBufferAB) + "NB": makeSuite(ByteBufferNB), + "AB": makeSuite(ByteBufferAB), + "TA": makeSuite(ByteBufferTA) }; \ No newline at end of file From 984e648f0f38e01ef708f92f3c8e6e16c1b59f49 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 00:20:37 +0200 Subject: [PATCH 38/91] Float support for ByteBufferTA, all tests pass, see #16 --- dist/ByteBufferAB.min.js.gz | Bin 7614 -> 7614 bytes dist/experimental/ByteBufferTA.js | 95 ++++++++++++++++++++++++++++-- src/types/floats/float32.js | 12 +++- src/types/floats/float64.js | 8 ++- src/types/floats/ieee754.js | 4 +- 5 files changed, 109 insertions(+), 10 deletions(-) diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index bed7837d6c823f9a8acf2f4ae258b512b8b4a3fe..7de5ada8c2fdf4c557c5cd58ffe1ec7cfef4e14b 100644 GIT binary patch delta 15 WcmdmIz0aCWzMF&N@Ai#sJ7fVbj0N)m delta 15 WcmdmIz0aCWzMF&N?v{;gJ7fVay#>$! diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index c950031..bd1ade3 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -1038,6 +1038,93 @@ // types/floats/float32 + // ref: https://github.com/feross/ieee754 + function ieee754_read(buffer, offset, isLE, mLen, nBytes) { + var e, m, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + nBits = -7, + i = isLE ? (nBytes - 1) : 0, + d = isLE ? -1 : 1, + s = buffer[offset + i]; + + i += d; + + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8); + + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8); + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity); + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + } + + // ref: https://github.com/feross/ieee754 + function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), + i = isLE ? 0 : (nBytes - 1), + d = isLE ? 1 : -1, + s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8); + + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8); + + buffer[offset + i - d] |= s * 128; + } + /** * Writes a 32bit float. * @param {number} value Value to write @@ -1062,7 +1149,7 @@ if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset); offset -= 4; - this.view.setFloat32(offset, value, this.littleEndian); + ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); if (relative) this.offset += 4; return this; }; @@ -1093,7 +1180,7 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = this.view.getFloat32(offset, this.littleEndian); + var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); if (relative) this.offset += 4; return value; }; @@ -1133,7 +1220,7 @@ if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset); offset -= 8; - this.view.setFloat64(offset, value, this.littleEndian); + ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); if (relative) this.offset += 8; return this; }; @@ -1164,7 +1251,7 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = this.view.getFloat64(offset, this.littleEndian); + var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); if (relative) this.offset += 8; return value; }; diff --git a/src/types/floats/float32.js b/src/types/floats/float32.js index 9a76c1b..ab5f4a7 100644 --- a/src/types/floats/float32.js +++ b/src/types/floats/float32.js @@ -1,5 +1,9 @@ //? if (FLOAT32) { // types/floats/float32 +//? if (!NODE && !DATAVIEW) { + +//? include("ieee754.js"); +//? } /** * Writes a 32bit float. @@ -20,8 +24,10 @@ ByteBufferPrototype.writeFloat32 = function(value, offset) { this.littleEndian ? this.buffer.writeFloatLE(value, offset, true) : this.buffer.writeFloatBE(value, offset, true); - //? } else + //? } else if (DATAVIEW) this.view.setFloat32(offset, value, this.littleEndian); + //? else + ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); //? RELATIVE(4); return this; }; @@ -53,8 +59,10 @@ ByteBufferPrototype.readFloat32 = function(offset) { var value = this.littleEndian ? this.buffer.readFloatLE(offset, true) : this.buffer.readFloatBE(offset, true); - //? } else + //? } else if (DATAVIEW) var value = this.view.getFloat32(offset, this.littleEndian); + //? else + var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); //? RELATIVE(4); return value; }; diff --git a/src/types/floats/float64.js b/src/types/floats/float64.js index 86bef86..30b3041 100644 --- a/src/types/floats/float64.js +++ b/src/types/floats/float64.js @@ -20,8 +20,10 @@ ByteBufferPrototype.writeFloat64 = function(value, offset) { this.littleEndian ? this.buffer.writeDoubleLE(value, offset, true) : this.buffer.writeDoubleBE(value, offset, true); - //? } else + //? } else if (DATAVIEW) this.view.setFloat64(offset, value, this.littleEndian); + //? else + ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); //? RELATIVE(8); return this; }; @@ -53,8 +55,10 @@ ByteBufferPrototype.readFloat64 = function(offset) { var value = this.littleEndian ? this.buffer.readDoubleLE(offset, true) : this.buffer.readDoubleBE(offset, true); - //? } else + //? } else if (DATAVIEW) var value = this.view.getFloat64(offset, this.littleEndian); + //? else + var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); //? RELATIVE(8); return value; }; diff --git a/src/types/floats/ieee754.js b/src/types/floats/ieee754.js index b8eed91..5f29866 100644 --- a/src/types/floats/ieee754.js +++ b/src/types/floats/ieee754.js @@ -30,7 +30,7 @@ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { e = e - eBias; } return (s ? -1 : 1) * m * Math.pow(2, e - mLen); -}; +} // ref: https://github.com/feross/ieee754 function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { @@ -83,4 +83,4 @@ function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8); buffer[offset + i - d] |= s * 128; -}; \ No newline at end of file +} From 78f6b08c57e4428d4131a8843b35a884957574f4 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 00:26:42 +0200 Subject: [PATCH 39/91] Proper licensing for ieee753 --- dist/ByteBufferAB.min.js.gz | Bin 7614 -> 7614 bytes dist/experimental/ByteBufferTA.js | 28 ++++++++++++++++++++++++++-- src/types/floats/ieee754.js | 28 ++++++++++++++++++++++++++-- 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 7de5ada8c2fdf4c557c5cd58ffe1ec7cfef4e14b..40d816780f1b2d4b8810462f331b1a92f912fcf3 100644 GIT binary patch delta 15 WcmdmIz0aCWzMF%id*?>B9kKu{>IH)U delta 15 WcmdmIz0aCWzMF&N@Ai#sJ7fVbj0N)m diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index bd1ade3..126cacd 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -1038,7 +1038,32 @@ // types/floats/float32 - // ref: https://github.com/feross/ieee754 + /* + ieee754 - https://github.com/feross/ieee754 + + The MIT License (MIT) + + Copyright (c) Feross Aboukhadijeh + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */ + function ieee754_read(buffer, offset, isLE, mLen, nBytes) { var e, m, eLen = nBytes * 8 - mLen - 1, @@ -1072,7 +1097,6 @@ return (s ? -1 : 1) * m * Math.pow(2, e - mLen); } - // ref: https://github.com/feross/ieee754 function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { var e, m, c, eLen = nBytes * 8 - mLen - 1, diff --git a/src/types/floats/ieee754.js b/src/types/floats/ieee754.js index 5f29866..409226b 100644 --- a/src/types/floats/ieee754.js +++ b/src/types/floats/ieee754.js @@ -1,4 +1,29 @@ -// ref: https://github.com/feross/ieee754 +/* + ieee754 - https://github.com/feross/ieee754 + + The MIT License (MIT) + + Copyright (c) Feross Aboukhadijeh + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + function ieee754_read(buffer, offset, isLE, mLen, nBytes) { var e, m, eLen = nBytes * 8 - mLen - 1, @@ -32,7 +57,6 @@ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { return (s ? -1 : 1) * m * Math.pow(2, e - mLen); } -// ref: https://github.com/feross/ieee754 function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { var e, m, c, eLen = nBytes * 8 - mLen - 1, From 355a49b5705714cbb60cbff5c10251f5da0f8962 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 00:40:24 +0200 Subject: [PATCH 40/91] Clearer build information in headers --- dist/ByteBufferAB.js | 5 ++--- dist/ByteBufferAB.min.js | 5 ++--- dist/ByteBufferAB.min.js.gz | Bin 7614 -> 7569 bytes dist/ByteBufferAB.min.map | 4 ++-- dist/ByteBufferNB.js | 4 ++-- dist/experimental/ByteBufferTA.js | 5 ++--- src/ByteBufferAB.js | 7 +++---- src/ByteBufferNB.js | 6 +++--- src/ByteBufferTA.js | 5 ++--- 9 files changed, 18 insertions(+), 23 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index a85b124..e589c1f 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -15,9 +15,8 @@ */ /** - * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through a DataView and is - * compatible with modern browsers. + * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 09cfb3e..735e14c 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -1,7 +1,6 @@ /* - ByteBuffer.js (c) 2013-2014 Daniel Wirtz - This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through a DataView and is - compatible with modern browsers. + ByteBuffer.js (c) 2015 Daniel Wirtz + [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 40d816780f1b2d4b8810462f331b1a92f912fcf3..9cc58c580f66d3c54a928079489ccdac0b558c4b 100644 GIT binary patch delta 7162 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 delta 7207 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 - * This version of ByteBuffer.js uses a node Buffer (NB) as its backing buffer and is compatible with node.js only. + * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * [BUILD] ByteBufferNB - Backing buffer / Accessor: node Buffer * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index 126cacd..382ffa6 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -15,9 +15,8 @@ */ /** - * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through typed arrays and is - * compatible with modern browsers. + * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index 4ef5b9b..4962a23 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -16,10 +16,9 @@ //? NODE = false; DATAVIEW = true; /** - * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through a DataView and is - * compatible with modern browsers. - * Released under the Apache License, Version 2.0 + * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // (function(global) { diff --git a/src/ByteBufferNB.js b/src/ByteBufferNB.js index 88c1eb0..aaaaf4a 100644 --- a/src/ByteBufferNB.js +++ b/src/ByteBufferNB.js @@ -16,9 +16,9 @@ //? NODE = true; /** - * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses a node Buffer (NB) as its backing buffer and is compatible with node.js only. - * Released under the Apache License, Version 2.0 + * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * [BUILD] ByteBufferNB - Backing buffer / Accessor: node Buffer + * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ module.exports = (function() { diff --git a/src/ByteBufferTA.js b/src/ByteBufferTA.js index d53f794..a64cfff 100644 --- a/src/ByteBufferTA.js +++ b/src/ByteBufferTA.js @@ -16,9 +16,8 @@ //? NODE = false; DATAVIEW = false; /** - * @license ByteBuffer.js (c) 2013-2014 Daniel Wirtz - * This version of ByteBuffer.js uses an ArrayBuffer as its backing buffer which is accessed through typed arrays and is - * compatible with modern browsers. + * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // From 733d992e26f1ccdb3a3a0244cf5784f59a06bab3 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 00:43:58 +0200 Subject: [PATCH 41/91] Update Travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 09d3ef3..784e99e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ language: node_js node_js: - - 0.8 - 0.10 + - 0.12 From 15817e0da5a108ca4190df5b9cff371ec79f9df7 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 00:58:42 +0200 Subject: [PATCH 42/91] README for experimental distributions --- dist/README.md | 2 ++ dist/experimental/README.md | 5 +++++ 2 files changed, 7 insertions(+) create mode 100644 dist/experimental/README.md diff --git a/dist/README.md b/dist/README.md index 9a693ed..47bc386 100644 --- a/dist/README.md +++ b/dist/README.md @@ -27,3 +27,5 @@ Also available as `bytebuffer` on [npm](https://www.npmjs.org/package/bytebuffer When installed as an [npm package](https://www.npmjs.org/package/bytebuffer), both versions are available. `exports` and `exports.ByteBufferNB` point at ByteBufferNB, `exports.ByteBufferAB` points at ByteBufferAB. + +**See also:** **[Experimental distributions](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist/experimental) diff --git a/dist/experimental/README.md b/dist/experimental/README.md new file mode 100644 index 0000000..17e93b3 --- /dev/null +++ b/dist/experimental/README.md @@ -0,0 +1,5 @@ +Experimental distributions +========================== + +* **[ByteBufferTA.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/experimental/ByteBufferTA.js)** + uses an ArrayBuffer as its backing buffer, accessed through an Uint8Array (Typed Array). From 23884658168875f0ab625b2f4aad4405b6089640 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:02:19 +0200 Subject: [PATCH 43/91] Updated comments for ByteBuffer#view --- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 7569 -> 7569 bytes dist/README.md | 2 +- dist/experimental/ByteBufferTA.js | 4 ++-- src/ByteBuffer.js | 12 +++++++++--- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index e589c1f..4760526 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -62,7 +62,7 @@ this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); /** - * Data view to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. * @type {?DataView} * @expose */ diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 9cc58c580f66d3c54a928079489ccdac0b558c4b..f4c3964886a88ddb185864e305d679fe7f8e3f15 100644 GIT binary patch delta 15 WcmbPeJ<*y?zMF&N#leki-Le2F`UPPC delta 15 WcmbPeJ<*y?zMF$%-JXqX-Le2Eg#{u2 diff --git a/dist/README.md b/dist/README.md index 47bc386..5345533 100644 --- a/dist/README.md +++ b/dist/README.md @@ -28,4 +28,4 @@ Also available as `bytebuffer` on [npm](https://www.npmjs.org/package/bytebuffer When installed as an [npm package](https://www.npmjs.org/package/bytebuffer), both versions are available. `exports` and `exports.ByteBufferNB` point at ByteBufferNB, `exports.ByteBufferAB` points at ByteBufferAB. -**See also:** **[Experimental distributions](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist/experimental) +**See also:** [Experimental distributions](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist/experimental) diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index 382ffa6..af6d458 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -62,8 +62,8 @@ this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); /** - * Data view to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. - * @type {?DataView} + * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?Uint8Array} * @expose */ this.view = capacity === 0 ? null : new Uint8Array(this.buffer); diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 3a099fa..31bd9f2 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -51,16 +51,22 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { this.view = capacity === 0 ? null : new BufferView(this.buffer); //? } else if (!NODE) { + //? if (DATAVIEW) { /** - * Data view to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. * @type {?DataView} * @expose */ - //? if (DATAVIEW) this.view = capacity === 0 ? null : new DataView(this.buffer); - //? else + //? } else { + /** + * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?Uint8Array} + * @expose + */ this.view = capacity === 0 ? null : new Uint8Array(this.buffer); //? } + //? } /** * Absolute read/write offset. From e1e3c946237d301633fe434620cdd4c1cd383049 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:05:13 +0200 Subject: [PATCH 44/91] More comment updates, formatting --- dist/ByteBufferAB.js | 11 +++++++---- dist/ByteBufferAB.min.js.gz | Bin 7569 -> 7569 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 11 +++++++---- dist/experimental/ByteBufferTA.js | 11 +++++++---- src/ByteBuffer.js | 13 ++++++++----- 6 files changed, 30 insertions(+), 18 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 4760526..6cb7bff 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -43,9 +43,12 @@ * @expose */ var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; if (!noAssert) { capacity = capacity | 0; if (capacity < 0) @@ -55,7 +58,7 @@ } /** - * Backing buffer. + * Backing ArrayBuffer. * @type {!ArrayBuffer} * @expose */ diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index f4c3964886a88ddb185864e305d679fe7f8e3f15..58ad2c531f1afb7ec8027981ff7552fc0e53f2cf 100644 GIT binary patch delta 15 WcmbPeJ<*y?zMF%i@6blJZdm{);{^x+ delta 15 WcmbPeJ<*y?zMF&N#leki-Le2F`UPPC diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 129e90c..e52d155 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":86, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index b4fd580..b10a472 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -41,9 +41,12 @@ module.exports = (function() { * @expose */ var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; if (!noAssert) { capacity = capacity | 0; if (capacity < 0) @@ -53,7 +56,7 @@ module.exports = (function() { } /** - * Backing buffer. + * Backing node Buffer. * @type {!Buffer} * @expose */ diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index af6d458..ee011aa 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -43,9 +43,12 @@ * @expose */ var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; if (!noAssert) { capacity = capacity | 0; if (capacity < 0) @@ -55,7 +58,7 @@ } /** - * Backing buffer. + * Backing ArrayBuffer. * @type {!ArrayBuffer} * @expose */ diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 31bd9f2..1f79fbe 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -12,9 +12,12 @@ * @expose */ var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; if (!noAssert) { capacity = capacity | 0; if (capacity < 0) @@ -25,7 +28,7 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { //? if (NODE) { /** - * Backing buffer. + * Backing node Buffer. * @type {!Buffer} * @expose */ @@ -33,7 +36,7 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { //? } else { /** - * Backing buffer. + * Backing ArrayBuffer. * @type {!ArrayBuffer} * @expose */ From a24f664f867b62643c15c203d32ffc9c6969e0e8 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:14:30 +0200 Subject: [PATCH 45/91] Alias read/writeUintX as read/writeUIntX --- dist/ByteBufferAB.js | 78 +++++++++++++++ dist/ByteBufferAB.min.js | 154 +++++++++++++++--------------- dist/ByteBufferAB.min.js.gz | Bin 7569 -> 7591 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferNB.js | 78 +++++++++++++++ dist/experimental/ByteBufferTA.js | 78 +++++++++++++++ src/types/ints/int16.js | 22 +++++ src/types/ints/int32.js | 18 ++++ src/types/ints/int64.js | 19 ++++ src/types/ints/int8.js | 19 ++++ 10 files changed, 391 insertions(+), 79 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 6cb7bff..b8fae43 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -467,6 +467,16 @@ return this; }; + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + /** * Reads an 8bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. @@ -488,6 +498,15 @@ return value; }; + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + // types/ints/int16 /** @@ -597,6 +616,17 @@ return this; }; + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + /** * Reads a 16bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. @@ -620,6 +650,17 @@ return value; }; + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + // types/ints/int32 /** @@ -717,6 +758,15 @@ return this; }; + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + /** * Reads a 32bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. @@ -738,6 +788,15 @@ return value; }; + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + // types/ints/int64 if (Long) { @@ -868,6 +927,16 @@ return this; }; + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; + /** * Reads a 64bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. @@ -891,6 +960,15 @@ return value; }; + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + } // Long diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 735e14c..9f143be 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -4,83 +4,83 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(s){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=e||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof -g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b= -e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< +a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof +f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= +e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& (this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.readUint8=function(a){var b="undefined"===typeof a; -b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian); -b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*= -2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};k&&(e.writeInt64=function(a,b){var c= +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ +0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c= "undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== -typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& -a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+ -4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+ -4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a});e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*= -2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat= -e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian); -c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= -function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b, -d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{f=a+c;if(!this.noAssert&&f>this.limit)throw a= -Error("Truncated"),a.truncated=!0,a;f=this.view.getUint8(f);5>c&&(d|=(f&127)<<7*c>>>0);++c}while(128===(f&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>> -0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()}, -e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"=== -typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var r=this.buffer.byteLength;b>r&&this.resize((r*=2)>b?r:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,h>>>7&1);case 9:this.view.setUint8(b+8,9!==d?h|128:h&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128: -e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?f>>>21|128:f>>>21&127);case 3:this.view.setUint8(b+2,3!==d?f>>>14|128:f>>>14&127);case 2:this.view.setUint8(b+1,2!==d?f>>>7|128:f>>>7&127);case 1:this.view.setUint8(b,1!==d?f|128:f&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view.getUint8(a++),d=h&127;if(h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),d|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),f= -h&127,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<7,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<14,h&128&&(h=this.view.getUint8(a++),f|=(h&127)<<21,h&128&&(h=this.view.getUint8(a++),e=h&127,h&128&&(h=this.view.getUint8(a++),e|=(h&127)<<7,h&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a); -return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f= -l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); -}var c=a,d,f=-1;l.b(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view.getUint8(a++);return 0===f?null:f}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.view.setUint32(b,f,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var f=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b- -f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)"); -c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=t();l.g(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var r=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,f=a+c, -c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); -}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength; -this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a, -b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+ -" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b|| -b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);f&&(this.offset+=h);e&&(a.offset+=h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a, -b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset= -a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ -c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+ -a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b, -c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d< -f;++d)c[b[d]]=d;a.i=function(a,c){for(var d,f;null!==(d=a());)c(b[d>>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,g;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(g=c[f],"undefined"===typeof g&&d(f),b(e<<2>>>0|(g&48)>>4),null!==(f=a()))){e=c[f];if("undefined"=== -typeof e)if(61===f)break;else d(f);b((g&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){g=c[f];if("undefined"===typeof g)if(61===f)break;else d(f);b((e&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b=== -this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var f=0,e=0,h,k=!1,l=!1,m=!1,q=!1,p=!1;f":if(!c){if(q){p=!0;break}q=!0}b.limit=e;k=!1;break;case "'":if(!c){if(m){p=!0;break}m=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){p=!0;break}h=parseInt(h+a.charAt(f++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var f,e=0,h=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,g,h,k;null!==(e=a());)if(0===(e&128))c(e); -else if(192===(e&224))null===(g=a())&&d([e,g]),c((e&31)<<6|g&63);else if(224===(e&240))null!==(g=a())&&null!==(h=a())||d([e,g,h]),c((e&15)<<12|(g&63)<<6|h&63);else if(240===(e&248))null!==(g=a())&&null!==(h=a())&&null!==(k=a())||d([e,g,h,k]),c((e&7)<<18|(g&63)<<12|(h&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!== -e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"=== -typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return ad&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; +if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+ +3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES= +10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, +f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*= +2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128: +h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= +0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); +d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, +a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= +a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, +h=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=t();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d= +b,h,e;h=l.a(m(a),this.noAssert)[1];e=f.calculateVarint32(h);b+=e+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+h+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, +b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; +b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= +b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); +b=(n="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);n&&(a.offset+= +g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, +b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, +b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); +b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+ +this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, +83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, +h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= +this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== +this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), +16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? +c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, +g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, +c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aQMl?%m0Hr&_HBF~LBANG4_*D!oFCQw`|JD ziUpPREMUt@6tc?Ef>8MH)r7Lyis8x!wp>l-vr4nxuqrFY`js$>7OVc#r{hT!uKhZl zpFI^#d->*Rwl|~svJ$X}Or|UA$y3W7t!FfXvg{Q)kH1&e_9yLWWE1RTiq5ONMWe}# z1y#@UqOS`!A63Ziu1&mA{l)PwNAF*q{Pz6le~zBNJoy)Ljo?0j`x^N1>lZJNUY7t< z0Hzx7>o-U5-W|U^LGEN^??8*lh1cNU8;1l%;d1_^@|MiT?0C7HFYW5f>6DGhv_c8c zZxVg2BG>nJc6^t@U%H9H$*L~d;x(XBGFu@jY^@*# zJ|B%%EP}R)r!%tr#DX{S-JT;~PA6xR$RqJX6iwOjESQj)r;%bOrP~l1-rrHkv-#0# z#g>uiN5ZHxXzuxEvaI+}^O8mDB``1MFFIFm{DDR4Q#Kn%;gHm6NS4n*P>v$ouhmeW z_imFG8QHQ#;(a{DKKwD1%jwT4vmCF_*eqJ9!ckmb{rCA~W>>4Iwyu-KV*1s77cD_0 zFc8;iG+TqXIkkKdTvqCf^(wRrmR3slx6^=E&tCp_^6a=p;r5)4o0nlvM{|opD@%GcpN+jw z7Z;q)E~hL5yrkiH<>e)?f$-Xs-L8+8^RwrQVNe#CPUn*~ctbtP)n1rY@v#nkgb96rw{K?Udq%Er3_tiTLDV=v|n zUbt*9c55|;M)k=mHAOc0$WGD4h4>#R@MTFB;yd<%wF{4bl`66)zDk9{jllwBBCL4} zVFI|=C2}Tv+YlWBJ(rK6dM3h%ttDQm%sH&bObsu^Q zXmC)62iwk-N8|EPeYN(9dZ#c|Q3(6$P5Mpr#8<{3e(CzD0g07p<7Nq{F)`-%4kw2V z_Lx*AvsFZ96!>M05J%R_V! zEYSOtUwS%7!2I<%2lIlzlR(fjvYtkL>4cR3c|TjN7mN8a0%y)<;EsVZ{YtgwBXVW&(Zzk<0lZ?DHaY zVbLTS#Tq0P3N(-CMp?N{qP`^Z%-=wJWF0sbZ2e_TKD?6l!Iz#j<4#GUOD>xN?emS) zgx1u`wDe3%(0HhUTD53nk(zA7=gIOiQAnR zO40nZUFz+Ghc^l3!H!OlY$i8Cf?4(ilaG^A)ugM1#!3we1AU)F>?M?vQF`g|sb^ML zmkO2D!W3E-LTc5DJ)1`rG6U{MYz*v% z4#Xi}v2%XL(;VM`^A$)8YMbD>V>NA#iAU(ks*@6?Gp9Z=FHCb%$8V^G_sS#95i zkOO$StfY=LBRBWpS*?3j+vXjqZS(rB6&Pb=ieJu@M3G~LBs|dl?T@L+H}kjFqb}TLb!`mC69V}(wblCnYb&HK&2WPWS?c>3JBQ{TMb1a)q0 zsm?94Izus@E-9&J&PdGz%6ToJ$*num6qnqPjX+I&aKY~4(o6?1N^&IwaeHn^VvFSWRx*1c-AJ`Y8_Ph#5U zwfKoA{mC%CVb&^!mV@^?^iF<`t?~)o%u-b5%L<r@ym2hzG0?$ErVB)_(d~k{WNnocbHcyPToGT z6a{%%`B3RiQCc3{i0}6rCyLo~w5k^qs3xP?lxN7D{67V7mX3_sQ%BR|NHI3(c71= zPxhO?J^RH16dZw^b}cC6;88vNQO?|>FoDf@U7WzHV(Q@y9wX- z`^`?Twcl>FJMh%%xB24dKPTf~$@rMB(`C7mWs$bc=Vs7g;QR-w+IJAt*GMs6uu{wl zZ<_O;JxF;RbkRtp($I~^r6b?Va!I3Q5HhhmsOAN(+~ZJc*20`w3zb<5Rn8O`SAgNb zBNrg7iCV+=fk%cmygxkb@}IB?ujcR-!$P`KaHmxc-{kO02U3itQ;uQn3zS$@1dVyy4CLQh)12Jo$cLpPY8haRcXV)u7aJLI7AO2H@MJt>Ey(VFY51~OOqO4xro0{H+iur$Qt-EPnnVwikqQ$qex~b zs4gn-@_xuxKcGG_{HD8NJ|m<1+)hjRT+3UV?h<%B}rVZen}YImWUEbLumC&0^*iH2-E(B z`Tp(qOTy&+1XcAf%=fR^FA1KT399U$73MnV7%{OU@nmfRd~;=Boj0=A39La=@(xu6 z)>x0A9`xAFH;$``jH|^?eT$nD{xNNdsnvMuB$Sl5mVfC1?Jfa^uz4JZ&G>roPV1To zO=k;)P&R)X$ZNJeyl&gW>$aV3-F8-NJ4*g#_M^)^)0O#WwuF3$d-^~*wr7)Q1$j>h zjq71<3|bcqzKaPrb8^E4shHc4J;-iyx@pL6>_U1Y6dOS>BXgEaNK=yGaFntPM--Q4 zILY+hbLqiv8R!YWE*!YpmtA5(3dbf~GF1Su{mN@GL!i*)(G;MqZZP0mzXKE>w4xu{ z5}->Ag(&p-d=?R)XXW+#SFiRsDxncuu71`?FZ8B$V)L_b&`0N#M?zuEac{BKfum3B zR1}GIF*bVF8YXB{_a~5s2p4GH_X%K)l2IwoSH3fh#|es3``|W;eS0ql`nkvX=G(=i ziqbP<_$fU6e2GJ^FqC9!(~`gISCYY{Ny2yav zg*aZUXDGG3kYDuArKRY@L&g9ndmFa4cGeB@+S^*UpLY(y$Dx~AA)KY1vPrF4sE&Us zwM#5#mzc6kOxYz~gmEc74vo`se0jxn?3k4|WI#}#X8<**`6f!jiRf|q@mvXtxXJ+f zdqJ`< zF7>EgZr5mP)o5zdf(@T${paz?+n3MZ{r3DHM{nPGRa({F$?@u{Urn}yocz+elVERK zsreZ!7q&vrhfpaWKn1roRl%(SsH?0*nC`Tf952X#zIK4W<%j64OcV8K&l{(kJQhEs z>1W??MS7YAMHXQ@d~Vm=kq4Fq^bOfNlbGov|o91AKXy~&1FDvPJv zsSGt2Pc@Z+0_h#74BcL3eq38W%lw$QgJOZ*7IKyG~Q-AghAVZ#@njr*SCVW1CHZB*IDyVcW{2-j95c zJCY9}@Y~49!h=dn{3#tQw&(fSpCnh@I^oK@QeWxUByQp z#)ogjHacr1lLZ*}>9rqoma?41;#mW`JZ)jd)ls2HEttw@#^pi6I2R<0Rgf@NK>{xV zN;0gj2|)yI6+tAKOITyK&0Kg9*T`HxJhaT^yD$AQt$g9x3{O#LJme}tsT=_2lczN* z^NrHPgTE1>vcnx1`J>+04vkGFw50*|&mF7oE zyL?TNI!`)2Wm&Y+^N}|B=+YV_K$j*vv?SS~knB+8<`0I}O2Kr`=jTHkj*ljW>JLQHq%ic zO&MA07>2X+<$<^*yfB`wpKlpI1leGH<8y-xLm_$HC&Tm<;r!w3CE|$fvg5`j`}GS0 zj7K1+@cp!MU6d43V$o1~X1GQ~H+SZ9fnKiV>l7AWUHyb$IzI!(MmY((eOLgl^Y2c`EMEoMjTgU2gT_8NuCMo@kYT>Gn-+ z4EOg)e11MfMLqRa>4I>Ndq>E8qFOD2Fu}aR}PMQ!DG|6B(gA!w@YmaU( zg`L-Xp)I)2s#k#A>vYI1wM(>MZRU%w4_{fVpH^E4kk-%N7;&WwkXi#ug9GI^=+#I; zDltJKE+BS6Ugm-lf#b4tGPeWVz+8}$3_X^!oMV@FHHg>+&rHkZcZ#O#Lp&Yv$EuDmdUqj9@{!s16ZVGXB?HnpN-fqRp?sg*2eM8hvmeu zUNSTnb1Lr^_6&YO>6c-EPW>WB=uC*vMsfRCc28dXpsThBYUq5n0;^P?&c||`TfN|8 zin5jQEmbzERsTKPyZyg^&%jNnqUA+t{Ddz#D{@9Av&@`GcCb*2x<)*S#i^@dn4}^* zGGF)^n+6PJj9Kb$@^I}H^{`~V1MVGNfDACtdnRq;?>ZnyPFo#pH6;=S_QbaN83`lLtF zcdUwAtz_D0DXsEQ#5C9vCov_|y@X$JGa4FuR87@NO=n>l=Q7zyfrQfu{oX2PJ?h-m zGvH$4%7(Bsi7Z?iUlf}xKj0jV=7uX_3u21(VF%at-cfvFqKBAIP!5 zA94g?hYu)mqq)0Fx0;brzsAc4li`PzTXfJO&@6M&TiRZpziC^Kh!h~L7B3YjH@&>n zxPZZEHB<+x>6r1+Gh0b;91+Im3}-?yMcGV5U&T`5^_?~FGMR2x@8f44y`rjX*z7MC z*m@+sYdGH8PU0(vGj{;1xK&&N>}%HvXRjqzQ0iV{-+V8z0^%1F`=u8X$0f;|iT$!` zhcn@H3_|DA_1SEd1v;~@c_%TC7B?b;{HzDr@zvhMJKym8-#cyG>EKQmcY3&UfV&Oc zb#S+dyZgA?!reCRc5t_gyFJ`Jz`X|UIk?xvR&O8oTDaH7y$BXh@*rHAcaJiG7#! zqyI5DJq7zn>JwcPXiA^}Gndblg6-l5Yw_bB5VZmC@UXet*+1nwdhK9$9}NaAoCO@( z?7{=M)-H5}ekQ4F=5uZi>)>(j~m8SbRl&0l?z-9S51-sb4nG!7vva#7~t# z4k&4|l%yWKUQUhI1)mtH`hu;pu=lPW$!EUWZg4xc9X@FLF8F!Rg;y? z*^Abnww~;Zc7suE0J*~An&Kcg&%@+`Vw6ndGi@qMM`M3XL^pfper1SQej zzXVG{N-S9dQlY+h$`2TBHy2d07V!aCO z5}iam3~CLM#m-`lh(M6RxDb)&YL=QW=A3^0|Msq>xlJSp-}NgbszR866hK08KuCvF zZB-7Noc84M0nCV%k+3bnYV>K=K|P;-DP9qaO}ugc85DGa1cXHv(|V? z;le*FAIBI|3GHCg7cC%0HRa5g$%>kWWkNz2+32$#Dre7WEwGinxLd zOAWj5REqbSFH~MEdSC@@^+B>q-brvbLKp5u{UQTrMXS`OQtaBiRbSQkhoQ?W!@ezw zT~X}G5whC>b5YA}xC?=#U8;r0t;NQ2WpN%1uqHg4n6nlw>TS|(!je*l&}F-tojN{K z!ybBz2E7)sI;oz#SM|L6c3t+eE&{?kTa{&lT#HtXQcu?R^{mZmh)SF*92mRyOd<(F z@n#K*X?Pdy4|o!pk(v!&vId}oq_#FThi}n0BPAe1%d{v^d#B_@c7uT+9Ic>9Wkuqa z;?6;Frv%$#qeR}Hq5U=gE81>=-j7{;yX8iL3KUP+I$)^L{tTJlH-`h%N5GvJN0SW; zcV_cNeA4rHeVd2Shr`Xo@K5@*B2e301f2nsSk@QqGqmYHbrF97{HI*R${`dxL&mtd zjeCX3$rx|U1rSanxB*tv%oAU{YCTqSIOPLML(}Gulk>PY`giSlocq>!oLkM~ItDQL z=%VqfnLaRiETmzOfrZQPr0^rHv{QsAIIp9TS()i#zgGHbv^o5?$u|$wpiDRD#NCjGqQBrum0MH|1wz}CQa1`nj~8?HSQ4;a|!6wYTC9?v~*iu^fXFC15Q zyux*73}(a!7y75do!JO7^7r#8JMcg}m^bdL8{V+eN?VO?0+KA~H-6GIY%7{CK`WIc z89?c{2!hTThFGLc>N8tXzc@#|y3d-W4WLtGfh->8g(?q=PG!+qRrGTa3#0u5nmQZ? zUsz--@lS&8ock-z760gp`h0ji&;2}KgfQdrK22xSCH`xJ%HDkH+KZ5?G!$`loP>Wc zk};z|Ogd)COvdg+lnkmDXQZ-JUB}@sE&A^YDptvZmZ4~Z*d^nTRT9SpCC(-$ZvzV0 zJ8YK8no<+8>#D-c7(|l<{#4KK$qjo|Li6H!>H$lhc9K(-eC_uDUGjV$rd05F9aXJQW4t)j)U&=7EPm$5}r1%Uk0^jzSR#r33i^a! ztPi>_{;YV?iMVb1Oc~>VEEHuL+V&PZLX6~^9OVc+8W{n(_WLT#B^8V``<+C)WX1m) zwWST3b*bU83EEZFZ<*pYMjrI>VUpl9?(6qZ{VR%NNhTGc@UcoYVFxjkgtK8V_#2xF Jx!jYW0042<(CYvI literal 7569 zcmV;C9d6|K7C@C&%Q+L*(wa#qVfCEv?wy0w$nCWklBPy&HtG!qCd?+K<5GbPw}@gnI9YG z$7k6`}Cos|jVZCBx1Yy-SAK)e zFQ1C4y?paD+nR8`Fas8m$#iKvd1_eUYDOc-%UYuA_`A8XF0`kSMX--4x~}mWg_9Wz zYM$psU#{3ZG|B$HMZ8ht#py36?_Zt$_Wb0(PoBR#`zLZs$$cRAHS*KfFJ7L!t{|pB zOf}-yZ%*F5JAHeG+(~HdL5;|bXY=p&F+tIIG5>77C9@GbT`cActM+m_Wg{{*DS`f* zL|mxEB4ZU8$!kVdn)m4ezIJ$ zMI_phFzOPjd;N(lOdm>KuxPcInF)WQO0o@W&+@7gs+ z01Gpq&ynLmu(0OO=Kwr2T~}{zYD-bFE{G`bD5jnd;_zuc2~67sOtE-VLeIuC_>8@n zH<-Dz!Pu?WXK2)zEK?}5$j8|^y15bmLl1mjkSp;W`@mY}@vl-v4#ZcfP}m+YkcqJF zF#!Qw>_U`jtt}b^dM+PB`51`D_mf%F6MYL}73(XnJXBiL6H#7py?zcgpsIM9lzr?m zsBqAL2g}OkN8|iZW4ZE)dZ$vVtPu9qoAjG#iLbyQe(CxtfW%6)cC#I*F)`-%9`6nd z@R*pB*)k$C3j8ugh$rRD^NLuY2^y#3Tqu!_5+MLC4U0%Oi*V2+_@`ev=}BXCTQ8*|DDlD>)_a&oxx+ynn^*ciSEuT6-q$YGgyO8=QH>VFaf`S$mQ%1_IVb% zuxJvEVhxfC1)4{6P*!G>s4s~;^EXf*Sq6>;TYp)X53eLX_|mdw%qdB9$z@aM`+Oxe zp)IRrntP_EX%+2Uy|PuwW--jxOxnk^UbT;sbFxn7T(IAW7n&`K<_f(PBM?WNxZVj+ zit4BJQg0{Ry-9i=aCCxXH8}_gW?2(VK2FY6m2MXrBLx%&`aX%+OUNao^wQ!}uUuhW zDpXc;bEG$x@k^vdnXN8;C{&Z`n;RRR$lsi5@%}`nE5@~i)N7_Sn@1*@0rw*|0(L_K zVwbO&yDxM1H{~vCER?W3d;j?OIQA(aL%(hxYwn#U85{h~xDeYMcyUQ}8_B1N+}yQa z_Z;C71YS7})GgTG7r!moa`Gp$tl){)M92Ox==++Z%7ue-)$&2f!N~%S8J5N{Ci3Pl0FcRb>B=#}O!vWV90l`<3kCcN|0-|vcG9-29-W(Jq)t%cos9G&p zFj6dl?&lp+(feerx>)sm+}kljgo@u&IgP(mJCn|T)X$CjDZx8c(A)HrOGaKAZc#+z zQ4^IW%Ff~%dbnE$JY4QVFPvfW7Wy#umDRXR5ze}C{ z>r~dbo6af*+(~I;F%7Pntp~NThfPq-)|QIdDz~zbji*aWYGX4}^P}l& z>w!#cYj+b1Tq)&<;a9UHv9XdJ2?ulw`(tVGPaU7$MU9OO7WSTs99!5&jlF}$s{Y^3 zz-Bb|0)9=Qv(qY7PvfEVQ=jP}-i4SLc`bh80e3P`UNSEfQ_JCToq8`ni)CJ*yXm|+ zUzmK#70LOMpHAsZxG*emp|AD6ky*BpV*s?I?)C2F3-||+K|y4PR+*2$r|{>W@t%!v z+0S)Ap2m1G8gmNNugXGFI2-a1g*d1LvwB&~!b)w#B)zUeII(>hb^3v@%n)GKdmu3D zZ3$)>8Q?Qs7gniTk`;mU2Vfun37FTfPR)s&^7P^d_!JSdry-`|uHt&aXskIo6)5`M zgQ)R{qF)0=e;^Pwz6FZLp5Kp(mOnID+8e>rxD74sThJ24!QU^_Ir$5tzn!4Vl<9v~ zzCvk1VAV5PES9fsqs6_V7AI`c_~4Ej|2X;I z-#(nYefj$Au=(4wf1aJb^V+UhY)DsA60r|tA&1}$ooA|BR2fdQcT9#(-{~CoTJWve zZ`wy)r`?3_hy7-!*E(#s+8uam_1k=*@Sl^>uVi$}*R--6rpqiXi_e#!!NB=96m{qz zD9=t)zF?IpOaB4uKcP2CGzxgVes*TNjG zg$ma~75)UJtEF(@ksA=!M6Kcbz#~Ho-X9-#`A@hkUESfUYlU>D|k4&7jW9eSir zi>=?^50BGLXQ~>+GgKwc7Aw9l2)dQ;s*2(#Z_mcW4a=6&g~)9mb94=EJS!BkGZ=KA zP>%A*t=H-L^LR347N`r~lfo%_2)V(HwxcB{UVH(3|5`$7faQYsK3(UeG$HoOb%sEOAJj^7O0vI-j_}vl~ z7E^d$jwfOCb}|}A?`O-&2-L-b-q*+s+a=|6?T${D@XF@<9^nriN)N#wa*qN2_ES&6 z2T!4;JP0a&r^9x?ll)GH-F~kxJ&mKjW3O=*2ky{UVqCbSyN3DB5`=pW*Yw6pwN>;f z@4R=i=_uv0?3q_Aj4TH={s0xxJIm?-*h0Fb(@@$JDKp<)Q?g7>+C*l7b7i)w#$ zk@Hs<%3ob1{;JyL7^p3bj@>VH$BytA3hhE{BR3Wvm6P@G5%gFv9CMGeKNc2NCg_zX z=;EG8z>Z@-wJ*PFNxS7qJGh%9l}>Trkl(emo$|D8+)2`QlTy1{!gjyH4{pnZGLe>` z)vxe~TOvW2HZaUL@UUOuCm$wBRRhC(`t6zI!x&yVv(2eovSS!bxNXOdafWy&*f6Dfi)ayKQ5=zP|%fIxX>oyRB z*F28BX1p7{)7mjX)7c_H=ox~38`2#sAMRTDaM#K+Z`-=FV%<^lFSB=B?k_gypV$K8 zp&CCz;6m*lkCqVjgiyC0=3vmeVennds+Gq!T#kyN4LN||Ca0Sv!HrdjZiHeZ@MUDk zlJRIN0vw*CD!>uhCEJ3v>AmODg5T586Lwt~aJ7fI0znE#3~ZPx0NTF!TFelrWbzmX z&{j7Xgb;rQC_a=#Kj0)l8-PM&`g}f%2z03V`u(d{2RtdE5nC*OQcn-Ge%c@wKQ{(_ zbk4aa6xJR09?KSZ@@a#LEU_-frPj5M30gP&3B)172A1!U1Two~RLb*}@eJc}f}+$u zjviGl{7IBb&&zX3x2#Z^SKJ53pg(;c0o0-3 zyXXk-LyvbK50xN`+wjjn2$HQDTOy$GxY9x!Kqr`Pzy6-Y%Wvd(dk#2bS85OrD?m-2 zvZkXL6)2YNahH13s)jY1f*MUBEm-qe)_?G?u%5xy>RC?lrX|{AG_puK?d~21N<#NaBf*PQJ*&5 zK40fk@dHh6N#&d;n}o^*P@Fkg7!vlyp^*ByW73k8pCIW5f;=Op8xN+;sLsOzp;FSj zEEu3Nd%B&*&wBGF6nbfK7Z%f)#fv+#xWE_v zc)&{riRdyu9WXxGB8KQJNG9tqb~oC_&k(eH2Qdp~o1+$1x;QEnkp)xX%(&V~80VaX zv2qf|%1Pi^Ku#r#YeEo#ojeGmGIR;+?7pE3&tiwr<-_CP&2BRkWeZ<;FvBAh8jrY2 zQYr_4u?ShPL6xb!f8_E|Q48Y-HnUk!Z~;pf22`9)oH>_xSHJM<7~5@a?O)}K8SBg{ zh!H=8IXQuuAHVGKMMdiD<@iKmQBBWB+U%oC>kt8LT<1wE)_Kxl*r&+NAEK<~g6VZkzcPV>k^PDjy>Iab=mn4(NuorMPJ)oWB zlfrYao0V zh~!Gv%kLFW*01DXL>43Ng~|9gO(d?Hu~P4@c~h%21h zV3-PjKe$OFWWzruJIRe~Qciplp()ENab$ztrF1!8Ehx*CMsE{Q8A1mKG=}E{y&?Q* zu-S68V9%AW1)=D;h?*qpX>19e@}z#`hIywFO5nGX5dB3C^0Kum@w6(ux8&*`GR(Ns zzHq0>(C-t}j|&MW)2S})hKQmz1Vhq6&W#F{ZbQi20ztB?Yix8oE^owdnnq+_0l&ZQ zX1yxw;BT-F+k}zj)`8{*z(fFfU+Z8b`c1d74*qf09}+9DTz^1aR5@3b55!91uy8uL zD#SSj2Px-eLH(D%J~Znx#Qg&iK-zHKO38|s@RNW!mYX&ZXK!tEz*KB zo|M9$wb(5+_KXcJsA%L?!*XI+FBzJPIh8jH2PJkv=~u}Bo%*F}gzkzDjEkGPvYYba z2VJ#=Q$y#oC7@DcIv>e#ZuNqXDau;LH#%9UUi;VV;Qs&qHB$l~&E=h9{HQKDDRN0B zv&@u8cCb)Ny4H6x74KXvMVVA&2j&Yu10+KUg?%@HXHY_sqx6^7GB(T7lNji zGd7C_WgJMMDBcTN7`G%UjM$|7y2g71SEw~XB}eIgVv8mF#=|AX|F`jyI}eu#8 z8hcbpHM6d>u!?h;Xr$1G(+OpdLzLwzXMAg&)26`1#FYhZY2sP9G`>_dS$@Dd8qG_t zPc4Wk)`ua)f{0^^;Xxc4;pDvMnoeEdL;1%96+2zz`$iG$|;KHX|YM*SKuA54ZH zmTu8N3rDlcL~n_`Jb=@-9uX-(S}9&CP;PqBXK4&riW;f`HT}wXOG$7J&2YvOQ$J=r z`Wlu3uWzh@m&tUqdLKV?=M~l5k|P)7`dW{~*Yd_&+ev&oZ|1sO<+qCaa(!&1SMO%8 z@Kt2$4qw0g4qrvYFY)y&FY%3YlDGK!Raf+8{OOp4&Zn!(*)mIXY3+D_FZUMLB7*#+ zd)e_d*u=YD^SjbJZQSYLP8WB2xO0TNHtssO+r-^N+->1*8+SXn+r`};?jGTuje8F6 zHF56{_gc8u#=Q>ib#bqUdq?=l#z$Rz)Wb(d*s*Q+IPhu0=MX+E__X2Efln7cJ@^2f z19T41IY8$Coda|Z&^bWo0G$JL4$w7$t_gI_CT{g`>j<}P+;(ugiQ9*`-NNlQZg+6I zi(7}d)jbFB`*^N)M*Hy^qhMgjeV6p3|1mf}2Ye)riLMDW?VtdME}tp|@Ztw+@#7y5 zwIJQ`adW?Oc+R&YTfzPz8Vp)EOE|Q`8xQDO`_K}e2AG%JWBc|RDA>Z z!94mgJjbOl!uIzAD?~V(jGt4qA<;-B@-4o5nV*AkV~zG(Jp`SZ&kCVyS-x99vN$4O zypkP9>=*PGj9kcbR|2u*(Sn=>M_RHRw%@U#oTl)8az$N_DoTp$y}2MJq^2Xv8KL!> zb17oWsAMO?(|=pT{>PJpU&+Cr_Q6s8>G^eQjh+-EcI!$8B5b0#^(1eK6@=^<|#G9(}Oo)q<@Gf&bRJ zCAn<8DG%1Y1Y0+`nlf-a%~ma0*qptS{AugSp{O=L0t0$$TwGHe@<7%}WTNOHqxF6ISB&(gp8WE8|I^#k_o~v1EzL<0R zf9+jKbDKyMzUx;=R7If&qySptfRGNUnyMToIn7Ds1DHn0Xt5-F$}YiwpZ9uWwdABS z%OMven(o)z+xnw<{UV+KV-x1f6uU)+_xtru*EC|hp|BG5CYLEu@ArR7U<)ptRw;~z zNrkY+tTq<*f}F#8ybDjX!kJ8F;Uz#+6zT?#FlUjW)i-?r0S!%CRoo*G_mJdN$a+T! zJLLk{gxzItLVsY(Rd$0rSU>_zgFeD#1sDEW`8>d&N@xh9wrBw%>M46Vj~20^YZi2) z0P1ZP^6Srs2YUPr>H!Azx zrg4#xvx3D61AXu*sPmRt+U25x&B(3Gz^OL*Fv=`0Ey~@Np`Fas@7d-CFI&7E@bUl` zFP=rfd13{e2>Alpic$B7^)QTiVc0iWw#~8wIYV*FV=ijG@wYyZv~soaxVG6?ZY`!B zHiVZFOV+GLyiU1J_f^vMJyab@ny&Wzi#7RVf1Q@H|7EerxDx$vufsvD<0L7)f!IufYQ*^ z`Qsm6$2mW`j&q82T*LlF9~`uOCCev68hR8A9K|EL&vBug0tCT%6Lo4*!>Q`0-um?W zdbfV0ddzfG%ym?JO-HHlYPlD7iC!;zr?`Sz;-$hr0?pEH5LgBY_v1` zlLN`q$z(K@>9*6iCz<1n8On$WH~o*9Gqw<8wwqqA;!7o)``m#*mlQUsG`GLnLJuC#4nk)3F z6p%>^AQK&9o$|nocesJ6BLg(U0P$xyAOwrz?Mi@|k-h|~41-0G&qkClTfq<%5uTx( zAOIssWZja0yieGDmT`h+B1tlU(smF9oiYqDORChzmZW}jje2pP)@n0TSsx3Bd84Ys zniE-bTGV_gU}124L`#R$fIu<~W^P9AYnVIb%wI6B_(vDi<Ajn-b@L4NyQc&b9V(?C&guTOl8LTfQDZ48g%#1-Wj4+OvO2d?U_9%z$g^k>+ zMsBKd$8HPGC6DJ}It5SX;aUXG<{9Va#w`<5HWS~_sL8(bL)Q7o038tH7i0>RGlNR` z(vcEgvtx#F=Ls4iqI{gn5-PjRnk6h z&WmlR1(zS`;c0yY{n$LgWV?@^HtsV zaU8@}U5kZZTC!CX+mMzh~xu#Fb{uU^{OpqWbzPfgHni(yL@w=wd>?dYdr ngv+=u-+c8i%g#9&7L@#_BG-@|#E=uthhFDzzQ1m*zn=gAeoDG` diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index e52d155..ee60dbe 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":86, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","readUint8","ByteBufferPrototype.readUint8","getUint8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","readUint16","ByteBufferPrototype.readUint16","getUint16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","readUint32","ByteBufferPrototype.readUint32","getUint32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","readUint64","ByteBufferPrototype.readUint64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index b10a472..37eedf4 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -467,6 +467,16 @@ module.exports = (function() { return this; }; + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + /** * Reads an 8bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. @@ -488,6 +498,15 @@ module.exports = (function() { return value; }; + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + // types/ints/int16 /** @@ -617,6 +636,17 @@ module.exports = (function() { return this; }; + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + /** * Reads a 16bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. @@ -647,6 +677,17 @@ module.exports = (function() { return value; }; + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + // types/ints/int32 /** @@ -776,6 +817,15 @@ module.exports = (function() { return this; }; + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + /** * Reads a 32bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. @@ -808,6 +858,15 @@ module.exports = (function() { return value; }; + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + // types/ints/int64 if (Long) { @@ -991,6 +1050,16 @@ module.exports = (function() { return this; }; + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; + /** * Reads a 64bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. @@ -1035,6 +1104,15 @@ module.exports = (function() { return value; }; + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + } // Long diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index ee011aa..92621fc 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -467,6 +467,16 @@ return this; }; + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + /** * Reads an 8bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. @@ -488,6 +498,15 @@ return value; }; + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + // types/ints/int16 /** @@ -617,6 +636,17 @@ return this; }; + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + /** * Reads a 16bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. @@ -647,6 +677,17 @@ return value; }; + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + // types/ints/int32 /** @@ -776,6 +817,15 @@ return this; }; + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + /** * Reads a 32bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. @@ -808,6 +858,15 @@ return value; }; + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + // types/ints/int64 if (Long) { @@ -991,6 +1050,16 @@ return this; }; + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; + /** * Reads a 64bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. @@ -1035,6 +1104,15 @@ return value; }; + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + } // Long diff --git a/src/types/ints/int16.js b/src/types/ints/int16.js index 6795a11..bc609d5 100644 --- a/src/types/ints/int16.js +++ b/src/types/ints/int16.js @@ -114,6 +114,17 @@ ByteBufferPrototype.writeUint16 = function(value, offset) { return this; }; +/** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ +ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + /** * Reads a 16bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. @@ -142,4 +153,15 @@ ByteBufferPrototype.readUint16 = function(offset) { return value; }; +/** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ +ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + //? } \ No newline at end of file diff --git a/src/types/ints/int32.js b/src/types/ints/int32.js index 7a6fdae..7ae48af 100644 --- a/src/types/ints/int32.js +++ b/src/types/ints/int32.js @@ -84,6 +84,15 @@ ByteBufferPrototype.writeUint32 = function(value, offset) { return this; }; +/** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ +ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + /** * Reads a 32bit unsigned integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. @@ -104,4 +113,13 @@ ByteBufferPrototype.readUint32 = function(offset) { return value; }; +/** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ +ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + //? } \ No newline at end of file diff --git a/src/types/ints/int64.js b/src/types/ints/int64.js index c9b6687..f930a29 100644 --- a/src/types/ints/int64.js +++ b/src/types/ints/int64.js @@ -136,6 +136,16 @@ if (Long) { //? RELATIVE(8); return this; }; + + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; /** * Reads a 64bit unsigned integer. @@ -169,6 +179,15 @@ if (Long) { //? RELATIVE(8); return value; }; + + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; } // Long diff --git a/src/types/ints/int8.js b/src/types/ints/int8.js index 86bc536..37b0eef 100644 --- a/src/types/ints/int8.js +++ b/src/types/ints/int8.js @@ -94,6 +94,16 @@ ByteBufferPrototype.writeUint8 = function(value, offset) { return this; }; +/** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ +ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + /** * Reads an 8bit unsigned integer. * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. @@ -115,4 +125,13 @@ ByteBufferPrototype.readUint8 = function(offset) { return value; }; +/** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ +ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + //? } \ No newline at end of file From 2dc1b6bda785cf9331050a5f6dd5e48dd3fe0d2e Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:19:04 +0200 Subject: [PATCH 46/91] README --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bd110d5..b1da549 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,10 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- -* Two API compatible versions, using either node Buffers under node.js or ArrayBuffers in the browser +* Three API compatible versions: + 1. ByteBufferNB - Backing buffer: node Buffer, Accessor: none + 2. ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + 3. ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) From 8492a165b1f2938f39a3cf60cbf557aee090fa45 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:19:56 +0200 Subject: [PATCH 47/91] README --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b1da549..ae8af98 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,10 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- -* Three API compatible versions: - 1. ByteBufferNB - Backing buffer: node Buffer, Accessor: none - 2. ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView - 3. ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array +* Three API compatible versions: + 1. **ByteBufferNB** : Backing buffer: node Buffer, Accessor: none + 2. **ByteBufferAB** : Backing buffer: ArrayBuffer, Accessor: DataView + 3. **ByteBufferTA** : Backing buffer: ArrayBuffer, Accessor: Uint8Array * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) From fe49b351f69c964ffdbe7c969921250e6d2b2368 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:21:03 +0200 Subject: [PATCH 48/91] REAMDE --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ae8af98..a255375 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,10 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- -* Three API compatible versions: - 1. **ByteBufferNB** : Backing buffer: node Buffer, Accessor: none - 2. **ByteBufferAB** : Backing buffer: ArrayBuffer, Accessor: DataView - 3. **ByteBufferTA** : Backing buffer: ArrayBuffer, Accessor: Uint8Array +* Three API-compatible versions: + * **ByteBufferNB** : Backing buffer: node Buffer, Accessor: none + * **ByteBufferAB** : Backing buffer: ArrayBuffer, Accessor: DataView + * **ByteBufferTA** : Backing buffer: ArrayBuffer, Accessor: Uint8Array * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) From 5097e6a66592a4f65d204442e98ef35bf1d92bd4 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:23:24 +0200 Subject: [PATCH 49/91] README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a255375..428af95 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- * Three API-compatible versions: - * **ByteBufferNB** : Backing buffer: node Buffer, Accessor: none + * **ByteBufferNB** : Backing buffer / Accessor: node Buffer * **ByteBufferAB** : Backing buffer: ArrayBuffer, Accessor: DataView * **ByteBufferTA** : Backing buffer: ArrayBuffer, Accessor: Uint8Array * 8, 16, 32 and 64 bit signed and unsigned integers From 59093e1611c4d8192263e4c30dcebcaee3ce0844 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:24:33 +0200 Subject: [PATCH 50/91] Versioning --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 97c0b7a..c90865d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.5", + "version": "4.0.0-pre", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", From 3092648473a9b6f0e463433cb3db59435d5efa8d Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:29:33 +0200 Subject: [PATCH 51/91] More versioning --- bower.json | 2 +- dist/ByteBufferAB.js | 2 +- dist/ByteBufferAB.min.js | 4 ++-- dist/ByteBufferAB.min.js.gz | Bin 7591 -> 7595 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferNB.js | 2 +- dist/experimental/ByteBufferTA.js | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bower.json b/bower.json index 2ff1506..7b12fc5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "3.5.5", + "version": "4.0.0-pre", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index b8fae43..a855861 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -119,7 +119,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.5"; + ByteBuffer.VERSION = "4.0.0-pre"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 9f143be..097a299 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,8 +5,8 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof +a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 8a40bd74bb3d33d63354fbc6947967629e2187a9..79cdea2fca7eedbe336e1d109361857198bbddfe 100644 GIT binary patch delta 6442 zcmV+_8P(>eJF7beABzYGQpm9engV}q)f@H3-eSqB?x_Ci<;lsbVnV zv*Q*8+;ci^UXDE-%`FP9Ea}yJHugSUTyR>uoVpC~lE&kemzTl@!fQ`u$ zL0M!vol_D)2{A*IvMTEHqND;_6m0;3&SwCh1IK}2W7VI}!T8K{eZ9D-u0(&$x-g=^ zqnLU=h{WglB&YzrK;d{-fE}2@XY9rN!3&oS#%`^~(5OCHrRK;cAK59oxDfvX1->lF zLVU+Quy^6{uTo9+#8;_QxG`9OT!b}mAZ0ZvhPs>hNIOx$p7DwEkNA~Op7vPOdQoOxc+9%zEbp*R-| z(qRw+;6h#u1V>^}%}1csmq|oJ`x2K>T}Pu{6{v#FDY(B%)rY^GR<(a08yq3|&%{e; z7DcWE3)vqzn18T8bO3)cBg?P(a>Pp=OjMr*dVlguPX`H@zaHmcUhsDk2zo}=)2J^U zk@7+BXRGyMF<(aD(Af-JGEk;psn&etZh%(Y1aR94S~mB8XEf3X9J{m=c+7b;DQHze z?z~c=#PE6+tJCRx27iCSOu#Q7ayegweO`nvESf~4Sc9ZOf#wn2Fe}$d)R#n_`5S1D ztOLh_t-q|vhgZ@*_|m&(Tq;R)$z@ZZeZG;J(3)DAmY!*8+Qde#UD>8&ix_5GCVgbu zuIfk0IoYODF4%9x3(X%zb7j31BM`SZak~>kDVm?QOTC@&5GQ}3JlN3*lFj5sNHEKu zVDfQts+x4Q&{(NKVW97mh`oeTGDr$bzTBsu) z;EDXrDHre0WV&WtOGvF+v1jwBLT14Ih>d~W(1AGYE0*rd(*4Uymn{}bXfEDAJUoo! zN+{5;H4e29Pm_O)OJdHrl163V#WmF$NIsR6=5G9&=ZJ_P@XRpKwqSQx{I+DP$)C)& zgC|}S9s0wd?`y#-7Y@!<+Xp3wKnpl#*&4&3A{09o{yGr_Zc02&Ea3f;ksv1_ahz#R z30z+!1@|T&DF@30MB^Y7NNUclIVftXIahH|^;)oCtXO{lV~l@H@ynT#D00k@ga^96{V_H9X8zWC)Mee_-i0#1mr9!v7|jdcw?5xUovj~T zpA~a%tk4NlQZ{J5dB6FW%x|q9PoGYMkQpw6u=)wyL>XDG(gB_;LD8L4?dIj@!WzMsoCuwhtWL*GDtp@BIDfXLOn-mNT;zXt^rWO-5pwlt%q+(8@IBgjqNOH z!ugcfD9$2&na;^K%rviM@G26&Xy&Y+X71(=^Ge0Z+b5QyATKK)D!nO6%Yz&7{a)il zF?(*DTE=YA_>ke)JtvlTuEak{#&_%BqNv237ASFVOC|1^mH5Sc?N6DP6%bvL9-x1} zze{&-UC-ZVv{nVxY2eK@V=_#_PDx7BTkPMx^)7kH};9IlbY#el*b`!qu_nVzwYroxUci^ejZ}Y{^ ze@@1~lJPNLr^|9B%OY)?&&{C0!1;dnFs=Z@fk!StSQE8|?*oqvZFqlp z*yTTA6JE{XD~5%1r{GSj9KOlnl@6pBO{W~g+7~FXst6<_AVgSDQg7F3Bj|rlJDFAKJxO-*1JUw0;fXTLXt~Fh37HQlrK0@9u_&>25mJ4C1LaoGjOTuM?1! z?-q;VCvT^Li5r?00YcsFLvDXvgA30Nh3pIl-6xb=dF0k=bn_*gOqmVp!uQ#5h#o?2 zaG~we$%z+V)ZagsCN;ov5r3a<@?uetHSlGgG9@V#H$(A8k<3s~T~y%Z{gADGKz(BP zO?Sn7Mn?C!otE;smearmgP4ny?s$k_Y6Wm?4q3V_Tr8&Wyb33y=;CEuIcr)>Z>3rr`Q#UTwk(WPC7+qf&Hoe=JhesaO*QLND;G<{xTT~G|2T|c_z~O zs}7>ywY-)@lssQTILsM2wv~|+duz8aa!I_pD34bcxp;N)#Ir=ex<~?6wRJO4`!bzI z-x!V^;4#$Nh2%!=mOL5ZnEdFt{xdC6b2F>X!t>ErAfG{R{K`+wYfz$@>Ya z>R*`eU$b8lJU0_m**`1Hb=bY^EeKh@%7-H)-@5D&K3xvZ2mTo z*KB)u-L{9E!=N0)o1EA!863HcEB^nr40&nD3d@}3YH*TdWxv@RHY z7ZYygY$(Ug%Bh#OCMWppVWekA%XS^SarS`#X6#MpG4)k-6^Ub%5#}%b##_&^k z`1ultUSTN7)TSkW*RLdlOO=2`1gq8!;&#bW%%e=)WNSkZUMSC$3U!eIzYB4^SkF*u zdm+E*pG!;8hlh*-PWCozZSAZZ%8^OJb>P3T#Cygg?*<5+4C4oj?>JU&i0V^o;2EXiH!QM=r( z(bRvc(bT2|8$QkY&*PJ~FQ32r?fE~B-oEpyw5q+6QsEPhDK6M&fc;Nekl#QL|Z42my@?14_PZSv8jHAsLiO?GHWvO^)+p~%f246T)d>7LKehc+A^O$>j>N5}2N zs^QQHlFYCAg4dZTSHH0GUCQ3cJm*V^`az&$%YY}(moM1a^yGPxM~RQwH=HqTrlUZb zGP2Y$4Cm*|193}uVLV|!-!gs(vcdYs=LQ#sLh`y#hUqE7`NP>u#1Y$N$Bj$&>z4)? zk3df0`)TF6C@G}GqM`K6aE*V6Ztl$I0=-4RCZ+m7 z`CYmgQag2;Hu4@>JZRIm;w~yWHxdIHL|j1Zg1pQHB?8A~>11vPxPiGKB^i1wXF10%?`jaS3!a&l%kLC#3n*n^M3!S7 zgvtCjMG~6}J$qJ?ilcvF9HR97iw1Cs5Tg;(%%m*v=sS}TuW?Z zmvYjR2#u+%B#sTPFQlvadP!NXHhPta$_zT#qp@`!$Fd69Po2$H>m_@xLM=!|$3>$_ zvXRD?wo~3dfLxXjDxroMH&w|CYg`Byv&}MuS|!n2awicPX5xQoU&Pa7==TZg$CZpG z(`g}#x+EEr0dj6s$hZq3bF&4>uC8gItL^fo_M4^|**)0r`#npt)I0c>c!zDqY|Y+* z=0?Co0(o2Skmxtv#yj|j*>Fg#z;gWoby4X+Q$7(hNv%*~DC zn-9y0VZCH%F6LC;E$kWmg3>R;0G;|pj?kG9p^f79vFx6__(4}~5!BH6Yz0=SKAn%{ zIJbJi#}s8N<6Ek1RIC1bws-q~|DJ)HP({m&()bBqa#rMwOlFxmk?dfh6m^Yw5{pw; z!!Sujc4U9P@G~|I7|Iy4)bYxw^m4ax3!fSfoNf`tZFkXW>NsPsSkT3R6pG?~r-gA# zqSA=VlppI_O|*d{D|dGqDw6gyTdvsS;Nrs=E)hN^f7`0!p}gE~>ybLk*Vn~+bjh7E5!w)OB=%7WQS>~d*w7ook)3zQFDL`5+ zUMhc3ZhCpCaRGzTYN!rW(=p?tXSR~yI3kSA8P0@ain5uAzKW&9>pN@UWis8Y-p9{8 zdPP;&u-RWOu=PlM*KoYGoy1oTXYK%2ajUol*w?NT&R$Ebpwzv@zWH8a1;j5V_De4& zj!Tj^6Z>V?4rjvY7=+HJ>$BM^3v^~*^G<(a9xZM}2KiYJvg510iFdx?cffbrxYNO% zF7EVj=Kyybxa;6<6L*8Jy z_YUwu10QtpK@T4sV5iZ5j{~13eD>kff=?Sh9r$$N(}NGdIRNJXoC9zUz&QZt0GxjV za1OvZ0OtT)6X2Qv*KFce54R3*yMfydZZ~mzAGce$-Nx+>Zg+8OAGf-vVEsOximlO* zK*wv0f&mlzF6l@AV{m#3_L0;lx+c(+KmlehpD6{~#Shlv$3Gxy1K#0bbGNg9%6IhI z!R|g93|cq~IJDV?2XL)j=m^JwXZ3%GG*oyR44MVp6rls9OL$SS_=@@hfW_}S4l=z{ zzigm`VJ6Nj>5{r4_#SHkPKCG7MWG9wo$Kia2~}vPb!i??yWk?(POQ zLpY1Z4=TC@X{3;Ro9|@i2Vq>;quo{y0X6eQA#^V5cgsv!$lKU)-~~hel97K;^4t|( zgX`N+u;55bRuk@a8ck_9@qK?V;*fx%0H{b{hvt`8TQ^=`E!e6o@ZVZjpv&G@)} z!i$fmF6bge2KB{y71|{_iFg>)8YGLI#TpTTAcJusBG1(<_5ZhbEzOM@LHMp;AyKs~ z6Oa~=(0V~ghpkH09jr>5s{IwE!io%1phtV^WrJXc2Y?WdqDzbdS3mSkC`4^ z%(;CQZ-B1}b7iX4B9jxF+f8n08ZlpyS&4d=%ao|=`rnfT7$5;9lO-5c4Sv77qx-L* zE^wC)eesir7$E}v;FGEtJ}F+vaS1sV^&IDlxPlBz4ZHAEijSHvR9-B4UizTI*oK?RB@Y#lJvXn%&xZ=1sb>LcJzjHAhhg*&tPB0lMPyuHms=)>XW zVfY7qS`nyiE`rX0Ni6G&_8HprpSp-Y0sd1iV&xEuogrh~+{V4ax?}=5ZYZn0#{4_|;4wm^>EJFv!5d zWq4BfkyhF%LKK|W(a5aKbg^G6{WRJfe%<7o2Wn8JqbS!=^qh`T@zwI%d<>#FY=l^A zE2$Ke6eUV|r?uTS*o18zd=Z&+!itwuKiNfz`QKWQ4a6-_pvyPke<08RxH=Ytm2mbl=s z}-Dl0x2GA+8Ko$@4LY0R_r?Tj*D*B~}h0*>2O&tz{FDx>$mG~z?ch3D4 z=Zb%HMSVUzp67miJEuDaABzYGy~MEwngV~_uea;%synK`dUR3slx6^=E&tCp_^6a=p z;r5)4o0nlvM{|opD@%GcpN+jw7Z;q)E~hL5yrkiH<>e)?f$-Xs-L8+8^RwrQVNe#C zPUn*~ctbtP)n1rdJ*9>vu2 zK^#8MCqV`11df0Zh-C%#IB!i~WKWFoA23tIvF{SjGCv z8xM^Z?L?GUT&tZz3#h7|CUt)wdJAZ9P=^QG&Xq^w@=$%X_KA9@FjY|q`|3^lP4vW9 z#vp#_`l$hlm1yH;38*nK=JyUKhYj|aR3@`kL}nEDWsML=<;?Snwm=g!4#l}(kPd?o z02lINAUG0(YW@MOzDyz-+LyS4>N*xN?emS)gx1u`wDe3%(0HhUTD53nk(zA7=gIOiQAnRO40nZUFz+Ghc^l3!H$1UkZdM5LV{WL1e1@G zQ`Mxag~mz^3IlzgMC>J$l2Ll;@u_E4SeFWw)xsPZjb-8z=}~6uGao9|r268b0Z-&_ zPPur0CetKPP`k3H8ZFkyueargqE_q2jkx zPV1X$XF~i({k&8^rSVP`bSwRQFEmk?4JAH#If+%&deqU&byTupOC^oTpHN(Lp-$&V z^r6;Y(1|wh)QLJBP|_wQxG+v*P}`eQsH}~LKt$S75<{hbR^ZKq8 z7-M9LU(SD&M3G~LBs|dl?T@L+H}kjFqb}TLb!`mC69 zV}(wblCnYb&HK&2WPWS?c>3JBQ{TMb1a)q0sm?94Izus@E-9&J&PdGz%6ToJ$*num zr-%52?C zn-z0ztj-BjQZ~4s057$;oz}f-wLT9;yia1<=C$~VC;iDVzG2oXhL(f(I`mF{j;-e3Aj?DB6j|^E z2J?R}c&CA|>E{~Qt9m#Yha3X+%ZiW?&Lw4tN*rXcbiJ&l!%Az!5&~U=aN;pD+VtQC z0eg28v-GyKav2%m^KqYSV=R*uf%FGpAO8uM*DuHBK#mz-`~aV#DeY;dRB=~vJz+G~ zJY9(qwH~eL&oHKWZ6j(uTG6Ym=zD1{Gg^Oy(?G>&Nq=lZYCU{Q+PIY^ZER;r6V9i+ zMsXJL%XCh@VWxR4gIAIGMKfppG;=q1m{%%J-afGu1$kNdQ0YxkS{~ep@An!firI7H z)G}s^#)k~Y?m4l%b0z*sGQL{}7eyuRv_Oe_TPktSti&(oYk$hTtbpi}^Z@<+UAljJ z>w5k^qs3xP?lxN7D{67V7mX3_sQ%BR|NHI3(c71=PxhO?J^RH z16dZw^b}cC6;88vNQO?|>FoDf@U7WzHV(Q@y9wX-`^`?Twcl>FJMh%%xB24dKPTf~ z$@rMB(`C7mWs$bc=Vs7g;QR-w+IN2t)YnKcU$9cl3U8Y8pFK!<9CXo0q|(rh$E73R z%W_GhWe_s4JgDXcuH55LYSzM>Sqqg}3sue(7*~Mdz#|tRtchB~_kl--HoQMP?DC(m z39shx6~jWhQ*ftM4&UVPN(WMmrc;h#?F*DxRRod|5F#unskiI25p<`W&*Oh$Feq-< zX?8hG3zY#iQ=t7)ASVTCmI0+8=~6B_%vz*CbR6}Af=d1>bULS)nrF#E+j;XL7TlxQ z${Eeo5A9;C@3%rvTE7PHt${-~n4gCpsnKHhcXz|XbSIr^2JuuIPL^xF*9pkVcZx;v zleg2r#0^c00HN;oA-Ar}LrpyL);rnbjL=Pc1xX^a# zhGURlNw;Th`&!ad9f(S8u&6#nUWNWo1u84NMUV?h<%BzW8nXA6W-Hh&w)YqmYS zZrj7_ww-O=c2;aVO8#Z`qsu+hmHB73gnWp5`an6hXOn0Jc~1z9>tSvTS{DqyiwQS# za>E6wnA?y&$Zm4FX~=HuLV6<<8$mE5bCygw4xu{5}->Ag(&p-d=?R) zXXW+#SFiRsDxncuu71`?FZ8B$V)L_b&`0N#M?zuEac{BKfum3BR1}GIF*bVF8YXB{ z_a~5s2p4~7-uDS$jgnC*&sV-PjK>LzQv2XGihX-82l~0k`R3cjql(fqWB4gN{CtT+ zuP~HkYSWUx>sOM&rAj~|f>rAVal2$G=20eYvb7-yFO=s=g}TUq--S3{tY;{-y^vq@ z&!wg4!$ZaZCwm*VwszJH^4i;4x1VMaDLoF2({X%x#dYkMl{aKSP@iW2HK_R}O2Ucgar*IG35vMN0Q!4DvM=OYn7|)= z4gZ!4EzgE*7C)rr3M}U|+4^D@ zKyi*{VJy-Y2VLrCsYy>_J{8jq1b9YFFFk*3Gov|o91AKXy~&1FDvPJvsSGt2Pc@Z+ z0_h#74BcL3eq3 z8W%lw$QgJOZ*7IKyG~Q-AghAVZ#@njr*SCVW1CHZB*IDyVcW{2-j95cJCY9}@Y{dL z$ijn4OZ+JvEVk$Q*yK;4V-$$AxCx7C%;AN`Ve2|9F7QP^^YDxT5?#ed9>#}n#5Ou> zC6fgh_vy7CbC$B4#o}25yF6`S#??`wNG+JkXU640!Z;Tsj8%{@RzU(U0!lKht_eW| zZWTc!nM+t>x6NF55!c9EK0LI{<-30`{V}b4;n@sNQD{8mDnY3n0OpgYH7fIs(!_;b zBXPN_q=oTAsM#zign-6{0VU@xXUn%8YDoMCOfnw*`bi^P~_$hhSo~KbkFDKLmQ5dCWhmq<92^y)o|zp zN#<95!RySFt6y08E@kgzp7W(d{UFe>Wx$hX%NOiydg?sMqr^w-8_t+E(@`Kz8CmKW zhO_hKfw(2SFrKcTZy7%X*=!}Jv4{Nd~+;)w0Cl7AWUHyb$IzI!(MmY((eOLgl^Y2c`EMEoMjTgU2gT_8NuCMo@kYT>Gn-+4EOg) ze11MfMLqRa>4I>Ndq>E8qFOD2Fu}aR}PMQ!DG|6B(gA#vZscVmJFNK}g zd!a43&#G5|-0O76EwxLuU~T4$uMb~Yte;j}2$0s#-xzVF3y@j^N`nLCH|W(!K`Jpp zA}%0yL0;y95`p8gbTYRC+`wFrk_cQuIE1&<#&p=1(Y%{BFixk!esuN zB8km~o;@o`#nCVhQTl)WMFYZSo0Y_>Xs8K)p8{}6R2vLa>F);@T8ex~t|d0IOF8LD zgvL}>62}JD7t+;yy`(Hx8@)}^!o($<4Q)8>9mkV zU6KsR068}*WZZ?2x!HnbSJyPq)pq$(`%Tk~>>lj*{hlRR>K*(`yu&tQwr1}@b0c6P zfxNAENc5X-;~o6NY&axVV7dN)x~O!ZDW8ZL^03i#vM8iEh4?5JW#r1>E+V%>$Q)Q? z>?--*#|t#>Xy||F%KX2W3KnwI`7+4en`Cg3$u(G8jS=hqKX#UJ0myK*+fFfaesx?- zw6DGnjtrrw{!T$mp53%G!ta*L6}DKi{NR=K!;W4(4qmBoD_=zq1125hY|BxL8sjre zxp-lQ-0}4S39D>O#Lp&Yv$EuDmdUqj9@{!s16ZVGXB>Z(!k>-UE>-AS=GMmX&4=a0 zuwF7W7jr7_7WNE&LFt!afKL4)N9at5&_;3lSawfd{GhA02x{njwgRhEpU%f}oLjx% zV~Vns@hw$0s#X6z+q?b0f6u^8sG{XXY5asQIV*BTCbP_(NOrJLin>NTiN&d_VVI;M zJ2GGR8Jm9w3}uX2>Ud>Tdb!)Ug-?wKPPd5Sw!7psb)2zREa>7u3Ptg*)55qVQE9|w z%8zxeCfdM}mAg9)6-oP+9mZ^4oNC60`cG zN78q!id(H@+Gr`Q@=(My*b*l(CDgryUvV=U8hd|KP1QfF^c;9}y+hOjh=EL<926q_tR;2e$ShAUwUVv6-)2(cjIkfM0Kx-af>4en*J>)nqZ z$g#j5as*+A4=8b?xw}iZnvqez#>)qj;fIx5bkHKuEOXIY+FqW&X^ zy}W6r1+Gh0b;91+Im3}-?yMcGV5U&T`5^_?~FGMR2x@8f44y`rjX z*z7MC*m@+sYdGH8PU0(vGj{;1xK&&N>}%HvXRjqzQ0iV{-+V8z0^%1F`=u8X$0f;| ziT$!`hcn@H3_|DA_1SEd1v;~@c_%TC7B_z)gZ!)q+40rh#5>>c``7k7HN zbAY=I+;wobiM#u_+rr&8?sjmui@QDCJ;1#N?m4*E#8z(~_gc8u#=Q>ib#bqUdk6TS zfe*U)pob3*u+wP3$AM21KKt-#!KV$M4t%=s>A?r!9Ds8G&H*?F;2eN+0L}q82jG7k zfO7z@32;q-Yc_GKhg%1@-N0=Jx0|@VkJ~NWZsT?bx4XEtk6YbSuznv;#nxy@pyM@0 z!GMWu8%tA68HTM8j}qcAMI62~*`xf%ccUE%cXtDuA)H0y z2Nhj{G*U>u&37{MgD@`a(Qd1UfSUQD5IUFjyJe;<KUQUhI1)mtH`hu;pu?4U)yqVvUGEkiobRk>_fbnlI*@e*ORUuBEw6BnaR2DOLUBMyhg5A<4x60zhqx&zQE^wC) zefE=!7$E|E=aa4&J`|qGaS1sV^&IDlxPlBz4ZHAEiuaNk6dOhTA_HedtJJ4b?Ap9l zU*)2L&B&$8z^D%SIFm0KWCA`@la(1G0r!)+87U8M(KjO{AVbTvC{TN+0-ZD`f0Q|{ICK`WIc89?c{2!hTThFGLc z>N8tXzc@#|y3d-W4WLtGfh->8g(?q=PG!+qRrGTa3#0u5nmQZ?Usy6^EAdZ)?wtE8 z&K3XYiu!zbJkR|+UxYB@@jgvw(e`Etsx%aFb)1BMFq1hPGyyx4ZX9iY zzg8^uJ6D7M2MGSK|8YDO1>n^{cnRi#hd{?!KK9F7<3o-@5eTIVt#_E}pG4d0Fu02D zF|skFM}>s15|gtOm?@);}+h?-);)}gkP)=x-R~# zc+!cuZTn0aO zso}8++EvwWnc_A^9`x~HlHfG%>-SLoD~e-DCKaLZu}U>z2Qid{vtcm!8=DHb+>@XH E0DHcJU;qFB diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index ee60dbe..c460601 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":86, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 37eedf4..07a2268 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "3.5.5"; + ByteBuffer.VERSION = "4.0.0-pre"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/experimental/ByteBufferTA.js b/dist/experimental/ByteBufferTA.js index 92621fc..a10b182 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/experimental/ByteBufferTA.js @@ -119,7 +119,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "3.5.5"; + ByteBuffer.VERSION = "4.0.0-pre"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. From 6f535904b86cd61c7d2f20117f4c4a6e5dced289 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:53:55 +0200 Subject: [PATCH 52/91] Renamed ByteBufferTA to ByteBufferAB and ByteBufferAB to ByteBufferAB_DataView, added compile steps, fixed closurecompiler warnings on ieee754 --- dist/ByteBufferAB.js | 487 ++++++++++++++---- dist/ByteBufferAB.min.js | 168 +++--- dist/ByteBufferAB.min.js.gz | Bin 7595 -> 8274 bytes dist/ByteBufferAB.min.map | 6 +- ...teBufferTA.js => ByteBufferAB_DataView.js} | 487 ++++-------------- dist/ByteBufferAB_DataView.min.js | 86 ++++ dist/ByteBufferAB_DataView.min.js.gz | Bin 0 -> 7604 bytes dist/ByteBufferAB_DataView.min.map | 8 + dist/README.md | 18 +- dist/experimental/README.md | 5 - package.json | 6 +- scripts/build.js | 16 +- src/ByteBufferAB.js | 4 +- ...teBufferTA.js => ByteBufferAB_DataView.js} | 4 +- src/types/floats/ieee754.js | 8 +- tests/suite.js | 12 +- 16 files changed, 714 insertions(+), 601 deletions(-) rename dist/{experimental/ByteBufferTA.js => ByteBufferAB_DataView.js} (88%) create mode 100644 dist/ByteBufferAB_DataView.min.js create mode 100644 dist/ByteBufferAB_DataView.min.js.gz create mode 100644 dist/ByteBufferAB_DataView.min.map delete mode 100644 dist/experimental/README.md rename src/{ByteBufferTA.js => ByteBufferAB_DataView.js} (93%) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index a855861..6aae736 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -16,7 +16,7 @@ /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // @@ -65,11 +65,11 @@ this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); /** - * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. - * @type {?DataView} + * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?Uint8Array} * @expose */ - this.view = capacity === 0 ? null : new DataView(this.buffer); + this.view = capacity === 0 ? null : new Uint8Array(this.buffer); /** * Absolute read/write offset. @@ -263,12 +263,11 @@ return new ByteBuffer(0, littleEndian, noAssert); var bb = new ByteBuffer(capacity, littleEndian, noAssert), bi; - var view = new Uint8Array(bb.buffer); i=0; while (i 0 ? new DataView(buffer) : null; + bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; } } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets bb = new ByteBuffer(buffer.length, littleEndian, noAssert); bb.limit = buffer.length; for (i=0; i capacity0) this.resize((capacity0 *= 2) > offset ? capacity0 : offset); offset -= 1; - this.view.setInt8(offset, value); + this.view[offset] = value; if (relative) this.offset += 1; return this; }; @@ -423,7 +422,8 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - var value = this.view.getInt8(offset); + var value = this.view[offset]; + if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed if (relative) this.offset += 1; return value; }; @@ -462,7 +462,7 @@ if (offset > capacity1) this.resize((capacity1 *= 2) > offset ? capacity1 : offset); offset -= 1; - this.view.setUint8(offset, value); + this.view[offset] = value; if (relative) this.offset += 1; return this; }; @@ -493,7 +493,7 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - var value = this.view.getUint8(offset); + var value = this.view[offset]; if (relative) this.offset += 1; return value; }; @@ -535,7 +535,13 @@ if (offset > capacity2) this.resize((capacity2 *= 2) > offset ? capacity2 : offset); offset -= 2; - this.view.setInt16(offset, value, this.littleEndian); + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } if (relative) this.offset += 2; return this; }; @@ -569,7 +575,15 @@ if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } - var value = this.view.getInt16(offset, this.littleEndian); + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } + if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed if (relative) this.offset += 2; return value; }; @@ -611,7 +625,13 @@ if (offset > capacity3) this.resize((capacity3 *= 2) > offset ? capacity3 : offset); offset -= 2; - this.view.setUint16(offset, value, this.littleEndian); + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } if (relative) this.offset += 2; return this; }; @@ -645,7 +665,14 @@ if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } - var value = this.view.getUint16(offset, this.littleEndian); + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } if (relative) this.offset += 2; return value; }; @@ -687,7 +714,17 @@ if (offset > capacity4) this.resize((capacity4 *= 2) > offset ? capacity4 : offset); offset -= 4; - this.view.setInt32(offset, value, this.littleEndian); + if (this.littleEndian) { + this.view[offset+3] = (value >>> 24) & 0xFF; + this.view[offset+2] = (value >>> 16) & 0xFF; + this.view[offset+1] = (value >>> 8) & 0xFF; + this.view[offset ] = value & 0xFF; + } else { + this.view[offset ] = (value >>> 24) & 0xFF; + this.view[offset+1] = (value >>> 16) & 0xFF; + this.view[offset+2] = (value >>> 8) & 0xFF; + this.view[offset+3] = value & 0xFF; + } if (relative) this.offset += 4; return this; }; @@ -716,7 +753,19 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = this.view.getInt32(offset, this.littleEndian); + var value = 0; + if (this.littleEndian) { + value = this.view[offset+2] << 16; + value |= this.view[offset+1] << 8; + value |= this.view[offset ]; + value += this.view[offset+3] << 24 >>> 0; + } else { + value = this.view[offset+1] << 16; + value |= this.view[offset+2] << 8; + value |= this.view[offset+3]; + value += this.view[offset ] << 24 >>> 0; + } + value |= 0; // Cast to signed if (relative) this.offset += 4; return value; }; @@ -753,7 +802,17 @@ if (offset > capacity5) this.resize((capacity5 *= 2) > offset ? capacity5 : offset); offset -= 4; - this.view.setUint32(offset, value, this.littleEndian); + if (this.littleEndian) { + this.view[offset+3] = (value >>> 24) & 0xFF; + this.view[offset+2] = (value >>> 16) & 0xFF; + this.view[offset+1] = (value >>> 8) & 0xFF; + this.view[offset ] = value & 0xFF; + } else { + this.view[offset ] = (value >>> 24) & 0xFF; + this.view[offset+1] = (value >>> 16) & 0xFF; + this.view[offset+2] = (value >>> 8) & 0xFF; + this.view[offset+3] = value & 0xFF; + } if (relative) this.offset += 4; return this; }; @@ -783,7 +842,18 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = this.view.getUint32(offset, this.littleEndian); + var value = 0; + if (this.littleEndian) { + value = this.view[offset+2] << 16; + value |= this.view[offset+1] << 8; + value |= this.view[offset ]; + value += this.view[offset+3] << 24 >>> 0; + } else { + value = this.view[offset+1] << 16; + value |= this.view[offset+2] << 8; + value |= this.view[offset+3]; + value += this.view[offset ] << 24 >>> 0; + } if (relative) this.offset += 4; return value; }; @@ -833,12 +903,28 @@ if (offset > capacity6) this.resize((capacity6 *= 2) > offset ? capacity6 : offset); offset -= 8; + var lo = value.low, + hi = value.high; if (this.littleEndian) { - this.view.setInt32(offset , value.low , true); - this.view.setInt32(offset+4, value.high, true); + this.view[offset+3] = (lo >>> 24) & 0xFF; + this.view[offset+2] = (lo >>> 16) & 0xFF; + this.view[offset+1] = (lo >>> 8) & 0xFF; + this.view[offset ] = lo & 0xFF; + offset += 4; + this.view[offset+3] = (hi >>> 24) & 0xFF; + this.view[offset+2] = (hi >>> 16) & 0xFF; + this.view[offset+1] = (hi >>> 8) & 0xFF; + this.view[offset ] = hi & 0xFF; } else { - this.view.setInt32(offset , value.high, false); - this.view.setInt32(offset+4, value.low , false); + this.view[offset ] = (hi >>> 24) & 0xFF; + this.view[offset+1] = (hi >>> 16) & 0xFF; + this.view[offset+2] = (hi >>> 8) & 0xFF; + this.view[offset+3] = hi & 0xFF; + offset += 4; + this.view[offset ] = (lo >>> 24) & 0xFF; + this.view[offset+1] = (lo >>> 16) & 0xFF; + this.view[offset+2] = (lo >>> 8) & 0xFF; + this.view[offset+3] = lo & 0xFF; } if (relative) this.offset += 8; return this; @@ -869,9 +955,30 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = this.littleEndian - ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) - : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), false); + var lo = 0, + hi = 0; + if (this.littleEndian) { + lo = this.view[offset+2] << 16; + lo |= this.view[offset+1] << 8; + lo |= this.view[offset ]; + lo += this.view[offset+3] << 24 >>> 0; + offset += 4; + hi = this.view[offset+2] << 16; + hi |= this.view[offset+1] << 8; + hi |= this.view[offset ]; + hi += this.view[offset+3] << 24 >>> 0; + } else { + hi = this.view[offset+1] << 16; + hi |= this.view[offset+2] << 8; + hi |= this.view[offset+3]; + hi += this.view[offset ] << 24 >>> 0; + offset += 4; + lo = this.view[offset+1] << 16; + lo |= this.view[offset+2] << 8; + lo |= this.view[offset+3]; + lo += this.view[offset ] << 24 >>> 0; + } + var value = new Long(lo, hi, false); if (relative) this.offset += 8; return value; }; @@ -916,12 +1023,28 @@ if (offset > capacity7) this.resize((capacity7 *= 2) > offset ? capacity7 : offset); offset -= 8; + var lo = value.low, + hi = value.high; if (this.littleEndian) { - this.view.setInt32(offset , value.low , true); - this.view.setInt32(offset+4, value.high, true); + this.view[offset+3] = (lo >>> 24) & 0xFF; + this.view[offset+2] = (lo >>> 16) & 0xFF; + this.view[offset+1] = (lo >>> 8) & 0xFF; + this.view[offset ] = lo & 0xFF; + offset += 4; + this.view[offset+3] = (hi >>> 24) & 0xFF; + this.view[offset+2] = (hi >>> 16) & 0xFF; + this.view[offset+1] = (hi >>> 8) & 0xFF; + this.view[offset ] = hi & 0xFF; } else { - this.view.setInt32(offset , value.high, false); - this.view.setInt32(offset+4, value.low , false); + this.view[offset ] = (hi >>> 24) & 0xFF; + this.view[offset+1] = (hi >>> 16) & 0xFF; + this.view[offset+2] = (hi >>> 8) & 0xFF; + this.view[offset+3] = hi & 0xFF; + offset += 4; + this.view[offset ] = (lo >>> 24) & 0xFF; + this.view[offset+1] = (lo >>> 16) & 0xFF; + this.view[offset+2] = (lo >>> 8) & 0xFF; + this.view[offset+3] = lo & 0xFF; } if (relative) this.offset += 8; return this; @@ -953,9 +1076,30 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = this.littleEndian - ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) - : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), true); + var lo = 0, + hi = 0; + if (this.littleEndian) { + lo = this.view[offset+2] << 16; + lo |= this.view[offset+1] << 8; + lo |= this.view[offset ]; + lo += this.view[offset+3] << 24 >>> 0; + offset += 4; + hi = this.view[offset+2] << 16; + hi |= this.view[offset+1] << 8; + hi |= this.view[offset ]; + hi += this.view[offset+3] << 24 >>> 0; + } else { + hi = this.view[offset+1] << 16; + hi |= this.view[offset+2] << 8; + hi |= this.view[offset+3]; + hi += this.view[offset ] << 24 >>> 0; + offset += 4; + lo = this.view[offset+1] << 16; + lo |= this.view[offset+2] << 8; + lo |= this.view[offset+3]; + lo += this.view[offset ] << 24 >>> 0; + } + var value = new Long(lo, hi, true); if (relative) this.offset += 8; return value; }; @@ -974,6 +1118,117 @@ // types/floats/float32 + /* + ieee754 - https://github.com/feross/ieee754 + + The MIT License (MIT) + + Copyright (c) Feross Aboukhadijeh + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */ + + function ieee754_read(buffer, offset, isLE, mLen, nBytes) { + var e, m, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + nBits = -7, + i = isLE ? (nBytes - 1) : 0, + d = isLE ? -1 : 1, + s = buffer[offset + i]; + + i += d; + + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity); + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + } + + function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), + i = isLE ? 0 : (nBytes - 1), + d = isLE ? 1 : -1, + s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128; + } + /** * Writes a 32bit float. * @param {number} value Value to write @@ -998,7 +1253,7 @@ if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset); offset -= 4; - this.view.setFloat32(offset, value, this.littleEndian); + ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); if (relative) this.offset += 4; return this; }; @@ -1029,7 +1284,7 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = this.view.getFloat32(offset, this.littleEndian); + var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); if (relative) this.offset += 4; return value; }; @@ -1069,7 +1324,7 @@ if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset); offset -= 8; - this.view.setFloat64(offset, value, this.littleEndian); + ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); if (relative) this.offset += 8; return this; }; @@ -1100,7 +1355,7 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = this.view.getFloat64(offset, this.littleEndian); + var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); if (relative) this.offset += 8; return value; }; @@ -1190,34 +1445,34 @@ this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.view.setUint8(offset, b = value | 0x80); + this.view[offset] = b = value | 0x80; value >>>= 0; if (value >= 1 << 7) { b = (value >> 7) | 0x80; - this.view.setUint8(offset+1, b); + this.view[offset+1] = b; if (value >= 1 << 14) { b = (value >> 14) | 0x80; - this.view.setUint8(offset+2, b); + this.view[offset+2] = b; if (value >= 1 << 21) { b = (value >> 21) | 0x80; - this.view.setUint8(offset+3, b); + this.view[offset+3] = b; if (value >= 1 << 28) { - this.view.setUint8(offset+4, (value >> 28) & 0x0F); + this.view[offset+4] = (value >> 28) & 0x0F; size = 5; } else { - this.view.setUint8(offset+3, b & 0x7F); + this.view[offset+3] = b & 0x7F; size = 4; } } else { - this.view.setUint8(offset+2, b & 0x7F); + this.view[offset+2] = b & 0x7F; size = 3; } } else { - this.view.setUint8(offset+1, b & 0x7F); + this.view[offset+1] = b & 0x7F; size = 2; } } else { - this.view.setUint8(offset, b & 0x7F); + this.view[offset] = b & 0x7F; size = 1; } if (relative) { @@ -1271,7 +1526,7 @@ err['truncated'] = true; throw err; } - temp = this.view.getUint8(ioffset); + temp = this.view[ioffset]; if (size < 5) value |= ((temp&0x7F)<<(7*size)) >>> 0; ++size; @@ -1419,16 +1674,16 @@ this.resize((capacity11 *= 2) > offset ? capacity11 : offset); offset -= size; switch (size) { - case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); - case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); - case 8 : this.view.setUint8(offset+7, size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F); - case 7 : this.view.setUint8(offset+6, size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F); - case 6 : this.view.setUint8(offset+5, size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F); - case 5 : this.view.setUint8(offset+4, size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F); - case 4 : this.view.setUint8(offset+3, size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F); - case 3 : this.view.setUint8(offset+2, size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F); - case 2 : this.view.setUint8(offset+1, size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F); - case 1 : this.view.setUint8(offset , size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F); + case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; + case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; + case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; + case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; + case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; + case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; + case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; + case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; + case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; + case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; } if (relative) { this.offset += size; @@ -1475,16 +1730,16 @@ part1 = 0, part2 = 0, b = 0; - b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { throw Error("Buffer overrun"); }}}}}}}}}} var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { @@ -1556,9 +1811,9 @@ this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); + this.view[offset++] = b; }.bind(this)); - this.view.setUint8(offset++, 0); + this.view[offset++] = 0; if (relative) { this.offset = offset; return this; @@ -1593,7 +1848,7 @@ if (b === 0) return null; if (offset >= this.limit) throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - b = this.view.getUint8(offset++); + b = this.view[offset++]; return b === 0 ? null : b; }.bind(this), sd = stringDestination(), true); if (relative) { @@ -1638,10 +1893,20 @@ if (offset > capacity13) this.resize((capacity13 *= 2) > offset ? capacity13 : offset); offset -= 4+k; - this.view.setUint32(offset, k, this.littleEndian); + if (this.littleEndian) { + this.view[offset+3] = (k >>> 24) & 0xFF; + this.view[offset+2] = (k >>> 16) & 0xFF; + this.view[offset+1] = (k >>> 8) & 0xFF; + this.view[offset ] = k & 0xFF; + } else { + this.view[offset ] = (k >>> 24) & 0xFF; + this.view[offset+1] = (k >>> 16) & 0xFF; + this.view[offset+2] = (k >>> 8) & 0xFF; + this.view[offset+3] = k & 0xFF; + } offset += 4; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); + this.view[offset++] = b; }.bind(this)); if (offset !== start + 4 + k) throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); @@ -1674,12 +1939,22 @@ var temp = 0, start = offset, str; - temp = this.view.getUint32(offset, this.littleEndian); + if (this.littleEndian) { + temp = this.view[offset+2] << 16; + temp |= this.view[offset+1] << 8; + temp |= this.view[offset ]; + temp += this.view[offset+3] << 24 >>> 0; + } else { + temp = this.view[offset+1] << 16; + temp |= this.view[offset+2] << 8; + temp |= this.view[offset+3]; + temp += this.view[offset ] << 24 >>> 0; + } offset += 4; var k = offset + temp, sd; utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; + return offset < k ? this.view[offset++] : null; }.bind(this), sd = stringDestination(), this.noAssert); str = sd(); if (relative) { @@ -1737,7 +2012,7 @@ this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); + this.view[offset++] = b; }.bind(this)); if (relative) { this.offset = offset; @@ -1814,7 +2089,7 @@ if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser sd = stringDestination(); utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; + return i < length && offset < this.limit ? this.view[offset++] : null; }.bind(this), function(cp) { ++i; utfx.UTF8toUTF16(cp, sd); }.bind(this)); @@ -1839,7 +2114,7 @@ } var k = offset + length; utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; + return offset < k ? this.view[offset++] : null; }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); @@ -1904,7 +2179,7 @@ offset -= l+k; offset += this.writeVarint32(k, offset); utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); + this.view[offset++] = b; }.bind(this)); if (offset !== start+k+l) throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); @@ -1942,7 +2217,7 @@ var k = offset + temp, sd = stringDestination(); utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; + return offset < k ? this.view[offset++] : null; }.bind(this), sd, this.noAssert); str = sd(); if (relative) { @@ -1993,7 +2268,7 @@ if (offset > capacity16) this.resize((capacity16 *= 2) > offset ? capacity16 : offset); offset -= length; - new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); + this.view.set(source.view.subarray(source.offset, source.limit), offset); source.offset += length; if (relative) this.offset += length; return this; @@ -2059,8 +2334,7 @@ var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); if (copy) { bb.buffer = new ArrayBuffer(this.buffer.byteLength); - new Uint8Array(bb.buffer).set(this.buffer); - bb.view = new DataView(bb.buffer); + bb.view = new Uint8Array(bb.buffer); } else { bb.buffer = this.buffer; bb.view = this.view; @@ -2105,9 +2379,10 @@ return this; } var buffer = new ArrayBuffer(len); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(begin, end)); this.buffer = buffer; - this.view = new DataView(buffer); + this.view = view; if (this.markedOffset >= 0) this.markedOffset -= begin; this.offset = 0; this.limit = len; @@ -2180,7 +2455,7 @@ target.ensureCapacity(targetOffset + len); - new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); + target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); if (relative) this.offset += len; if (targetRelative) target.offset += len; @@ -2236,7 +2511,7 @@ } if (begin >= end) return this; // Nothing to fill - while (begin < end) this.view.setUint8(begin++, value); + while (begin < end) this.view[begin++] = value; if (relative) this.offset = begin; return this; }; @@ -2344,10 +2619,10 @@ var diff = len - offset; if (diff > 0) { // Not enough space before offset, so resize + move var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - var arrayView = new Uint8Array(buffer); - arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(offset, this.buffer.byteLength), len); this.buffer = buffer; - this.view = new DataView(buffer); + this.view = view; this.offset += diff; if (this.markedOffset >= 0) this.markedOffset += diff; this.limit += diff; @@ -2355,7 +2630,7 @@ } else { var arrayView = new Uint8Array(this.buffer); } - arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); + this.view.set(source.view.subarray(source.offset, source.limit), offset - len); source.offset = source.limit; if (relative) @@ -2437,9 +2712,10 @@ } if (this.buffer.byteLength < capacity) { var buffer = new ArrayBuffer(capacity); - new Uint8Array(buffer).set(new Uint8Array(this.buffer)); + var view = new Uint8Array(buffer); + view.set(this.view); this.buffer = buffer; - this.view = new DataView(buffer); + this.view = view; } return this; }; @@ -2465,8 +2741,7 @@ } if (begin === end) return this; // Nothing to reverse - Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); - this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? + Array.prototype.reverse.call(this.view.subarray(begin, end)); return this; }; /** @@ -2743,7 +3018,7 @@ throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var sd; lxiv.encode(function() { - return begin < end ? this.view.getUint8(begin++) : null; + return begin < end ? this.view[begin++] : null; }.bind(this), sd = stringDestination()); return sd(); }; @@ -2768,7 +3043,7 @@ var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), i = 0; lxiv.decode(stringSource(str), function(b) { - bb.view.setUint8(i++, b); + bb.view[i++] = b; }); bb.limit = i; return bb; @@ -2823,7 +3098,7 @@ return ""; var cc = [], pt = []; while (begin < end) { - cc.push(this.view.getUint8(begin++)); + cc.push(this.view[begin++]); if (cc.length >= 1024) pt.push(String.fromCharCode.apply(String, cc)), cc = []; @@ -2852,7 +3127,7 @@ charCode = str.charCodeAt(i); if (!noAssert && charCode > 255) throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); - bb.view.setUint8(i++, charCode); + bb.view[i++] = charCode; } bb.limit = k; return bb; @@ -2886,7 +3161,7 @@ out = ""; while (i 255) throw TypeError("Illegal str: Not a debug encoded string"); } - bb.view.setUint8(j++, b); + bb.view[j++] = b; rs = true; } if (fail) @@ -3061,7 +3336,7 @@ var out = new Array(end - begin), b; while (begin < end) { - b = this.view.getUint8(begin++); + b = this.view[begin++]; if (b < 0x10) out.push("0", b.toString(16)); else out.push(b.toString(16)); @@ -3094,7 +3369,7 @@ if (!noAssert) if (!isFinite(b) || b < 0 || b > 255) throw TypeError("Illegal str: Contains non-hex characters"); - bb.view.setUint8(j++, b); + bb.view[j++] = b; } bb.limit = j; return bb; @@ -3323,7 +3598,7 @@ } var sd; try { utfx.decodeUTF8toUTF16(function() { - return begin < end ? this.view.getUint8(begin++) : null; + return begin < end ? this.view[begin++] : null; }.bind(this), sd = stringDestination()); } catch (e) { if (begin !== end) @@ -3349,7 +3624,7 @@ var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), i = 0; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - bb.view.setUint8(i++, b); + bb.view[i++] = b; }); bb.limit = i; return bb; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 097a299..3355a34 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -1,86 +1,92 @@ /* ByteBuffer.js (c) 2015 Daniel Wirtz - [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof -f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= -e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& -(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ -0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c= -"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== -typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; -if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+ -3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES= -10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, -f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*= -2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128: -h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= -0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); -d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= -a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, -h=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=t();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d= -b,h,e;h=l.a(m(a),this.noAssert)[1];e=f.calculateVarint32(h);b+=e+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+h+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, -b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; -b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= -b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); -b=(n="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);n&&(a.offset+= -g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, -b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, -b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); -b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+ -this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, -83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, -h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= -this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== -this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), -16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? -c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, -g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, -c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aa)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b< +a.length?a.charCodeAt(b++):null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+w.apply(String,a);1024>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=m;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;m=d?0:m-1;var l=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=g):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(h=Math.pow(2,-d))&&(d--,h*=2),b=1<=d+k?b+p/h:b+p*Math.pow(2,1-k),2<=b*h&&(d++,h/=2),d+k>=g?(b=0,d=g):1<=d+k?(b=(b*h-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0)); +for(;8<=e;a[c+m]=b&255,m+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a, +c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4); +return this};f.writeInt=f.writeInt32;f.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+ +3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};f.readInt=f.readInt32;f.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeUInt32=f.writeUint32;f.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};f.readUInt32=f.readUint32;k&&(f.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a); +else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8; +var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeLong=f.writeInt64,f.readInt64= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+ +1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4, +this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= +this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; +f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-8,this.littleEndian, +52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= +function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a, +b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128=== +(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128> +c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a? +a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var q=this.buffer.byteLength;b>q&&this.resize((q*=2)>b?q:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!== +d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++], +e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag= +function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0; +if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(n(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(n(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+ +1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0===e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(n(a),this.noAssert)[1];b+=4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+ +2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(n(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d};f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); +}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(n(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(n(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(n(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(n(a))[1]}; +f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h; +if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); +}var q=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(n(a),this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(n(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit), +c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength};f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view); +b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0=== +a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d);e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e, +f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c, +d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian="undefined"!== +typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; +f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ +")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var x=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, +116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== +typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;x.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| +a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b=== +this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,n=!1,p=!1,r=!1;e":if(!c){if(p){r=!0;break}p=!0}b.limit=f;k=!1;break;case "'":if(!c){if(n){r=!0;break}n=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| +b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; +b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& +56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c; +d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a9v?VHO8tJ?5!Gk3DvK3oN?bMyABa#Oo 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 Q(KqY;8}2$qR)4Di09o@4x&QzG literal 7595 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index c460601..b844e6c 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":86, -"mappings":"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", +"lineCount":92, +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBufferPrototype.writeInt8","relative","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/experimental/ByteBufferTA.js b/dist/ByteBufferAB_DataView.js similarity index 88% rename from dist/experimental/ByteBufferTA.js rename to dist/ByteBufferAB_DataView.js index a10b182..a855861 100644 --- a/dist/experimental/ByteBufferTA.js +++ b/dist/ByteBufferAB_DataView.js @@ -16,7 +16,7 @@ /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // @@ -65,11 +65,11 @@ this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); /** - * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. - * @type {?Uint8Array} + * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?DataView} * @expose */ - this.view = capacity === 0 ? null : new Uint8Array(this.buffer); + this.view = capacity === 0 ? null : new DataView(this.buffer); /** * Absolute read/write offset. @@ -263,11 +263,12 @@ return new ByteBuffer(0, littleEndian, noAssert); var bb = new ByteBuffer(capacity, littleEndian, noAssert), bi; + var view = new Uint8Array(bb.buffer); i=0; while (i 0 ? new Uint8Array(buffer) : null; + bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; } } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets bb = new ByteBuffer(buffer.length, littleEndian, noAssert); bb.limit = buffer.length; for (i=0; i capacity0) this.resize((capacity0 *= 2) > offset ? capacity0 : offset); offset -= 1; - this.view[offset] = value; + this.view.setInt8(offset, value); if (relative) this.offset += 1; return this; }; @@ -422,8 +423,7 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - var value = this.view[offset]; - if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed + var value = this.view.getInt8(offset); if (relative) this.offset += 1; return value; }; @@ -462,7 +462,7 @@ if (offset > capacity1) this.resize((capacity1 *= 2) > offset ? capacity1 : offset); offset -= 1; - this.view[offset] = value; + this.view.setUint8(offset, value); if (relative) this.offset += 1; return this; }; @@ -493,7 +493,7 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - var value = this.view[offset]; + var value = this.view.getUint8(offset); if (relative) this.offset += 1; return value; }; @@ -535,13 +535,7 @@ if (offset > capacity2) this.resize((capacity2 *= 2) > offset ? capacity2 : offset); offset -= 2; - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } + this.view.setInt16(offset, value, this.littleEndian); if (relative) this.offset += 2; return this; }; @@ -575,15 +569,7 @@ if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } - if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed + var value = this.view.getInt16(offset, this.littleEndian); if (relative) this.offset += 2; return value; }; @@ -625,13 +611,7 @@ if (offset > capacity3) this.resize((capacity3 *= 2) > offset ? capacity3 : offset); offset -= 2; - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } + this.view.setUint16(offset, value, this.littleEndian); if (relative) this.offset += 2; return this; }; @@ -665,14 +645,7 @@ if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); } - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } + var value = this.view.getUint16(offset, this.littleEndian); if (relative) this.offset += 2; return value; }; @@ -714,17 +687,7 @@ if (offset > capacity4) this.resize((capacity4 *= 2) > offset ? capacity4 : offset); offset -= 4; - if (this.littleEndian) { - this.view[offset+3] = (value >>> 24) & 0xFF; - this.view[offset+2] = (value >>> 16) & 0xFF; - this.view[offset+1] = (value >>> 8) & 0xFF; - this.view[offset ] = value & 0xFF; - } else { - this.view[offset ] = (value >>> 24) & 0xFF; - this.view[offset+1] = (value >>> 16) & 0xFF; - this.view[offset+2] = (value >>> 8) & 0xFF; - this.view[offset+3] = value & 0xFF; - } + this.view.setInt32(offset, value, this.littleEndian); if (relative) this.offset += 4; return this; }; @@ -753,19 +716,7 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = 0; - if (this.littleEndian) { - value = this.view[offset+2] << 16; - value |= this.view[offset+1] << 8; - value |= this.view[offset ]; - value += this.view[offset+3] << 24 >>> 0; - } else { - value = this.view[offset+1] << 16; - value |= this.view[offset+2] << 8; - value |= this.view[offset+3]; - value += this.view[offset ] << 24 >>> 0; - } - value |= 0; // Cast to signed + var value = this.view.getInt32(offset, this.littleEndian); if (relative) this.offset += 4; return value; }; @@ -802,17 +753,7 @@ if (offset > capacity5) this.resize((capacity5 *= 2) > offset ? capacity5 : offset); offset -= 4; - if (this.littleEndian) { - this.view[offset+3] = (value >>> 24) & 0xFF; - this.view[offset+2] = (value >>> 16) & 0xFF; - this.view[offset+1] = (value >>> 8) & 0xFF; - this.view[offset ] = value & 0xFF; - } else { - this.view[offset ] = (value >>> 24) & 0xFF; - this.view[offset+1] = (value >>> 16) & 0xFF; - this.view[offset+2] = (value >>> 8) & 0xFF; - this.view[offset+3] = value & 0xFF; - } + this.view.setUint32(offset, value, this.littleEndian); if (relative) this.offset += 4; return this; }; @@ -842,18 +783,7 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = 0; - if (this.littleEndian) { - value = this.view[offset+2] << 16; - value |= this.view[offset+1] << 8; - value |= this.view[offset ]; - value += this.view[offset+3] << 24 >>> 0; - } else { - value = this.view[offset+1] << 16; - value |= this.view[offset+2] << 8; - value |= this.view[offset+3]; - value += this.view[offset ] << 24 >>> 0; - } + var value = this.view.getUint32(offset, this.littleEndian); if (relative) this.offset += 4; return value; }; @@ -903,28 +833,12 @@ if (offset > capacity6) this.resize((capacity6 *= 2) > offset ? capacity6 : offset); offset -= 8; - var lo = value.low, - hi = value.high; if (this.littleEndian) { - this.view[offset+3] = (lo >>> 24) & 0xFF; - this.view[offset+2] = (lo >>> 16) & 0xFF; - this.view[offset+1] = (lo >>> 8) & 0xFF; - this.view[offset ] = lo & 0xFF; - offset += 4; - this.view[offset+3] = (hi >>> 24) & 0xFF; - this.view[offset+2] = (hi >>> 16) & 0xFF; - this.view[offset+1] = (hi >>> 8) & 0xFF; - this.view[offset ] = hi & 0xFF; + this.view.setInt32(offset , value.low , true); + this.view.setInt32(offset+4, value.high, true); } else { - this.view[offset ] = (hi >>> 24) & 0xFF; - this.view[offset+1] = (hi >>> 16) & 0xFF; - this.view[offset+2] = (hi >>> 8) & 0xFF; - this.view[offset+3] = hi & 0xFF; - offset += 4; - this.view[offset ] = (lo >>> 24) & 0xFF; - this.view[offset+1] = (lo >>> 16) & 0xFF; - this.view[offset+2] = (lo >>> 8) & 0xFF; - this.view[offset+3] = lo & 0xFF; + this.view.setInt32(offset , value.high, false); + this.view.setInt32(offset+4, value.low , false); } if (relative) this.offset += 8; return this; @@ -955,30 +869,9 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var lo = 0, - hi = 0; - if (this.littleEndian) { - lo = this.view[offset+2] << 16; - lo |= this.view[offset+1] << 8; - lo |= this.view[offset ]; - lo += this.view[offset+3] << 24 >>> 0; - offset += 4; - hi = this.view[offset+2] << 16; - hi |= this.view[offset+1] << 8; - hi |= this.view[offset ]; - hi += this.view[offset+3] << 24 >>> 0; - } else { - hi = this.view[offset+1] << 16; - hi |= this.view[offset+2] << 8; - hi |= this.view[offset+3]; - hi += this.view[offset ] << 24 >>> 0; - offset += 4; - lo = this.view[offset+1] << 16; - lo |= this.view[offset+2] << 8; - lo |= this.view[offset+3]; - lo += this.view[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, false); + var value = this.littleEndian + ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) + : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), false); if (relative) this.offset += 8; return value; }; @@ -1023,28 +916,12 @@ if (offset > capacity7) this.resize((capacity7 *= 2) > offset ? capacity7 : offset); offset -= 8; - var lo = value.low, - hi = value.high; if (this.littleEndian) { - this.view[offset+3] = (lo >>> 24) & 0xFF; - this.view[offset+2] = (lo >>> 16) & 0xFF; - this.view[offset+1] = (lo >>> 8) & 0xFF; - this.view[offset ] = lo & 0xFF; - offset += 4; - this.view[offset+3] = (hi >>> 24) & 0xFF; - this.view[offset+2] = (hi >>> 16) & 0xFF; - this.view[offset+1] = (hi >>> 8) & 0xFF; - this.view[offset ] = hi & 0xFF; + this.view.setInt32(offset , value.low , true); + this.view.setInt32(offset+4, value.high, true); } else { - this.view[offset ] = (hi >>> 24) & 0xFF; - this.view[offset+1] = (hi >>> 16) & 0xFF; - this.view[offset+2] = (hi >>> 8) & 0xFF; - this.view[offset+3] = hi & 0xFF; - offset += 4; - this.view[offset ] = (lo >>> 24) & 0xFF; - this.view[offset+1] = (lo >>> 16) & 0xFF; - this.view[offset+2] = (lo >>> 8) & 0xFF; - this.view[offset+3] = lo & 0xFF; + this.view.setInt32(offset , value.high, false); + this.view.setInt32(offset+4, value.low , false); } if (relative) this.offset += 8; return this; @@ -1076,30 +953,9 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var lo = 0, - hi = 0; - if (this.littleEndian) { - lo = this.view[offset+2] << 16; - lo |= this.view[offset+1] << 8; - lo |= this.view[offset ]; - lo += this.view[offset+3] << 24 >>> 0; - offset += 4; - hi = this.view[offset+2] << 16; - hi |= this.view[offset+1] << 8; - hi |= this.view[offset ]; - hi += this.view[offset+3] << 24 >>> 0; - } else { - hi = this.view[offset+1] << 16; - hi |= this.view[offset+2] << 8; - hi |= this.view[offset+3]; - hi += this.view[offset ] << 24 >>> 0; - offset += 4; - lo = this.view[offset+1] << 16; - lo |= this.view[offset+2] << 8; - lo |= this.view[offset+3]; - lo += this.view[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, true); + var value = this.littleEndian + ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) + : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), true); if (relative) this.offset += 8; return value; }; @@ -1118,117 +974,6 @@ // types/floats/float32 - /* - ieee754 - https://github.com/feross/ieee754 - - The MIT License (MIT) - - Copyright (c) Feross Aboukhadijeh - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */ - - function ieee754_read(buffer, offset, isLE, mLen, nBytes) { - var e, m, - eLen = nBytes * 8 - mLen - 1, - eMax = (1 << eLen) - 1, - eBias = eMax >> 1, - nBits = -7, - i = isLE ? (nBytes - 1) : 0, - d = isLE ? -1 : 1, - s = buffer[offset + i]; - - i += d; - - e = s & ((1 << (-nBits)) - 1); - s >>= (-nBits); - nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8); - - m = e & ((1 << (-nBits)) - 1); - e >>= (-nBits); - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8); - - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity); - } else { - m = m + Math.pow(2, mLen); - e = e - eBias; - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen); - } - - function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c, - eLen = nBytes * 8 - mLen - 1, - eMax = (1 << eLen) - 1, - eBias = eMax >> 1, - rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), - i = isLE ? 0 : (nBytes - 1), - d = isLE ? 1 : -1, - s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; - - value = Math.abs(value); - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; - e = eMax; - } else { - e = Math.floor(Math.log(value) / Math.LN2); - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } - - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8); - - e = (e << mLen) | m; - eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8); - - buffer[offset + i - d] |= s * 128; - } - /** * Writes a 32bit float. * @param {number} value Value to write @@ -1253,7 +998,7 @@ if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset); offset -= 4; - ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); + this.view.setFloat32(offset, value, this.littleEndian); if (relative) this.offset += 4; return this; }; @@ -1284,7 +1029,7 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); + var value = this.view.getFloat32(offset, this.littleEndian); if (relative) this.offset += 4; return value; }; @@ -1324,7 +1069,7 @@ if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset); offset -= 8; - ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); + this.view.setFloat64(offset, value, this.littleEndian); if (relative) this.offset += 8; return this; }; @@ -1355,7 +1100,7 @@ if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); + var value = this.view.getFloat64(offset, this.littleEndian); if (relative) this.offset += 8; return value; }; @@ -1445,34 +1190,34 @@ this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.view[offset] = b = value | 0x80; + this.view.setUint8(offset, b = value | 0x80); value >>>= 0; if (value >= 1 << 7) { b = (value >> 7) | 0x80; - this.view[offset+1] = b; + this.view.setUint8(offset+1, b); if (value >= 1 << 14) { b = (value >> 14) | 0x80; - this.view[offset+2] = b; + this.view.setUint8(offset+2, b); if (value >= 1 << 21) { b = (value >> 21) | 0x80; - this.view[offset+3] = b; + this.view.setUint8(offset+3, b); if (value >= 1 << 28) { - this.view[offset+4] = (value >> 28) & 0x0F; + this.view.setUint8(offset+4, (value >> 28) & 0x0F); size = 5; } else { - this.view[offset+3] = b & 0x7F; + this.view.setUint8(offset+3, b & 0x7F); size = 4; } } else { - this.view[offset+2] = b & 0x7F; + this.view.setUint8(offset+2, b & 0x7F); size = 3; } } else { - this.view[offset+1] = b & 0x7F; + this.view.setUint8(offset+1, b & 0x7F); size = 2; } } else { - this.view[offset] = b & 0x7F; + this.view.setUint8(offset, b & 0x7F); size = 1; } if (relative) { @@ -1526,7 +1271,7 @@ err['truncated'] = true; throw err; } - temp = this.view[ioffset]; + temp = this.view.getUint8(ioffset); if (size < 5) value |= ((temp&0x7F)<<(7*size)) >>> 0; ++size; @@ -1674,16 +1419,16 @@ this.resize((capacity11 *= 2) > offset ? capacity11 : offset); offset -= size; switch (size) { - case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; - case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; - case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; - case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; - case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; - case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; - case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; - case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; - case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; - case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; + case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); + case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); + case 8 : this.view.setUint8(offset+7, size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F); + case 7 : this.view.setUint8(offset+6, size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F); + case 6 : this.view.setUint8(offset+5, size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F); + case 5 : this.view.setUint8(offset+4, size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F); + case 4 : this.view.setUint8(offset+3, size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F); + case 3 : this.view.setUint8(offset+2, size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F); + case 2 : this.view.setUint8(offset+1, size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F); + case 1 : this.view.setUint8(offset , size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F); } if (relative) { this.offset += size; @@ -1730,16 +1475,16 @@ part1 = 0, part2 = 0, b = 0; - b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 14; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 21; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 14; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { + b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { throw Error("Buffer overrun"); }}}}}}}}}} var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { @@ -1811,9 +1556,9 @@ this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; + this.view.setUint8(offset++, b); }.bind(this)); - this.view[offset++] = 0; + this.view.setUint8(offset++, 0); if (relative) { this.offset = offset; return this; @@ -1848,7 +1593,7 @@ if (b === 0) return null; if (offset >= this.limit) throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - b = this.view[offset++]; + b = this.view.getUint8(offset++); return b === 0 ? null : b; }.bind(this), sd = stringDestination(), true); if (relative) { @@ -1893,20 +1638,10 @@ if (offset > capacity13) this.resize((capacity13 *= 2) > offset ? capacity13 : offset); offset -= 4+k; - if (this.littleEndian) { - this.view[offset+3] = (k >>> 24) & 0xFF; - this.view[offset+2] = (k >>> 16) & 0xFF; - this.view[offset+1] = (k >>> 8) & 0xFF; - this.view[offset ] = k & 0xFF; - } else { - this.view[offset ] = (k >>> 24) & 0xFF; - this.view[offset+1] = (k >>> 16) & 0xFF; - this.view[offset+2] = (k >>> 8) & 0xFF; - this.view[offset+3] = k & 0xFF; - } + this.view.setUint32(offset, k, this.littleEndian); offset += 4; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; + this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start + 4 + k) throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); @@ -1939,22 +1674,12 @@ var temp = 0, start = offset, str; - if (this.littleEndian) { - temp = this.view[offset+2] << 16; - temp |= this.view[offset+1] << 8; - temp |= this.view[offset ]; - temp += this.view[offset+3] << 24 >>> 0; - } else { - temp = this.view[offset+1] << 16; - temp |= this.view[offset+2] << 8; - temp |= this.view[offset+3]; - temp += this.view[offset ] << 24 >>> 0; - } + temp = this.view.getUint32(offset, this.littleEndian); offset += 4; var k = offset + temp, sd; utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; + return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd = stringDestination(), this.noAssert); str = sd(); if (relative) { @@ -2012,7 +1737,7 @@ this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; + this.view.setUint8(offset++, b); }.bind(this)); if (relative) { this.offset = offset; @@ -2089,7 +1814,7 @@ if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser sd = stringDestination(); utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.view[offset++] : null; + return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; }.bind(this), function(cp) { ++i; utfx.UTF8toUTF16(cp, sd); }.bind(this)); @@ -2114,7 +1839,7 @@ } var k = offset + length; utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; + return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd = stringDestination(), this.noAssert); if (offset !== k) throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); @@ -2179,7 +1904,7 @@ offset -= l+k; offset += this.writeVarint32(k, offset); utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; + this.view.setUint8(offset++, b); }.bind(this)); if (offset !== start+k+l) throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); @@ -2217,7 +1942,7 @@ var k = offset + temp, sd = stringDestination(); utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; + return offset < k ? this.view.getUint8(offset++) : null; }.bind(this), sd, this.noAssert); str = sd(); if (relative) { @@ -2268,7 +1993,7 @@ if (offset > capacity16) this.resize((capacity16 *= 2) > offset ? capacity16 : offset); offset -= length; - this.view.set(source.view.subarray(source.offset, source.limit), offset); + new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); source.offset += length; if (relative) this.offset += length; return this; @@ -2334,7 +2059,8 @@ var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); if (copy) { bb.buffer = new ArrayBuffer(this.buffer.byteLength); - bb.view = new Uint8Array(bb.buffer); + new Uint8Array(bb.buffer).set(this.buffer); + bb.view = new DataView(bb.buffer); } else { bb.buffer = this.buffer; bb.view = this.view; @@ -2379,10 +2105,9 @@ return this; } var buffer = new ArrayBuffer(len); - var view = new Uint8Array(buffer); - view.set(this.view.subarray(begin, end)); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); this.buffer = buffer; - this.view = view; + this.view = new DataView(buffer); if (this.markedOffset >= 0) this.markedOffset -= begin; this.offset = 0; this.limit = len; @@ -2455,7 +2180,7 @@ target.ensureCapacity(targetOffset + len); - target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); + new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); if (relative) this.offset += len; if (targetRelative) target.offset += len; @@ -2511,7 +2236,7 @@ } if (begin >= end) return this; // Nothing to fill - while (begin < end) this.view[begin++] = value; + while (begin < end) this.view.setUint8(begin++, value); if (relative) this.offset = begin; return this; }; @@ -2619,10 +2344,10 @@ var diff = len - offset; if (diff > 0) { // Not enough space before offset, so resize + move var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - var view = new Uint8Array(buffer); - view.set(this.view.subarray(offset, this.buffer.byteLength), len); + var arrayView = new Uint8Array(buffer); + arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); this.buffer = buffer; - this.view = view; + this.view = new DataView(buffer); this.offset += diff; if (this.markedOffset >= 0) this.markedOffset += diff; this.limit += diff; @@ -2630,7 +2355,7 @@ } else { var arrayView = new Uint8Array(this.buffer); } - this.view.set(source.view.subarray(source.offset, source.limit), offset - len); + arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); source.offset = source.limit; if (relative) @@ -2712,10 +2437,9 @@ } if (this.buffer.byteLength < capacity) { var buffer = new ArrayBuffer(capacity); - var view = new Uint8Array(buffer); - view.set(this.view); + new Uint8Array(buffer).set(new Uint8Array(this.buffer)); this.buffer = buffer; - this.view = view; + this.view = new DataView(buffer); } return this; }; @@ -2741,7 +2465,8 @@ } if (begin === end) return this; // Nothing to reverse - Array.prototype.reverse.call(this.view.subarray(begin, end)); + Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); + this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? return this; }; /** @@ -3018,7 +2743,7 @@ throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } var sd; lxiv.encode(function() { - return begin < end ? this.view[begin++] : null; + return begin < end ? this.view.getUint8(begin++) : null; }.bind(this), sd = stringDestination()); return sd(); }; @@ -3043,7 +2768,7 @@ var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), i = 0; lxiv.decode(stringSource(str), function(b) { - bb.view[i++] = b; + bb.view.setUint8(i++, b); }); bb.limit = i; return bb; @@ -3098,7 +2823,7 @@ return ""; var cc = [], pt = []; while (begin < end) { - cc.push(this.view[begin++]); + cc.push(this.view.getUint8(begin++)); if (cc.length >= 1024) pt.push(String.fromCharCode.apply(String, cc)), cc = []; @@ -3127,7 +2852,7 @@ charCode = str.charCodeAt(i); if (!noAssert && charCode > 255) throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); - bb.view[i++] = charCode; + bb.view.setUint8(i++, charCode); } bb.limit = k; return bb; @@ -3161,7 +2886,7 @@ out = ""; while (i 255) throw TypeError("Illegal str: Not a debug encoded string"); } - bb.view[j++] = b; + bb.view.setUint8(j++, b); rs = true; } if (fail) @@ -3336,7 +3061,7 @@ var out = new Array(end - begin), b; while (begin < end) { - b = this.view[begin++]; + b = this.view.getUint8(begin++); if (b < 0x10) out.push("0", b.toString(16)); else out.push(b.toString(16)); @@ -3369,7 +3094,7 @@ if (!noAssert) if (!isFinite(b) || b < 0 || b > 255) throw TypeError("Illegal str: Contains non-hex characters"); - bb.view[j++] = b; + bb.view.setUint8(j++, b); } bb.limit = j; return bb; @@ -3598,7 +3323,7 @@ } var sd; try { utfx.decodeUTF8toUTF16(function() { - return begin < end ? this.view[begin++] : null; + return begin < end ? this.view.getUint8(begin++) : null; }.bind(this), sd = stringDestination()); } catch (e) { if (begin !== end) @@ -3624,7 +3349,7 @@ var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), i = 0; utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - bb.view[i++] = b; + bb.view.setUint8(i++, b); }); bb.limit = i; return bb; diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js new file mode 100644 index 0000000..097a299 --- /dev/null +++ b/dist/ByteBufferAB_DataView.min.js @@ -0,0 +1,86 @@ +/* + ByteBuffer.js (c) 2015 Daniel Wirtz + [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + Released under the Apache License, Version 2.0 + see: https://github.com/dcodeIO/ByteBuffer.js for details +*/ +(function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< +a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof +f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= +e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& +(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ +0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== +typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; +if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+ +3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES= +10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, +f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*= +2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128: +h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= +0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); +d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, +a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= +a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, +h=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=t();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d= +b,h,e;h=l.a(m(a),this.noAssert)[1];e=f.calculateVarint32(h);b+=e+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+h+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, +b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; +b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= +b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); +b=(n="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);n&&(a.offset+= +g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, +b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, +b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); +b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+ +this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, +83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, +h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= +this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== +this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), +16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? +c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, +g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, +c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aKlRa{%l;YjfI2 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 dist/ByteBufferAB.min.js", - "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz" + "compile": "npm run-script compileAB && npm run-script compileAB_DataView", + "compileAB": "ccjs dist/ByteBufferAB.js --create_source_map=dist/ByteBufferAB.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB.min.js", + "compileAB_DataView": "ccjs dist/ByteBufferAB_DataView.js --create_source_map=dist/ByteBufferAB_DataView.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB_DataView.min.js", + "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz && gzip -c -9 dist/ByteBufferAB_DataView.min.js > dist/ByteBufferAB_DataView.min.js.gz" } } diff --git a/scripts/build.js b/scripts/build.js index 0fbd398..5964503 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -80,7 +80,7 @@ var scope = { if (!scope.UTF8) scope.STRINGS = false; -// Build node ByteBuffer +// Build node ByteBuffer using Buffers scope.NODE = true; console.log("Building ByteBufferNB with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( @@ -88,9 +88,9 @@ fs.writeFileSync( MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferNB.js")), filename, scope, srcDir) ); -// Build browser ByteBuffer +// Build browser ByteBuffer using Typed Arrays scope.NODE = false; -scope.DATAVIEW = true; +scope.DATAVIEW = false; delete scope.BUFFERVIEW; console.log("Building ByteBufferAB with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( @@ -98,13 +98,13 @@ fs.writeFileSync( MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferAB.js")), filename, scope) ); -// Build alternative browser ByteBuffer using Typed Arrays +// Build alternative browser ByteBuffer using a DataView scope.NODE = false; -scope.DATAVIEW = false; -console.log("Building ByteBufferTA with scope", JSON.stringify(scope, null, 2)); +scope.DATAVIEW = true; +console.log("Building ByteBufferAB_DataView with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( - path.join(distDir, "experimental", "ByteBufferTA.js"), - MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferTA.js")), filename, scope) + path.join(distDir, "ByteBufferAB_DataView.js"), + MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferAB_DataView.js")), filename, scope) ); // Update bower.json diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index 4962a23..a64cfff 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -13,11 +13,11 @@ See the License for the specific language governing permissions and limitations under the License. */ -//? NODE = false; DATAVIEW = true; +//? NODE = false; DATAVIEW = false; /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/src/ByteBufferTA.js b/src/ByteBufferAB_DataView.js similarity index 93% rename from src/ByteBufferTA.js rename to src/ByteBufferAB_DataView.js index a64cfff..4962a23 100644 --- a/src/ByteBufferTA.js +++ b/src/ByteBufferAB_DataView.js @@ -13,11 +13,11 @@ See the License for the specific language governing permissions and limitations under the License. */ -//? NODE = false; DATAVIEW = false; +//? NODE = false; DATAVIEW = true; /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/src/types/floats/ieee754.js b/src/types/floats/ieee754.js index 409226b..fa67e36 100644 --- a/src/types/floats/ieee754.js +++ b/src/types/floats/ieee754.js @@ -39,12 +39,12 @@ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { e = s & ((1 << (-nBits)) - 1); s >>= (-nBits); nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8); + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} m = e & ((1 << (-nBits)) - 1); e >>= (-nBits); nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8); + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} if (e === 0) { e = 1 - eBias; @@ -100,11 +100,11 @@ function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { } } - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8); + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} e = (e << mLen) | m; eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8); + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} buffer[offset + i - d] |= s * 128; } diff --git a/tests/suite.js b/tests/suite.js index e361098..703e071 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -21,7 +21,7 @@ var ByteBuffer = require("../dist/ByteBufferNB.js"); var ByteBufferNB = ByteBuffer.ByteBufferNB = ByteBuffer; var ByteBufferAB = ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); -var ByteBufferTA = ByteBuffer.ByteBufferTA = require("../dist/experimental/ByteBufferTA.js"); +var ByteBufferAB_DataView = ByteBuffer.ByteBufferAB_DataView = require("../dist/ByteBufferAB_DataView.js"); /** * Constructs a new Sandbox for module loaders and shim testing. @@ -56,12 +56,12 @@ function makeSuite(ByteBuffer) { suite.init = function(test) { test.ok(require("../index.js")); if (ByteBuffer == ByteBufferNB) - test.log("\n\n --- ByteBufferNB using node Buffers ---\n".bold.white), + test.log("\n\n --- ByteBufferNB ---\n".bold.white), test.log("[optional] node-memcpy is "+(ByteBuffer.memcpy ? "present" : "not present")); else if (ByteBuffer == ByteBufferAB) - test.log("\n\n --- ByteBufferAB using DataView ---\n".bold.white); - else if (ByteBuffer == ByteBufferTA) - test.log("\n\n --- ByteBufferTA using Typed Arrays ---\n".bold.white); + test.log("\n\n --- ByteBufferAB ---\n".bold.white); + else if (ByteBuffer == ByteBufferAB_DataView) + test.log("\n\n --- ByteBufferAB_DataView ---\n".bold.white); test.ok(type === Buffer || type === ArrayBuffer); test.ok(typeof ByteBuffer == "function"); test.done(); @@ -1040,5 +1040,5 @@ module.exports = { }, "NB": makeSuite(ByteBufferNB), "AB": makeSuite(ByteBufferAB), - "TA": makeSuite(ByteBufferTA) + "TA": makeSuite(ByteBufferAB_DataView) }; \ No newline at end of file From aa580e725393ab53c0c2fdb5f32541c196db6049 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 01:58:29 +0200 Subject: [PATCH 53/91] READMEs --- README.md | 6 +++--- dist/README.md | 16 +++++++--------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 428af95..d9cf61a 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- * Three API-compatible versions: - * **ByteBufferNB** : Backing buffer / Accessor: node Buffer - * **ByteBufferAB** : Backing buffer: ArrayBuffer, Accessor: DataView - * **ByteBufferTA** : Backing buffer: ArrayBuffer, Accessor: Uint8Array + * **ByteBufferNB**   Backing buffer / Accessor: node Buffer + * **ByteBufferAB**   Backing buffer: ArrayBuffer, Accessor: Uint8Array + * **ByteBufferAB_DataView**   Backing buffer: ArrayBuffer, Accessor: DataView * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) diff --git a/dist/README.md b/dist/README.md index 477a95d..8078e3d 100644 --- a/dist/README.md +++ b/dist/README.md @@ -3,12 +3,12 @@ Distributions ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. -### Browsers: ArrayBuffers +### Browsers: [ArrayBuffer](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)s -##### Using Typed Arrays +##### Using [TypedArray](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray)s * **[ByteBufferAB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.js)** - uses an ArrayBuffer as its backing buffer, accessed through an Uint8Array (Typed Array). + uses an ArrayBuffer as its backing buffer, accessed through an [Uint8Array](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array). * **[ByteBufferAB.min.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.js)** has been compiled with Closure Compiler using advanced optimizations. @@ -19,10 +19,10 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferAB.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.map)** is the source map generated by Closure Compiler. -##### Using a DataView +##### Using [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView)s * **[ByteBufferAB_DataView.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.js)** - uses an ArrayBuffer as its backing buffer, accessed through a DataView. + uses an ArrayBuffer as its backing buffer, accessed through a [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView). * **[ByteBufferAB_DataView.min.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.min.js)** has been compiled with Closure Compiler using advanced optimizations. @@ -33,15 +33,13 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferAB_DataView.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.min.map)** is the source map generated by Closure Compiler. -### node.js: Buffers +### node.js: [Buffer](https://nodejs.org/api/buffer.html)s * **[ByteBufferNB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferNB.js)** - uses a node Buffer as its backing buffer. + uses a [node Buffer](https://nodejs.org/api/buffer.html) as its backing buffer and accessor. Also available as `bytebuffer` on [npm](https://www.npmjs.org/package/bytebuffer) and [bower](http://bower.io/search/?q=bytebuffer). When installed as an [npm package](https://www.npmjs.org/package/bytebuffer), both versions are available. `exports` and `exports.ByteBufferNB` point at ByteBufferNB, `exports.ByteBufferAB` points at ByteBufferAB. - -**See also:** [Experimental distributions](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist/experimental) From f83aca278f6fa2d171ef2a20e4d100b358fd8d6d Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 02:01:07 +0200 Subject: [PATCH 54/91] README --- dist/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/README.md b/dist/README.md index 8078e3d..777630a 100644 --- a/dist/README.md +++ b/dist/README.md @@ -3,9 +3,9 @@ Distributions ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. -### Browsers: [ArrayBuffer](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)s +### Browser: [ArrayBuffer](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)-backed -##### Using [TypedArray](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray)s +##### Accessed through TypedArrays * **[ByteBufferAB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.js)** uses an ArrayBuffer as its backing buffer, accessed through an [Uint8Array](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array). @@ -19,7 +19,7 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferAB.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.map)** is the source map generated by Closure Compiler. -##### Using [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView)s +##### Accessed through DataViews * **[ByteBufferAB_DataView.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.js)** uses an ArrayBuffer as its backing buffer, accessed through a [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView). @@ -33,7 +33,7 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferAB_DataView.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.min.map)** is the source map generated by Closure Compiler. -### node.js: [Buffer](https://nodejs.org/api/buffer.html)s +### node.js: [Buffer](https://nodejs.org/api/buffer.html)-backed * **[ByteBufferNB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferNB.js)** uses a [node Buffer](https://nodejs.org/api/buffer.html) as its backing buffer and accessor. From 54513ee932947fa37328de940b7b527a2215e227 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 02:14:27 +0200 Subject: [PATCH 55/91] Minor cleanup --- dist/ByteBufferAB.js | 8 +++----- dist/ByteBufferAB.min.js | 2 +- dist/ByteBufferAB.min.js.gz | Bin 8274 -> 8274 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferAB_DataView.js | 8 +++----- dist/ByteBufferAB_DataView.min.js | 2 +- dist/ByteBufferAB_DataView.min.js.gz | Bin 7604 -> 7607 bytes dist/ByteBufferAB_DataView.min.map | 2 +- dist/ByteBufferNB.js | 3 +-- src/ByteBufferAB.js | 2 +- src/ByteBufferAB_DataView.js | 2 +- src/methods/toBuffer.js | 9 +++------ tests/suite.js | 2 +- 13 files changed, 17 insertions(+), 25 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 6aae736..0b09582 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -16,7 +16,7 @@ /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // @@ -2819,12 +2819,10 @@ } // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) { + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) return this.buffer; - } - if (offset === limit) { + if (offset === limit) return EMPTY_BUFFER; - } var buffer = new ArrayBuffer(limit - offset); new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); return buffer; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 3355a34..220c10f 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -1,6 +1,6 @@ /* ByteBuffer.js (c) 2015 Daniel Wirtz - [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array + [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 5fbc636d2bd5fb4bcf1bb771a8aeaf5df887c46d..844f2749e1e29868ec9f139b25f58649604ea9ef 100644 GIT binary patch delta 8190 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%0D8EgBxFW>#hN<@3-b%?%2l$KBM)WABJ&Dqk)s;k* z-j^%sB3#Z1&ApA>rJ^Ex^_nC`-vpc?1!>V>v7FOaGC+cSaLnSkB=jpmL4RUu>;NRd z$$W?hMSX@r>Wv(hWnWhk_*BGF$=RZKn2B0l9<}13Yh%NXU*b=u(?YItOU5Ch)!ax+ z>9-e|^R;kxoenzz@h-f*6_-hx_I!mP<-y+(YVLhd-@OI(H%ZpYQJ>@nm3W%=P}EQC zmTZFh?jRe+@U>iy+b52ZAAh{bCqpHFD(XzJ9`&V&-6mCqZW3AUgslR99i1D8;y|lql1K>@arWu~{|> zCql(aM=FBL+ugteBC&Wha)V$DT;wfCl2#NuLJ^vjn_Qnq1bIWp@yEl315_P1Yt&hL z#frVU>kI?=s*n$KzM#)Tcu!-{g1ZJTcjYu(DMN7>ZsllLUVrk7D>abavgK^F0%xrx zlG26XvXP58b*SLdEqsrg(N@?j-&C(PR8dq(Ad?K_;b$?Okng~BwC~e)lu2Dad80#A zm;?e2i4Td-Y|kHsCC9-R)YMdye?G@QAV$21!R6<;dmBscOBQczJ!uyMYb7f22=ewF zHjKl-Z+Dk$G=F^|pE`1}SCaI9aEjiP$Ax;ql^WcW>bFFoMvAK}eKOnGt+}F5c?(Jv zia)AYddZ|$iW;&5^>hIC_@yp2IEQ9tCUBAuGZA;)6bi3?Dg!r@8CQ8fzJ^#+s~dHv zWMcubE)=mri^%VRw#d)uvHXl)+_qK8L?K&e#W^NE>3^=f@b|Err+Ufns&r%eN1o^> z`bVawNr2~{3N`V&DxJpy-8`9yeq$06PM5P_ktLeJ#WcMjAK}51~8#piwVVKpNVE^}2^~G1_lGVv(6`coz-R`cwS5<#qU53ty zpAVO5<9`fi-O`NV$#AsDkjh=bm9>|;PK>Y<2FB5~04}lgJ?i_^52znfe?kM31{Mu$ z8aOm?Y2eYor$Io2kOmVPnl!X%Xw%T4p-V%LhCU4g8iq8S(1}SW0iA?&GNG1f!ezl_ z!{xx`!sWr`!xg|4!Ugdxh-X1O3*uQ2&w_ZCM}K>k1raTXXhB2^BH9qqhKROJ-H^Hy z>Y3ED&{v)3P|u~FM?If<0d*bf1}orx%auIeohY*zb#8LKOqS_t1^h7{@9HyQT{Tcj z*$np;fq9`5F7z}();grSzqg0Jv%<|lJsmn^K6hy|;zDORI(2r@`xd5wXZc8KN#SWe zw|_fns{}q!7x8(<{1%Tizynj^zC~_@$u|X5aNE)i)Kfndcus9Bl`92xCbW-dXVqv@ zEyHL=H)Y!}**3sGvS__zD|(ZSWW!;qGeVom&?VBXL<&XP$W)1r$B*&wMXqm#Zb+at z+q4K&jnkUF#>z4*q;K&PfXSJ~d*R|G<$tz&IuPbP;)-mtp^u;0w7K@v%IUg!JEP6p z8D)Ib_&lEtDGKbR3wyfUu%N&DhrXCD|2+D8Jo=Y8nizMht6PxIoj|*YqP!X86cJhc z>5fwdf<+}EbRv`t&gTA5nq%+#s;j9v&R)j5oA!Lk$Icd2rkXmzV;lT%f4ASI0)H@A ze>3}Fz7CLl_mlfha#82LaIE_PB5rp&Fwi&quBL3p)vmXqdFOt1c)8Jk2ei_*YZRMG zmvh1*mXurIthSB487G&=_}0-C*;Yb;$D~pVcss_I$K;JvBBn?sC=jXG^QShN_pyza zSI!hB_1)>@{|Dyi{jYHjO`9o^Cx4ZRG^4^H)kM0WyhVDM!MXrg2xjY zHy;^4$_-#NT0DG}Z(tM?uCG)E7UM6EyQ8jY#P~qsa$G47+tC~7k!a_o6JL>DhW_QnW+2AyhSjiAd+KIOTwK_Zu`pDcek zM2ml^&dxmRo+%xeFeB3X+J9_=ZZI;0^0gU@u%-oQ%4&)GC^t>Y0C5NlYFLIeP<3sf zO|@Jj(-ws{QY<0Gyq=F{7TG@x% zMd8%(VuRi|L>IJ&RNY*p^#7tPa`n`($eoj$Vs4Zgv~oE`_tC(j2Y>uI;?D_x&hRs1 z^ArZ0T+?plY=W5t(u}ATF0^?iv=4cH%<~gSqG({wxYk)5qGJRk&7w5CZ5i7t)7or? z1re#_Dl~5qZ&Pm5eU;F%UCK@o>x6o(65b#d&yq7r)>{^%t2PB`}Hz;nSQ+$5HkM8MPqcN5!upq^o_1)9Y z@z45}z!bXQ<~j1}E%}g;;IM|kA6Qz63}FMl%#cfOu?8m2!}B{Ne>(meA9g_I>qGK* zkdlB&JWdKU7)XQDJ9PfKdwPO$NZ=BkZ}Q#{3Tie_Uezl8^MAVbq3!y+OMlB=76gi$ zNrx~X_=>u*I>(K^tA8I|Z}omp^{-O)p$n4*`BD1yfsANalrFS+;x|*C*jumGah%-=YY;t84D~b`t7Dd!E zni+P38};27p6B=~+_Hz3m)o|>(LoFdhkrqCyC!0T;=S+W+`BrJgzC@L zgQ!Qyxjfqe2OH zDuIRr*w;x5f28|c2qdb%%4hr<(KhA785&5u!UiFj5+5@OLZh;r-{qBs_!b9n|$ zP!WK1l79fSAW>N>0_u6gpYvQ0q#H$&1B;f;QALjZ<(npT*HqNQ_o!FT`&MprukzzA zFvBuC%z2}7-d8!lcXl{W!O!dnE`lG~aSM8w)`^u8l7AdgRel{Myz;35JRsB8wPPYQ zZhxe&e_F9yF~eBTdXh*21(sx%klU*0!q>Q$_uXRXkBnVk&R?&uok#EB*S%K&>;lAs z@Q#ivcx;Z}>Y#BDNe>)dNW3$az9nu}hp$Vw5(5)`NmK~-O}7poL9i9@TvWE5)tElB ze?ITdzzw^fGJvJiiuXToH<%t5{?HWrl)?(KqY;8}2$qR)4Di0MOLlA^-pY diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index b844e6c..2182c04 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":92, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], "names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBufferPrototype.writeInt8","relative","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index a855861..d3de2b7 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -16,7 +16,7 @@ /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * [BUILD] ByteBufferAB_DataView - Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // @@ -2544,12 +2544,10 @@ } // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) { + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) return this.buffer; - } - if (offset === limit) { + if (offset === limit) return EMPTY_BUFFER; - } var buffer = new ArrayBuffer(limit - offset); new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); return buffer; diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index 097a299..d2ce77d 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -1,6 +1,6 @@ /* ByteBuffer.js (c) 2015 Daniel Wirtz - [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + [BUILD] ByteBufferAB_DataView - Backing buffer: ArrayBuffer, Accessor: DataView Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ diff --git a/dist/ByteBufferAB_DataView.min.js.gz b/dist/ByteBufferAB_DataView.min.js.gz index 892bc8d7ddb053a2f81b960406febb39f6ccee31..7823c05fa06ea4a078c366d8d45c6475b7cdaa3d 100644 GIT binary patch delta 1865 zcmV-P2e$aMJGVOqABzYG+|rQ-qJR7C1&PRq3Hwsnt2`t0(_}WT_~N&Ia5?`{c}r$v zcD!89mv;5#bjrqLTA>8!Hy(+;R*~y_J3GEh;V<1p;bc{pZ1EaUDH*Q%GvJxVv%vxB z6@UM~y=!T1)Cj_N{R)YyWto7qfP~fyLON_!s`ilGQ%)`)z>J8Dgl)-A*(Lbz>7Ex) zS+ZDN)z; zzrBrOpuDD#2fpI%v~nS=loiMPFLI3A0e>$7Q4QDg7V%4nsK_*o9$?TCQ)|!ZfB;k` zZ;5*X;vSPSZwq_Q1+WXd%f`gv*pajB4tH4KAcmS|t?`n=g@0B)jxnYZ+QFnRT0o3y z%9$^d6*UdbhE`NSy~9F&{eE{x_g_I>;4U5d;(H72^4bii?jq4KU<{D$;R)zrUw@lu z1Y=$@ZNSz@#A06i!I|qi?xhgEZ{RsgDjjA*%}^U^L5ll9*7zYo!%ZX5+7jGq7H6PR zNVPSKeD51HQ9WsZ`r1hIwL&Aldd(@kkmC|^Eb2MV6>$X_mKt{9sT3bIU#PrT^uP+* z>VssJyp!N=gf85x`b7rLidLylrGMD9d8@w4MFpFYOP7IB9r9^f*j!kYyA2|hV^k+A z3rCK%#mf#ad%WDkC7_E0I8RJ~Qz2d;S`>AUm<~giSB8CC6uY9>lOtre1LmTZ+i({G zNxM`Fk6Vk4<;vnb7+_6!HZf-{TGZR5+k_>h4x!6-H9K{Dp@u#577cnWVt;i~J$bL{ zdH3zQ>}6d9gm<wr(DF!Arw19#<;nSdxgo#7;nr45Kbew z0anw@6JNY)Jyvr#zp^SF2VckOwc``&q+Tg~G-1~B>LqJQzLnLaRiETmzO zfrZQPr0^rHv{QsAIIp9TS()i#zgGHbv^o5`$u|$wpiDRD#NCjGqQ zBrum0MH|1wz}CQa27eEv?;EZ?6Au{J=oHQu7aq?&Z;JdmU@sh3cf7)NXAEY<2N(M1 z!kyU&GV=HHDLe2$JeW7`s~g_1(n?#6ZUT}l=r?}SG;AxHY(RHC{onwc3MS46EvhYX z!C}dx9XRA_t1n9gPC1j-Ll^~o(BnFexkjg|56DE%*q}V};(s-wb}~RSbP#`q{XsA% z-mV3fnHZNqlwq)tWa=QwSFE82DguyC5P%LOvS>*_-ly!oC^$hYl_VKJ>9`1j&KZVS zq)qBGTT;I`N4>hwnxze(Q)GcG9_EEA4~tG^(OFgWOA!mB{R5gh90p%lWGnGcg6^FA zE6x@F=!*J$cz-<4{W4#KFyrw)PiNC5{%eEE-hArXi;$``6mfN&g#ThBV@83Pbj*^O zjNOSS8B{OMNM)(Ij>BJC^xqX!tda*UL(v4WOU5CqB#sG6oJ~yL1{AOl*esJZr6y$8 zRfU-`h$adAsh;7J8}_P%=Ee2Y1C~7PB&RC*+V26nuLD6NMwpLNxrD;5$}S9!-vocI zSn7AK2LBHb{9*rmJQW4t%|Lhw=7EPm$5}r1%X{NPjzSR#r3NHbx%w@nMqSH16AvQ2i^4V@W0zp%(D5N;P2zF_eU}VKDd$(!WG3pr8N% DfS8=a delta 1862 zcmV-M2f6sSJG46nABzYG%gvDnqJOLGRh|+0X)+sEeDSJZIa)5sSNS`x98tD!oFCQw`|JDiUpPREMUt@6tc?Ef>8MH)r7Lyis8x!wp>l-vr4nxuqrFY`js$> z7OVc#r{hT!uKhZlpFI^#d->*Rwl|~svJ$X}Or|UA$y3W7t!FfXvg{Q)kAJ^c*7hgu zX=D@ZV~WnJyhWqQj0IKC^P;Z{HXl{U?ygO|QT@g7FGufRo&5Iv=zor$zdZRDa*g0V zfcqNw@#_~ak6xDmQvjwK@as26@7^81JwfhdWbZ(W$c5M7-y4SnMd5P(rSg`{#_V{x zoGnYV>K=K|P;-DP9qaO}ugc85DGa1cXHv(|V?;le*FAIBI|3GHCg7cC%0HRa5g z$%>kWWjr&53H+Pqa?<)VVk$fe7`s1ErwEo?3<%H0N$$}y^wm4ze6 z+Tvx0mpxwY;S$hA0-Pr%z^M=~5G{(jM@)yI%PYgaEs9-H?8yV36m1Tomi&l+NPu7q1tj%hON}MYk7`ygNA_+qAW(|sIco*#tcoLbBnhjpE z2B3qawl+40@6mT7B_Kn~v?x$}r{q<3gMlC%t)NL|MdFs?&Ovdf1lwYxMBbmF{Vo49 z+HQc}^De&Kaw9F&o5KO>Bj8SqqsfMaJG1#BKIwV9z0E`D!{O#( z_y>Jj5vXl0g3f?REbEK*8QS!px`;mk{!=bumiH+KIm~B$6TXR)dysvXKYX&dGUW5Q9Bu+89Io+!u}wb6K~f7 z%S?<*Aj&XUNHTR0#D-c z7(|l<{#4KK$qjo|Li6H!>H$lhc9K(-eC_uDUGjf?9;Q_Acpk1s@Nk}4X>I*FF=aII z3ym7=>o8`mPfXAOYurJmU^y#l!5tKAwsK@Ma*q1oOZ{pyMnb`{ljyAxEJIgwlo9J52RYqHT2;Tt)X7*%;EJ zLc)K0qiehg2_HxVyR6osR&2hf_m7)BD9G*+CcE3@aSLzcZ#M;f!Y|ebT^D~=Jn2N- zwtc3IaX=P|G7W8eiya|Ga!rnM1RjlyfL!~173Pu(Mw - * [BUILD] ByteBufferTA - Backing buffer: ArrayBuffer, Accessor: Uint8Array + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/src/ByteBufferAB_DataView.js b/src/ByteBufferAB_DataView.js index 4962a23..0f10b59 100644 --- a/src/ByteBufferAB_DataView.js +++ b/src/ByteBufferAB_DataView.js @@ -17,7 +17,7 @@ /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * [BUILD] ByteBufferAB_DataView - Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // diff --git a/src/methods/toBuffer.js b/src/methods/toBuffer.js index 6ce305d..799fa25 100644 --- a/src/methods/toBuffer.js +++ b/src/methods/toBuffer.js @@ -36,12 +36,10 @@ ByteBufferPrototype.toBuffer = function(forceCopy) { //? } else { // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) { + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) return this.buffer; - } - if (offset === limit) { + if (offset === limit) return EMPTY_BUFFER; - } var buffer = new ArrayBuffer(limit - offset); new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); return buffer; @@ -72,9 +70,8 @@ ByteBufferPrototype.toArrayBuffer = function() { memcpy(ab, 0, this.buffer, offset, limit); } else { // Slow var dst = new Uint8Array(ab); - for (var i=offset; i Date: Thu, 11 Jun 2015 02:24:17 +0200 Subject: [PATCH 56/91] Add ByteBuffer.accessor() getter to test build programmatically, updated ByteBuffer#toString to reflect the changes --- dist/ByteBufferAB.js | 9 ++++++++- dist/ByteBufferAB.min.js | 18 +++++++++--------- dist/ByteBufferAB.min.js.gz | Bin 8274 -> 8291 bytes dist/ByteBufferAB.min.map | 4 ++-- dist/ByteBufferAB_DataView.js | 11 +++++++++-- dist/ByteBufferAB_DataView.min.js | 8 ++++---- dist/ByteBufferAB_DataView.min.js.gz | Bin 7607 -> 7616 bytes dist/ByteBufferAB_DataView.min.map | 4 ++-- dist/ByteBufferNB.js | 9 ++++++++- index.js | 10 ++++++---- src/methods/static/accessor.js | 13 +++++++++++++ src/methods/static/type.js | 1 - src/methods/toString.js | 2 +- tests/suite.js | 3 ++- 14 files changed, 64 insertions(+), 28 deletions(-) create mode 100644 src/methods/static/accessor.js diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 0b09582..2b367c2 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -220,6 +220,14 @@ }; } + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return Uint8Array; + }; /** * Allocates a new ByteBuffer backed by a buffer of the specified capacity. * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. @@ -292,7 +300,6 @@ ByteBuffer.type = function() { return ArrayBuffer; }; - /** * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its * {@link ByteBuffer#limit} to the length of the wrapped data. diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 220c10f..cbc5d66 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -7,15 +7,15 @@ (function(t){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b< a.length?a.charCodeAt(b++):null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+w.apply(String,a);1024>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=m;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;m=d?0:m-1;var l=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=g):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(h=Math.pow(2,-d))&&(d--,h*=2),b=1<=d+k?b+p/h:b+p*Math.pow(2,1-k),2<=b*h&&(d++,h/=2),d+k>=g?(b=0,d=g):1<=d+k?(b=(b*h-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0)); -for(;8<=e;a[c+m]=b&255,m+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a, -c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +for(;8<=e;a[c+m]=b&255,m+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== +typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 844f2749e1e29868ec9f139b25f58649604ea9ef..c856a0278c9d602b3db4500b62d6ee5b0cd7690c 100644 GIT binary patch delta 8286 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 delta 8250 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 2182c04..cbd213a 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":92, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBufferPrototype.writeInt8","relative","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","require","module","exports","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","writeInt8","ByteBufferPrototype.writeInt8","relative","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index d3de2b7..203e9a6 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -220,6 +220,14 @@ }; } + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return DataView; + }; /** * Allocates a new ByteBuffer backed by a buffer of the specified capacity. * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. @@ -293,7 +301,6 @@ ByteBuffer.type = function() { return ArrayBuffer; }; - /** * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its * {@link ByteBuffer#limit} to the length of the wrapped data. @@ -2579,7 +2586,7 @@ */ ByteBufferPrototype.toString = function(encoding, begin, end) { if (typeof encoding === 'undefined') - return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + return "ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; if (typeof encoding === 'number') encoding = "utf8", begin = encoding, diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index d2ce77d..fe5c512 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -5,9 +5,9 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ (function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof -f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= +a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0=== +(a&&a instanceof f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& (this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); @@ -66,7 +66,7 @@ this.toDebug(!0))};e.remaining=function(){return this.limit-this.offset};e.reset new DataView(a));return this};e.reverse=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); -b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+ +b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+ this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, 83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= diff --git a/dist/ByteBufferAB_DataView.min.js.gz b/dist/ByteBufferAB_DataView.min.js.gz index 7823c05fa06ea4a078c366d8d45c6475b7cdaa3d..b7d07b5c61e20c2034c15881562b4c2372c74dc0 100644 GIT binary patch delta 6918 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 D!%A-? diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index f5b92d8..63a11c0 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":86, -"mappings":"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", +"mappings":"A;;;;;;AAsBC,SAAQ,CAACA,CAAD,CAAS,CAQdC,QAASA,EAAc,CAACC,CAAD,CAAO,CAcTC,QAAA,EAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAChC,WAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeD,CAAAI,iBADf,CAE4B,YAA5B,GAAI,MAAOF,EAAX,GACIA,CADJ,CACmBF,CAAAK,eADnB,CAEwB,YAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeH,CAAAM,iBADf,CAEA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,kBAAX,CAAN,CACJL,CAAA,CAAe,CAAEA,CAAAA,CACjBC,EAAA,CAAW,CAAEA,CAAAA,CALF,CAaf,IAAAK,OAAA,CAA2B,CAAb,GAAAP,CAAA,CAAiBQ,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBT,CAAhB,CAO9C,KAAAU,KAAA,CAAyB,CAAb,GAAAV,CAAA,CAAiB,IAAjB,CAAwB,IAAIW,QAAJ,CAAa,IAAAJ,OAAb,CASpC,KAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAad,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CApEsC,CA2J5Da,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA;AAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf,CAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ,CAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CA1F7BxB,CAAAgC,QAAA,CAAqB,WAQrBhC,EAAAiC,cAAA,CAA2B,CAAA,CAQ3BjC,EAAAkC,WAAA,CAAwB,CAAA,CAOxBlC,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAkC,WAO5BlC,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAM1B,KAAIoC,EAAsBnC,CAAA+B,UAA1B,CAQItB,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CARnB,CAeIgB,EAAqBE,MAAAQ,aAsCzBpC,EAAAqC,SAAA,CAAsBC,QAAQ,EAAG,CAC7B,MAAO1B,SADsB,CAajCZ,EAAAuC,SAAA;AAAsBC,QAAQ,CAACvC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAAyC,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoB1C,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAOyC,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACIzC,CAEA,CAFWD,CAEX,CADAA,CACA,CADe0C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAI5C,EAAW,CAAf,CACSiB,EAAE,CADX,CACc4B,EAAEH,CAAAxB,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0C4B,CAA1C,CAA6C,EAAE5B,CAA/C,CACSlB,CAAA+C,aAAA,CAAwBJ,CAAA,CAAQzB,CAAR,CAAxB,CAGL,GAFIyB,CAAA,CAAQzB,CAAR,CAEJ,CAFiBlB,CAAAgD,KAAA,CAAgBL,CAAA,CAAQzB,CAAR,CAAhB,CAA4B0B,CAA5B,CAEjB,EADAzB,CACA,CADSwB,CAAA,CAAQzB,CAAR,CAAAH,MACT,CAD4B4B,CAAA,CAAQzB,CAAR,CAAAL,OAC5B,CAAa,CAAb,CAAIM,CAAJ,GAAgBlB,CAAhB,EAA4BkB,CAA5B,CAEJ,IAAiB,CAAjB,GAAIlB,CAAJ,CACI,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACP8C,EAAAA,CAAK,IAAIjD,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAELQ,EAAAA,CAAO,IAAIuC,UAAJ,CAAeD,CAAAzC,OAAf,CACN,KAALU,CAAK,CAAH,CAAG,CAAOA,CAAP,CAAS4B,CAAT,CAAA,CACDK,CAEA,CAFKR,CAAA,CAAQzB,CAAA,EAAR,CAEL,CADAC,CACA,CADSgC,CAAApC,MACT,CADoBoC,CAAAtC,OACpB,CAAc,CAAd,EAAIM,CAAJ,GACAR,CAAAyC,IAAA,CAASC,CAAA,IAAIH,UAAJ,CAAeC,CAAA3C,OAAf,CAAA6C,UAAA,CAAmCF,CAAAtC,OAAnC,CAA8CsC,CAAApC,MAA9C,CAAT,CAAkEkC,CAAApC,OAAlE,CACA,CAAAoC,CAAApC,OAAA,EAAaM,CAFb,CAIJ8B,EAAAlC,MAAA,CAAWkC,CAAApC,OACXoC,EAAApC,OAAA,CAAY,CACZ,OAAOoC,EA3B6D,CAoCxEjD,EAAA+C,aAAA,CAA0BO,QAAQ,CAACL,CAAD,CAAK,CACnC,MAA4C,CAAA,CAA5C;CAAQA,CAAR,EAAcA,CAAd,WAA4BjD,EAA5B,CADmC,CAQvCA,EAAAuD,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAO9C,YADkB,CAgB7BV,EAAAgD,KAAA,CAAkBS,QAAQ,CAACjD,CAAD,CAASoC,CAAT,CAAmB1C,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAOyC,EAAX,GACIzC,CAEA,CAFWD,CAEX,CADAA,CACA,CADe0C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOrC,EAAX,CAGI,OAFwB,WAEhBoC,GAFJ,MAAOA,EAEHA,GADJA,CACIA,CADO,MACPA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAO5C,EAAA0D,WAAA,CAAsBlD,CAAtB,CAA8BN,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAA2D,QAAA,CAAmBnD,CAAnB,CAA2BN,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA4D,WAAA,CAAsBpD,CAAtB,CAA8BN,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA6D,SAAA,CAAoBrD,CAApB,CAA4BN,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA8D,UAAA,CAAqBtD,CAArB,CAA6BN,CAA7B,CACX,SACI,KAAM6D,MAAA,CAAM,wBAAN,CAA+BnB,CAA/B,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAIpC,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAMwD,UAAA,CAAU,gBAAV,CAAN,CAEJ,GAAIhE,CAAA+C,aAAA,CAAwBvC,CAAxB,CAAJ,CAGI,MAFAyC,EAEOA;AAFFd,CAAA8B,MAAAC,KAAA,CAA+B1D,CAA/B,CAEEyC,CADPA,CAAAnC,aACOmC,CADY,EACZA,CAAAA,CAEX,IAAIzC,CAAJ,WAAsB0C,WAAtB,CACID,CACA,CADK,IAAIjD,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIK,CAAAW,OAAJ,GACI8B,CAAAzC,OAGA,CAHYA,CAAAA,OAGZ,CAFAyC,CAAApC,OAEA,CAFYL,CAAA2D,WAEZ,CADAlB,CAAAlC,MACA,CADWP,CAAA2D,WACX,CAD+B3D,CAAA4D,WAC/B,CAAAnB,CAAAtC,KAAA,CAAU,IAAIC,QAAJ,CAAaJ,CAAAA,OAAb,CAJd,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACHuC,CACA,CADK,IAAIjD,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIK,CAAA4D,WAAJ,GACInB,CAAAzC,OAGA,CAHYA,CAGZ,CAFAyC,CAAApC,OAEA,CAFY,CAEZ,CADAoC,CAAAlC,MACA,CADWP,CAAA4D,WACX,CAAAnB,CAAAtC,KAAA,CAA8B,CAApB,CAAAH,CAAA4D,WAAA,CAAwB,IAAIxD,QAAJ,CAAaJ,CAAb,CAAxB,CAA+C,IAJ7D,CAFG,KAQA,IAA+C,gBAA/C,GAAI6D,MAAAtC,UAAAuC,SAAAJ,KAAA,CAA+B1D,CAA/B,CAAJ,CAGH,IAFAyC,CAEK,CAFA,IAAIjD,CAAJ,CAAeQ,CAAAW,OAAf,CAA8BjB,CAA9B,CAA4CC,CAA5C,CAEA,CADL8C,CAAAlC,MACK,CADMP,CAAAW,OACN,CAAAD,CAAA,CAAE,CAAP,CAAUA,CAAV,CAAYV,CAAAW,OAAZ,CAA2B,EAAED,CAA7B,CACI+B,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAjB,CAAoBV,CAAA,CAAOU,CAAP,CAApB,CAJD,KAMH,MAAM8C,UAAA,CAAU,gBAAV,CAAN;AACJ,MAAOf,EAvD0D,CAmErEd,EAAAqC,UAAA,CAAgCC,QAAQ,CAACC,CAAD,CAAQ7D,CAAR,CAAgB,CACpD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAI+D,EAAY,IAAApE,OAAA4D,WACZvD,EAAJ,CAAa+D,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmB/D,CAAnB,CAA4B+D,CAA5B,CAAwC/D,CAApD,CAEJ,KAAAF,KAAAmE,QAAA,CADAjE,CACA,CADU,CACV,CAA0B6D,CAA1B,CACIC,EAAJ;CAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB6C,CA+BxDsB,EAAA4C,UAAA,CAAgC5C,CAAAqC,UAQhCrC,EAAA6C,SAAA,CAA+BC,QAAQ,CAACpE,CAAD,CAAS,CAC5C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAAuE,QAAA,CAAkBrE,CAAlB,CACR8D,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZqC,CAsBhDvC,EAAAgD,SAAA,CAA+BhD,CAAA6C,SAS/B7C,EAAAiD,WAAA,CAAiCC,QAAQ,CAACX,CAAD,CAAQ7D,CAAR,CAAgB,CACrD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAIyE,EAAY,IAAA9E,OAAA4D,WACZvD,EAAJ,CAAayE,CAAb,EACI,IAAAT,OAAA,CAAY,CAACS,CAAD,EAAc,CAAd,EAAmBzE,CAAnB,CAA4ByE,CAA5B,CAAwCzE,CAApD,CAEJ,KAAAF,KAAA4D,SAAA,CADA1D,CACA,CADU,CACV,CAA2B6D,CAA3B,CACIC,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDsB,EAAAoD,WAAA,CAAiCpD,CAAAiD,WAQjCjD,EAAAqD,UAAA,CAAgCC,QAAQ,CAAC5E,CAAD,CAAS,CAC7C,IAAI8D;AAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAA+E,SAAA,CAAmB7E,CAAnB,CACR8D,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZsC,CAsBjDvC,EAAAwD,UAAA,CAAgCxD,CAAAqD,UAYhCrD,EAAAyD,WAAA,CAAiCC,QAAQ,CAACnB,CAAD,CAAQ7D,CAAR,CAAgB,CACrD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV;AAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAIiF,EAAY,IAAAtF,OAAA4D,WACZvD,EAAJ,CAAaiF,CAAb,EACI,IAAAjB,OAAA,CAAY,CAACiB,CAAD,EAAc,CAAd,EAAmBjF,CAAnB,CAA4BiF,CAA5B,CAAwCjF,CAApD,CAEJ,KAAAF,KAAAoF,SAAA,CADAlF,CACA,CADU,CACV,CAA2B6D,CAA3B,CAAkC,IAAAxE,aAAlC,CACIyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CAgCzDsB,EAAA6D,WAAA,CAAiC7D,CAAAyD,WAUjCzD,EAAA8D,UAAA,CAAgCC,QAAQ,CAACrF,CAAD,CAAS,CAC7C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAAwF,SAAA,CAAmBtF,CAAnB,CAA2B,IAAAX,aAA3B,CACRyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZsC,CAwBjDvC,EAAAiE,UAAA,CAAgCjE,CAAA8D,UAUhC9D,EAAAkE,YAAA,CAAkCC,QAAQ,CAAC5B,CAAD,CAAQ7D,CAAR,CAAgB,CACtD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO7D,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAI0F,EAAY,IAAA/F,OAAA4D,WACZvD,EAAJ,CAAa0F,CAAb,EACI,IAAA1B,OAAA,CAAY,CAAC0B,CAAD,EAAc,CAAd,EAAmB1F,CAAnB,CAA4B0F,CAA5B,CAAwC1F,CAApD,CAEJ,KAAAF,KAAA6F,UAAA,CADA3F,CACA,CADU,CACV,CAA4B6D,CAA5B,CAAmC,IAAAxE,aAAnC,CACIyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CAgC1DsB,EAAAsE,YAAA,CAAkCtE,CAAAkE,YAUlClE,EAAAuE,WAAA,CAAiCC,QAAQ,CAAC9F,CAAD,CAAS,CAC9C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAAiG,UAAA,CAAoB/F,CAApB,CAA4B,IAAAX,aAA5B,CACRyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZuC,CAwBlDvC,EAAA0E,WAAA,CAAiC1E,CAAAuE,WAUjCvE,EAAA2E,WAAA,CAAiCC,QAAQ,CAACrC,CAAD,CAAQ7D,CAAR,CAAgB,CACrD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B;AAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAImG,EAAY,IAAAxG,OAAA4D,WACZvD,EAAJ,CAAamG,CAAb,EACI,IAAAnC,OAAA,CAAY,CAACmC,CAAD,EAAc,CAAd,EAAmBnG,CAAnB,CAA4BmG,CAA5B,CAAwCnG,CAApD,CAEJ,KAAAF,KAAAsG,SAAA,CADApG,CACA,CADU,CACV,CAA2B6D,CAA3B,CAAkC,IAAAxE,aAAlC,CACIyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA6BzDsB,EAAA+E,SAAA,CAA+B/E,CAAA2E,WAQ/B3E,EAAAgF,UAAA,CAAgCC,QAAQ,CAACvG,CAAD,CAAS,CAC7C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb;AAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA2B,IAAAX,aAA3B,CACRyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZsC,CAqBjDvC,EAAAmF,QAAA,CAA8BnF,CAAAgF,UAQ9BhF,EAAAoF,YAAA,CAAkCC,QAAQ,CAAC9C,CAAD,CAAQ7D,CAAR,CAAgB,CACtD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB;AAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAI4G,EAAY,IAAAjH,OAAA4D,WACZvD,EAAJ,CAAa4G,CAAb,EACI,IAAA5C,OAAA,CAAY,CAAC4C,CAAD,EAAc,CAAd,EAAmB5G,CAAnB,CAA4B4G,CAA5B,CAAwC5G,CAApD,CAEJ,KAAAF,KAAA+G,UAAA,CADA7G,CACA,CADU,CACV,CAA4B6D,CAA5B,CAAmC,IAAAxE,aAAnC,CACIyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA8B1DsB,EAAAwF,YAAA,CAAkCxF,CAAAoF,YAQlCpF,EAAAyF,WAAA,CAAiCC,QAAQ,CAAChH,CAAD,CAAS,CAC9C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAAmH,UAAA,CAAoBjH,CAApB,CAA4B,IAAAX,aAA5B,CACRyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZuC,CAsBlDvC,EAAA4F,WAAA,CAAiC5F,CAAAyF,WAI7B7H,EAAJ,GASIoC,CAAA6F,WA+JA,CA/JiCC,QAAQ,CAACvD,CAAD,CAAQ7D,CAAR,CAAgB,CACrD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,CACIA,CAAA,CAAQ3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQ3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0B3E,EAA1B,CAAN,CACD,KAAMiE,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOM,EAAX,CACIA,CADJ,CACY3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGY3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CAHZ,CAIA7D,EAAA,EAAU,CACV,KAAIuH,EAAY,IAAA5H,OAAA4D,WACZvD,EAAJ,CAAauH,CAAb,EACI,IAAAvD,OAAA,CAAY,CAACuD,CAAD,EAAc,CAAd,EAAmBvH,CAAnB,CAA4BuH,CAA5B,CAAwCvH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA6B6D,CAAA2D,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA1H,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA0B,CAA1B,CAA6B6D,CAAA4D,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAA3H,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA6B6D,CAAA4D,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA3H,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA0B,CAA1B,CAA6B6D,CAAA2D,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOI1D,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjC8C,CA+JzD,CApHAsB,CAAAoG,UAoHA,CApHgCpG,CAAA6F,WAoHhC,CA5GA7F,CAAAqG,UA4GA,CA5GgCC,QAAQ,CAAC5H,CAAD,CAAS,CAC7C,IAAI8D;AAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAAxE,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAY,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAId,CAAJ,CAAS,IAAAY,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF8D,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAdsC,CA4GjD,CArFAvC,CAAAuG,SAqFA,CArF+BvG,CAAAqG,UAqF/B,CA5EArG,CAAAwG,YA4EA,CA5EkCC,QAAQ,CAAClE,CAAD,CAAQ7D,CAAR,CAAgB,CACtD,IAAI8D;AAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,CACIA,CAAA,CAAQ3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQ3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0B3E,EAA1B,CAAN,CACD,KAAMiE,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOM,EAAX,CACIA,CADJ,CACY3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CADZ,CAE0B,QAF1B;AAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGY3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CAHZ,CAIA7D,EAAA,EAAU,CACV,KAAIgI,EAAY,IAAArI,OAAA4D,WACZvD,EAAJ,CAAagI,CAAb,EACI,IAAAhE,OAAA,CAAY,CAACgE,CAAD,EAAc,CAAd,EAAmBhI,CAAnB,CAA4BgI,CAA5B,CAAwChI,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA6B6D,CAAA2D,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA1H,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA0B,CAA1B,CAA6B6D,CAAA4D,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAA3H,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA6B6D,CAAA4D,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA3H,KAAAsG,SAAA,CAAmBpG,CAAnB,CAA0B,CAA1B,CAA6B6D,CAAA2D,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOI1D,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjC+C,CA4E1D,CAhCAsB,CAAA2G,YAgCA,CAhCkC3G,CAAAwG,YAgClC,CAxBAxG,CAAA4G,WAwBA,CAxBiCC,QAAQ,CAACnI,CAAD,CAAS,CAC9C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ;GAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAAxE,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAY,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAId,CAAJ,CAAS,IAAAY,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA0G,SAAA,CAAmBxG,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF8D,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAduC,CAwBlD,CAAAvC,CAAA8G,WAAA,CAAiC9G,CAAA4G,WAxKrC,CAsLA5G,EAAA+G,aAAA,CAAmCC,QAAQ,CAACzE,CAAD,CAAQ7D,CAAR,CAAgB,CACvD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CASpBvD,CAAA,EAAU,CACV,KAAIuI,EAAY,IAAA5I,OAAA4D,WACZvD,EAAJ,CAAauI,CAAb,EACI,IAAAvE,OAAA,CAAY,CAACuE,CAAD,EAAc,CAAd,EAAmBvI,CAAnB,CAA4BuI,CAA5B,CAAwCvI,CAApD,CAEJ,KAAAF,KAAA0I,WAAA,CADAxI,CACA,CADU,CACV,CAA6B6D,CAA7B,CAAoC,IAAAxE,aAApC,CACIyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DsB,EAAAmH,WAAA,CAAiCnH,CAAA+G,aAQjC/G,EAAAoH,YAAA,CAAkCC,QAAQ,CAAC3I,CAAD,CAAS,CAC/C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAA8I,WAAA,CAAqB5I,CAArB,CAA6B,IAAAX,aAA7B,CACRyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZwC,CAsBnDvC,EAAAuH,UAAA,CAAgCvH,CAAAoH,YAWhCpH,EAAAwH,aAAA,CAAmCC,QAAQ,CAAClF,CAAD,CAAQ7D,CAAR,CAAgB,CACvD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CASpBvD,CAAA,EAAU,CACV,KAAIgJ,EAAY,IAAArJ,OAAA4D,WACZvD,EAAJ,CAAagJ,CAAb,EACI,IAAAhF,OAAA,CAAY,CAACgF,CAAD,EAAc,CAAd,EAAmBhJ,CAAnB,CAA4BgJ,CAA5B,CAAwChJ,CAApD,CAEJ,KAAAF,KAAAmJ,WAAA,CADAjJ,CACA,CADU,CACV,CAA6B6D,CAA7B,CAAoC,IAAAxE,aAApC,CACIyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DsB,EAAA4H,YAAA,CAAkC5H,CAAAwH,aAQlCxH,EAAA6H,YAAA,CAAkCC,QAAQ,CAACpJ,CAAD,CAAS,CAC/C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBM,CAAAA,CAAQ,IAAA/D,KAAAuJ,WAAA,CAAqBrJ,CAArB,CAA6B,IAAAX,aAA7B,CACRyE,EAAJ,GAAc,IAAA9D,OAAd,EAA6B,CAA7B,CACA,OAAO6D,EAZwC,CAsBnDvC,EAAAgI,WAAA,CAAiChI,CAAA6H,YAWjChK,EAAAoK,mBAAA,CAAgC,CAQhCpK,EAAAqK,kBAAA,CAA+BC,QAAQ,CAAC5F,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/C1E,EAAAuK,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxCzK,EAAA0K,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxCtI,EAAAyI,cAAA,CAAoCC,QAAQ,CAACnG,CAAD,CAAQ7D,CAAR,CAAgB,CACxD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV;AAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAHoC,IAapD0G,EAAO9K,CAAAqK,kBAAA,CAA6B3F,CAA7B,CAEX7D,EAAA,EAAUiK,CACV,KAAIC,EAAa,IAAAvK,OAAA4D,WACbvD,EAAJ,CAAakK,CAAb,EACI,IAAAlG,OAAA,CAAY,CAACkG,CAAD,EAAe,CAAf,EAAoBlK,CAApB,CAA6BkK,CAA7B,CAA0ClK,CAAtD,CACJA,EAAA,EAAUiK,CAEV,KAAAnK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA2BmK,CAA3B,CAA+BtG,CAA/B,CAAuC,GAAvC,CACAA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACIsG,CAEA,CAFKtG,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAA/D,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BmK,CAA7B,CACA,CAAa,KAAb,EAAItG,CAAJ,EACIsG,CAEA,CAFKtG,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA/D,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BmK,CAA7B,CACA,CAAa,OAAb,EAAItG,CAAJ,EACIsG,CAEA,CAFKtG,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA/D,KAAA4D,SAAA,CAAmB1D,CAAnB;AAA0B,CAA1B,CAA6BmK,CAA7B,CACA,CAAa,SAAb,EAAItG,CAAJ,EACI,IAAA/D,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA8B6D,CAA9B,EAAuC,EAAvC,CAA6C,EAA7C,CACA,CAAAoG,CAAA,CAAO,CAFX,GAII,IAAAnK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BmK,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CALX,CAHJ,GAWI,IAAAnK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BmK,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAAnK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BmK,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAAnK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA2BmK,CAA3B,CAA+B,GAA/B,CACA,CAAAF,CAAA,CAAO,CA1BX,CA4BA,OAAInG,EAAJ,EACI,IAAA9D,OACO,EADQiK,CACR,CAAA,IAFX,EAIOA,CAvDiD,CAkE5D3I,EAAA8I,oBAAA,CAA0CC,QAAQ,CAACxG,CAAD,CAAQ7D,CAAR,CAAgB,CAC9D,MAAO,KAAA+J,cAAA,CAAmB5K,CAAAuK,eAAA,CAA0B7F,CAA1B,CAAnB,CAAqD7D,CAArD,CADuD,CAclEsB,EAAAgJ,aAAA,CAAmCC,QAAQ,CAACvK,CAAD,CAAS,CAChD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH4B,IAW5C0G,EAAO,CAXqC,CAY5CpG,EAAQ,CAZoC,CAa5C2G,CAEJ,GAAG,CACCC,CAAA,CAAUzK,CAAV,CAAiBiK,CACjB,IAAK3K,CAAA,IAAAA,SAAL,EAAsBmL,CAAtB,CAAgC,IAAAvK,MAAhC,CAGI,KAFIwK,EAEEA,CAFIxH,KAAA,CAAM,WAAN,CAEJwH,CADNA,CAAA,UACMA,CADa,CAAA,CACbA,CAAAA,CAAN,CAEJF,CAAA,CAAO,IAAA1K,KAAA+E,SAAA,CAAmB4F,CAAnB,CACI,EAAX,CAAIR,CAAJ,GACIpG,CADJ,GACe2G,CADf,CACoB,GADpB,GAC4B,CAD5B,CAC8BP,CAD9B,GACyC,CADzC,CAEA,GAAEA,CAVH,CAAH,MAW2B,GAX3B,IAWUO,CAXV,CAWiB,GAXjB,EAYA3G,EAAA,EAAgB,CAChB,OAAIC,EAAJ,EACI,IAAA9D,OACO6D,EADQoG,CACRpG,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAUoG,CAFP,CAhCyC,CA+CpD3I,EAAAqJ,mBAAA,CAAyCC,QAAQ,CAAC5K,CAAD,CAAS,CAClD6K,CAAAA,CAAM,IAAAP,aAAA,CAAkBtK,CAAlB,CACS,SAAnB,GAAI,MAAO6K,EAAX,CACIA,CAAA,MADJ,CACmB1L,CAAA0K,eAAA,CAA0BgB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU1L,CAAA0K,eAAA,CAA0BgB,CAA1B,CACV,OAAOA,EAN+C,CAWtD3L,EAAJ,GAQIC,CAAA2L,mBAgMA;AAhMgC,EAgMhC,CAxLA3L,CAAA4L,kBAwLA,CAxL+BC,QAAQ,CAACnH,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACY3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGY3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CAHZ,CAD2C,KAMvCoH,EAAQpH,CAAAqH,MAAA,EAARD,GAA0B,CANa,CAOvCE,EAAQtH,CAAAuH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQxH,CAAAuH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EAtBW,CAwL/C,CAzJAlM,CAAAmM,eAyJA,CAzJ4BC,QAAQ,CAAC1H,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACY3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACO3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA2H,SAFJ,GAE8B3H,CAF9B,CAEsCA,CAAA4H,SAAA,EAFtC,CAIL,OAAO5H,EAAA6H,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuB9H,CAAA+H,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EAPiC,CAyJ5C;AAzIA1M,CAAA2M,eAyIA,CAzI4BC,QAAQ,CAAClI,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACY3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACO3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA2H,SAFJ,GAE8B3H,CAF9B,CAEsCA,CAAA4H,SAAA,EAFtC,CAIL,OAAO5H,EAAAuH,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgC9H,CAAAmI,IAAA,CAAU9M,CAAA+M,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EAPiC,CAyI5C,CAvHAnK,CAAA6K,cAuHA,CAvHoCC,QAAQ,CAACvI,CAAD,CAAQ7D,CAAR,CAAgB,CACxD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,CACIA,CAAA,CAAQ3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQ3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0B3E,EAA1B,CAAN,CACD,KAAMiE,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,2BAAlC,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAO7D,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOM,EAAX,CACIA,CADJ,CACY3E,CAAAmI,WAAA,CAAgBxD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACO3E,CAAAoI,WAAA,CAAgBzD,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA2H,SAFJ,GAE8B3H,CAF9B,CAEsCA,CAAA4H,SAAA,EAFtC,CAlBmD,KAqBpDxB,EAAO9K,CAAA4L,kBAAA,CAA6BlH,CAA7B,CArB6C,CAsBpDoH,EAAQpH,CAAAqH,MAAA,EAARD,GAA0B,CAtB0B,CAuBpDE,EAAQtH,CAAAuH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAvBG,CAwBpDE,EAAQxH,CAAAuH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDrL,EAAA,EAAUiK,CACV,KAAIoC,EAAa,IAAA1M,OAAA4D,WACbvD,EAAJ,CAAaqM,CAAb,EACI,IAAArI,OAAA,CAAY,CAACqI,CAAD;AAAe,CAAf,EAAoBrM,CAApB,CAA6BqM,CAA7B,CAA0CrM,CAAtD,CACJA,EAAA,EAAUiK,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAAnK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA8BqL,CAA9B,GAAyC,CAAzC,CAA8C,CAA9C,CACT,MAAK,CAAL,CAAS,IAAAvL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAcoB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAvL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAckB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAckB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAArL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAnL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAnL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAiK,CAAA,CAAcgB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B;AAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAnL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAAsC,CAAT,GAAAiK,CAAA,CAAcgB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CAVb,CAYA,MAAInH,EAAJ,EACI,IAAA9D,OACO,EADQiK,CACR,CAAA,IAFX,EAIWA,CA9C6C,CAuH5D,CA7DA3I,CAAAgL,oBA6DA,CA7D0CC,QAAQ,CAAC1I,CAAD,CAAQ7D,CAAR,CAAgB,CAC9D,MAAO,KAAAmM,cAAA,CAAmBhN,CAAAmM,eAAA,CAA0BzH,CAA1B,CAAnB,CAAqD7D,CAArD,CADuD,CA6DlE,CAhDAsB,CAAAkL,aAgDA,CAhDmCC,QAAQ,CAACzM,CAAD,CAAS,CAChD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH4B,IAW5CmJ,EAAQ1M,CAXoC,CAY5CiL,EAAQ,CAZoC,CAa5CE,EAAQ,CAboC,CAc5CE;AAAQ,CAdoC,CAe5ClB,EAAK,CAfuC,CAgBhDA,EAAI,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAhB4C,CAgBdiL,EAAUd,CAAVc,CAAc,GAAa,IAAId,CAAJ,CAAQ,GAAR,GAC7DA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BiL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BiL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BiL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BmL,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BmL,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BmL,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BmL,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BqL,CAA+B,CAArBlB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAA6D,CAA/BqL,CAA+B,GAArBlB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GADJ,CADA,CADA,CADA,CADA,CADA,CADA,CADA,CADJ,EAU7D,KAAMjH,MAAA,CAAM,gBAAN,CAAN;AACIW,CAAAA,CAAQ3E,CAAAyN,SAAA,CAAc1B,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD,CAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAIvH,EAAJ,EACI,IAAA9D,OACO6D,CADO7D,CACP6D,CAAAA,CAFX,EAIW,CACH,MAASA,CADN,CAEH,OAAU7D,CAAV,CAAiB0M,CAFd,CAhCqC,CAgDpD,CAAApL,CAAAsL,mBAAA,CAAyCC,QAAQ,CAAC7M,CAAD,CAAS,CAEtD,CADI6K,CACJ,CADU,IAAA2B,aAAA,CAAkBxM,CAAlB,CACV,GAAW6K,CAAA,MAAX,WAAmC3L,EAAnC,CACI2L,CAAA,MADJ,CACmB1L,CAAA2M,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU1L,CAAA2M,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EAN+C,CAxM9D,CA+NAvJ,EAAAwL,aAAA,CAAmCC,QAAQ,CAACC,CAAD,CAAMhN,CAAN,CAAc,CACrD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CAFqD,KAGjDK,CAHiD,CAIjD4B,EAAI+K,CAAA1M,OACR,IAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO0N,EAAX,CACI,KAAM7J,UAAA,CAAU,2BAAV,CAAN,CACJ,IAAK9C,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAY4B,CAAZ,CAAe,EAAE5B,CAAjB,CACI,GAA0B,CAA1B,GAAI2M,CAAAzM,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAMX,WAAA,CAAW,uCAAX,CAAN;AAER,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAcpBtB,CAAA,CAAIgL,CAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJhN,EAAA,EAAUiC,CAAV,CAAY,CACRkL,EAAAA,CAAa,IAAAxN,OAAA4D,WACbvD,EAAJ,CAAamN,CAAb,EACI,IAAAnJ,OAAA,CAAY,CAACmJ,CAAD,EAAe,CAAf,EAAoBnN,CAApB,CAA6BmN,CAA7B,CAA0CnN,CAAtD,CACJA,EAAA,EAAUiC,CAAV,CAAY,CACZgL,EAAAG,EAAA,CAAuBjN,CAAA,CAAa6M,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArK,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BmK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAAvN,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6B,CAA7B,CACA,OAAI8D,EAAJ,EACI,IAAA9D,OACO,CADOA,CACP,CAAA,IAFX,EAIOiC,CAjC8C,CA6CzDX,EAAAgM,YAAA,CAAkCC,QAAQ,CAACvN,CAAD,CAAS,CAC/C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH2B,IAU3CmJ,EAAQ1M,CAVmC,CAa3CwN,CAb2C,CAavCrD,EAAK,EACb8C,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAItD,CAAJ,CAAa,MAAO,KACpB,IAAInK,CAAJ,EAAc,IAAAE,MAAd,CACI,KAAMR,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,KAApD,CAA0D,IAAAE,MAA1D,CAAN,CACJiK,CAAA,CAAI,IAAArK,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CACJ,OAAa,EAAN,GAAAmK,CAAA,CAAU,IAAV,CAAiBA,CALM,CAAXkD,KAAA,CAMhB,IANgB,CAAvB,CAMcG,CANd,CAMmBhN,CAAA,EANnB,CAMwC,CAAA,CANxC,CAOA,OAAIsD,EAAJ,EACI,IAAA9D,OACO,CADOA,CACP,CAAAwN,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxN,CAAV,CAAmB0M,CAFhB,CAzBoC,CA2CnDpL,EAAAoM,aAAA,CAAmCC,QAAQ,CAACX,CAAD,CAAMhN,CAAN,CAAc,CACrD,IAAI8D,EAA6B,WAA7BA;AAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO0N,EAAX,CACI,KAAM7J,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CAHiC,IAYjDmJ,EAAQ1M,CAZyC,CAajDiC,CACJA,EAAA,CAAIgL,CAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAA6C,IAAA1N,SAA7C,CAAA,CAA4D,CAA5D,CACJU,EAAA,EAAU,CAAV,CAAYiC,CACZ,KAAI2L,EAAa,IAAAjO,OAAA4D,WACbvD,EAAJ,CAAa4N,CAAb,EACI,IAAA5J,OAAA,CAAY,CAAC4J,CAAD,EAAe,CAAf,EAAoB5N,CAApB,CAA6B4N,CAA7B,CAA0C5N,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYiC,CACZ,KAAAnC,KAAA+G,UAAA,CAAoB7G,CAApB,CAA4BiC,CAA5B,CAA+B,IAAA5C,aAA/B,CACAW,EAAA,EAAU,CACViN,EAAAG,EAAA,CAAuBjN,CAAA,CAAa6M,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArK,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB;AAA6BmK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAIrN,CAAJ,GAAe0M,CAAf,CAAuB,CAAvB,CAA2BzK,CAA3B,CACI,KAAMvC,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE,CAAnE,CAAqEiC,CAArE,EAAN,CACJ,MAAI6B,EAAJ,EACI,IAAA9D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0M,CA/BqC,CA2CzDpL,EAAAuM,YAAA,CAAkCC,QAAQ,CAAC9N,CAAD,CAAS,CAC/C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH2B,IAU3CiH,EAAO,CAVoC,CAW3CkC,EAAQ1M,CAXmC,CAa/CwK,EAAO,IAAA1K,KAAAmH,UAAA,CAAoBjH,CAApB,CAA4B,IAAAX,aAA5B,CACPW,EAAA,EAAU,CAdqC,KAe3CiC;AAAIjC,CAAJiC,CAAauI,CAEjByC,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzN,EAAA,CAASiC,CAAT,CAAa,IAAAnC,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAXqN,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBhN,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGA0N,EAAA,CAAMQ,CAAA,EACN,OAAI1J,EAAJ,EACI,IAAA9D,OACOgN,CADOhN,CACPgN,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUhN,CAAV,CAAmB0M,CAFhB,CAzBoC,CAwCnDvN,EAAA4O,cAAA,CAA2B,GAQ3B5O,EAAA6O,cAAA,CAA2B,GAS3B1M,EAAA2M,gBAAA,CAAsCC,QAAQ,CAAClB,CAAD,CAAMhN,CAAN,CAAc,CACxD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOpB,IAAItB,CAAJ;AACIyK,EAAQ1M,CACZiC,EAAA,CAAIgL,CAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJhN,EAAA,EAAUiC,CACV,KAAIkM,EAAa,IAAAxO,OAAA4D,WACbvD,EAAJ,CAAamO,CAAb,EACI,IAAAnK,OAAA,CAAY,CAACmK,CAAD,EAAe,CAAf,EAAoBnO,CAApB,CAA6BmO,CAA7B,CAA0CnO,CAAtD,CACJA,EAAA,EAAUiC,CACVgL,EAAAG,EAAA,CAAuBjN,CAAA,CAAa6M,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArK,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BmK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAIvJ,EAAJ,EACI,IAAA9D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0M,CAzBwC,CAoC5DpL,EAAA8M,YAAA,CAAkC9M,CAAA2M,gBAUlC9O,EAAAkP,mBAAA,CAAgCC,QAAQ,CAACtB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9C7N,EAAAoP,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAe9C1L,EAAAmN,eAAA,CAAqCC,QAAQ,CAACpO,CAAD,CAASqO,CAAT,CAAkB3O,CAAlB,CAA0B,CAC5C,QAAvB,GAAI,MAAO2O,EAAX,GACI3O,CACA,CADS2O,CACT,CAAAA,CAAA,CAAU3M,IAAAA,EAFd,CAIA,KAAI8B,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAO2O,EAAX,GAAoCA,CAApC,CAA8CxP,CAAA4O,cAA9C,CACA,IAAKzO,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM6C,UAAA,CAAU,kBAAV,CAA6B7C,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAON,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAR+C,IAkB/DlD,EAAI,CAlB2D,CAmB/DqM,EAAQ1M,CAnBuD,CAoB/DwN,CACJ,IAAImB,CAAJ,GAAgBxP,CAAA4O,cAAhB,CAA0C,CACtCP,CAAA,CAAKhN,CAAA,EACLyM,EAAA2B,EAAA,CAAgB,QAAQ,EAAG,CACvB,MAAOvO,EAAA,CAAIC,CAAJ,EAAcN,CAAd,CAAuB,IAAAE,MAAvB,CAAoC,IAAAJ,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAApC,CAAmE,IADnD,CAAXqN,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAACwB,CAAD,CAAK,CACvB,EAAExO,CAAG4M,EAAA6B,EAAA,CAAiBD,CAAjB,CAAqBrB,CAArB,CADkB,CAAbH,KAAA,CAEP,IAFO,CAFd,CAKA,IAAIhN,CAAJ,GAAUC,CAAV,CACI,KAAMZ,WAAA,CAAW,iCAAX;AAA6CW,CAA7C,CAA+C,MAA/C,CAAsDC,CAAtD,CAAN,CACJ,MAAIwD,EAAJ,EACI,IAAA9D,OACO,CADOA,CACP,CAAAwN,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxN,CAAV,CAAmB0M,CAFhB,CAb2B,CAkBnC,GAAIiC,CAAJ,GAAgBxP,CAAA6O,cAAhB,CAA0C,CAC7C,GAAK1O,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAA4D,WAApC,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAA4D,WAA/D,CAAN,CALY,CAOpB,IAAItB,EAAIjC,CAAJiC,CAAa3B,CACjB2M,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzN,EAAA,CAASiC,CAAT,CAAa,IAAAnC,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAXqN,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBhN,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGA,IAAIU,CAAJ,GAAeiC,CAAf,CACI,KAAMvC,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,CAA2DiC,CAA3D,CAAN,CACJ,MAAI6B,EAAJ;CACI,IAAA9D,OACO,CADOA,CACP,CAAAwN,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxN,CAAV,CAAmB0M,CAFhB,CAlBkC,CAwB7C,KAAMvJ,UAAA,CAAU,uBAAV,CAAkCwL,CAAlC,CAAN,CA/D+D,CA8EvErN,EAAAyN,WAAA,CAAiCzN,CAAAmN,eAajCnN,EAAA0N,aAAA,CAAmCC,QAAQ,CAACjC,CAAD,CAAMhN,CAAN,CAAc,CACrD,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO0N,EAAX,CACI,KAAM7J,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CAHiC,IAYjDmJ;AAAQ1M,CAZyC,CAajDiC,CAbiD,CAa9CiN,CACPjN,EAAA,CAAIgL,CAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAA6C,IAAA1N,SAA7C,CAAA,CAA4D,CAA5D,CACJ4P,EAAA,CAAI/P,CAAAqK,kBAAA,CAA6BvH,CAA7B,CACJjC,EAAA,EAAUkP,CAAV,CAAYjN,CACZ,KAAIkN,EAAa,IAAAxP,OAAA4D,WACbvD,EAAJ,CAAamP,CAAb,EACI,IAAAnL,OAAA,CAAY,CAACmL,CAAD,EAAe,CAAf,EAAoBnP,CAApB,CAA6BmP,CAA7B,CAA0CnP,CAAtD,CACJA,EAAA,EAAUkP,CAAV,CAAYjN,CACZjC,EAAA,EAAU,IAAA+J,cAAA,CAAmB9H,CAAnB,CAAsBjC,CAAtB,CACViN,EAAAG,EAAA,CAAuBjN,CAAA,CAAa6M,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArK,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BmK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAIrN,CAAJ,GAAe0M,CAAf,CAAqBzK,CAArB,CAAuBiN,CAAvB,CACI,KAAMxP,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmEiC,CAAnE,CAAqEiN,CAArE,EAAN,CACJ,MAAIpL,EAAJ,EACI,IAAA9D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0M,CA/BqC,CA2CzDpL,EAAA8N,YAAA,CAAkCC,QAAQ,CAACrP,CAAD,CAAS,CAC/C,IAAI8D,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH2B,IAU3CiH,EAAO,IAAAF,aAAA,CAAkBtK,CAAlB,CAVoC,CAW3C0M,EAAQ1M,CAEZA,EAAA,EAAUwK,CAAA,OACV,KAAAA,EAAOA,CAAA,MAAP,CACIvI,EAAIjC,CAAJiC,CAAauI,CADjB,CAEIgD,EAAKhN,CAAA,EACTyM,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzN,EAAA,CAASiC,CAAT,CAAa,IAAAnC,KAAA+E,SAAA,CAAmB7E,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAXqN,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEkB,IAAAlO,SAFlB,CAGA0N,EAAA,CAAMQ,CAAA,EACN,OAAI1J,EAAJ,EACI,IAAA9D,OACOgN,CADOhN,CACPgN,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUhN,CAAV,CAAmB0M,CAFhB,CAzBoC,CA8CnDpL,EAAAgO,OAAA,CAA6BC,QAAQ,CAACC,CAAD,CAASzN,CAAT,CAAmB/B,CAAnB,CAA2B,CAC5D,GAAwB,QAAxB,GAAI,MAAO+B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI/B,CACA,CADS+B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI8B,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOdiM,CAAN,WAAwBrQ,EAAxB,GACIqQ,CADJ,CACarQ,CAAAgD,KAAA,CAAgBqN,CAAhB,CAAwBzN,CAAxB,CADb,CAEIzB,EAAAA,CAASkP,CAAAtP,MAATI,CAAwBkP,CAAAxP,OAC5B,IAAc,CAAd,EAAIM,CAAJ,CAAiB,MAAO,KACxBN,EAAA,EAAUM,CACV,KAAImP,EAAa,IAAA9P,OAAA4D,WACbvD,EAAJ,CAAayP,CAAb,EACI,IAAAzL,OAAA,CAAY,CAACyL,CAAD,EAAe,CAAf,EAAoBzP,CAApB,CAA6ByP,CAA7B,CAA0CzP,CAAtD,CAEJuC,EAAA,IAAIF,UAAJ,CAAe,IAAA1C,OAAf,CADAK,CACA,CADUM,CACV,CAAAiC,KAAA,CAAwCC,CAAA,IAAIH,UAAJ,CAAemN,CAAA7P,OAAf,CAAA6C,UAAA,CAAuCgN,CAAAxP,OAAvC,CAAsDwP,CAAAtP,MAAtD,CAAxC,CACAsP,EAAAxP,OAAA,EAAiBM,CACbwD,EAAJ,GAAc,IAAA9D,OAAd,EAA6BM,CAA7B,CACA,OAAO,KA1BqD,CAuChEgB,EAAAoO,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAS5P,CAAT,CAAiB,CACpD4P,CAAAN,OAAA,CAAc,IAAd;AAAoBtP,CAApB,CACA,OAAO,KAF6C,CAYxDsB,EAAAuO,OAAA,CAA6BC,QAAQ,CAACD,CAAD,CAAS,CAC1C,IAAAvQ,SAAA,CAAgB,CAACuQ,CACjB,OAAO,KAFmC,CAU9CvO,EAAAlC,SAAA,CAA+B2Q,QAAQ,EAAG,CACtC,MAAO,KAAApQ,OAAA4D,WAD+B,CAU1CjC,EAAA0O,MAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAAjQ,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAA4D,WACb,KAAAtD,aAAA,CAAqB,EACrB,OAAO,KAJ4B,CAcvCqB,EAAA8B,MAAA,CAA4B8M,QAAQ,CAACC,CAAD,CAAO,CACvC,IAAI/N,EAAK,IAAIjD,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACL6Q,EAAJ,EACI/N,CAAAzC,OAEA,CAFY,IAAIE,WAAJ,CAAgB,IAAAF,OAAA4D,WAAhB,CAEZ,CADAhB,CAAA,IAAIF,UAAJ,CAAeD,CAAAzC,OAAf,CAAA4C,KAAA,CAA8B,IAAA5C,OAA9B,CACA,CAAAyC,CAAAtC,KAAA,CAAU,IAAIC,QAAJ,CAAaqC,CAAAzC,OAAb,CAHd,GAKIyC,CAAAzC,OACA,CADY,IAAAA,OACZ,CAAAyC,CAAAtC,KAAA,CAAU,IAAAA,KANd,CAQAsC,EAAApC,OAAA,CAAY,IAAAA,OACZoC,EAAAnC,aAAA,CAAkB,IAAAA,aAClBmC;CAAAlC,MAAA,CAAW,IAAAA,MACX,OAAOkC,EAbgC,CAyB3Cd,EAAA8O,QAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtQ,OAA1C,CACmB,YAAnB,GAAI,MAAOuQ,EAAX,GAAgCA,CAAhC,CAAsC,IAAArQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN,CACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAI+M,CAAJ,EAAmBC,CAAnB,GAA2B,IAAA5Q,OAAA4D,WAA3B,CACI,MAAO,KACX,KAAIiN;AAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ,GAAIE,CAAJ,CAMI,MALA,KAAA7Q,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0CqQ,CAG1C,EADP,IAAApQ,MACO,CAFP,IAAAF,OAEO,CAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgB2Q,CAAhB,CACbjO,EAAA,IAAIF,UAAJ,CAAe1C,CAAf,CAAA4C,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqC8N,CAArC,CAA4CC,CAA5C,CAA3B,CACA,KAAA5Q,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACa,EAAzB,EAAI,IAAAM,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDqQ,CAAjD,CACA,KAAAtQ,OAAA,CAAc,CACd,KAAAE,MAAA,CAAasQ,CACb,OAAO,KA/BwC,CA0CnDlP,EAAA6O,KAAA,CAA2BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACvB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtQ,OAA1C,CACmB,YAAnB,GAAI,MAAOuQ,EAAX,GAAgCA,CAAhC,CAAsC,IAAArQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN;AACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAI+M,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAIpR,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdiC,KAexCF,EAAWmR,CAAXnR,CAAiBkR,CAfuB,CAgBxClO,EAAK,IAAIjD,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACT8C,EAAApC,OAAA,CAAY,CACZoC,EAAAlC,MAAA,CAAWd,CACY,EAAvB,EAAIgD,CAAAnC,aAAJ,GAA0BmC,CAAAnC,aAA1B,EAA6CqQ,CAA7C,CACA,KAAAI,OAAA,CAAYtO,CAAZ,CAAgB,CAAhB,CAAmBkO,CAAnB,CAA0BC,CAA1B,CACA,OAAOnO,EArBqC,CAoChDd,EAAAoP,OAAA,CAA6BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAC/EhN,CAD+E,CAE/EiN,CACJ,IAAKzR,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAA+C,aAAA,CAAwB0N,CAAxB,CADT,CAEQ,KAAMzM,UAAA,CAAU,kCAAV,CAAN;AAERyN,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAA5P,OAAzD,CAAyE4Q,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAAC/M,CAAD,CAAoC,WAApC,GAAY,MAAO+M,EAAnB,EAAmD,IAAA7Q,OAAnD,CAAiE6Q,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAA5Q,MAArC,CAAkD4Q,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAAjQ,OAAA4D,WAAvC,CACI,KAAM7D,WAAA,CAAW,6BAAX,CAAyCkR,CAAzC,CAAsD,MAAtD,CAA6DhB,CAAAjQ,OAAA4D,WAA7D,CAAN,CACJ,GAAmB,CAAnB,CAAIsN,CAAJ,EAAwBC,CAAxB,CAAsC,IAAAnR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,6BAAX,CAAyCmR,CAAzC,CAAsD,MAAtD,CAA6D,IAAAlR,OAAA4D,WAA7D,CAAN,CAEJ,IAAIiN,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEAjO,EAAA,IAAIF,UAAJ,CAAeuN,CAAAjQ,OAAf,CAAA4C,KAAA,CAAkCC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCqO,CAArC,CAAmDC,CAAnD,CAAlC,CAAmGF,CAAnG,CAEI9M,EAAJ,GAAc,IAAA9D,OAAd,EAA6BwQ,CAA7B,CACIO,EAAJ,GAAoBnB,CAAA5P,OAApB;AAAqCwQ,CAArC,CAEA,OAAO,KA3B4E,CAsCvFlP,EAAA0P,eAAA,CAAqCC,QAAQ,CAAC7R,CAAD,CAAW,CACpD,IAAI8R,EAAU,IAAAvR,OAAA4D,WACd,OAAI2N,EAAJ,CAAc9R,CAAd,CACW,IAAA4E,OAAA,CAAY,CAACkN,CAAD,EAAY,CAAZ,EAAiB9R,CAAjB,CAA4B8R,CAA5B,CAAsC9R,CAAlD,CADX,CAEO,IAJ6C,CAkBxDkC,EAAA6P,KAAA,CAA2BC,QAAQ,CAACvN,CAAD,CAAQyM,CAAR,CAAeC,CAAf,CAAoB,CACnD,IAAIzM,EAA4B,WAA5BA,GAAW,MAAOwM,EAClBxM,EAAJ,GAAcwM,CAAd,CAAsB,IAAAtQ,OAAtB,CACqB,SAArB,GAAI,MAAO6D,EAAX,EAAgD,CAAhD,CAAiCA,CAAAvD,OAAjC,GACIuD,CADJ,CACYA,CAAAtD,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAO+P,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtQ,OAA1C,CACmB,YAAnB,GAAI,MAAOuQ,EAAX,GAAgCA,CAAhC,CAAsC,IAAArQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOuE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMV,UAAA,CAAU,iBAAV,CAA4BU,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAOyM,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN;AACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CAXY,CAapB,GAAI+M,CAAJ,EAAaC,CAAb,CACI,MAAO,KACX,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAAzQ,KAAA4D,SAAA,CAAmB4M,CAAA,EAAnB,CAA4BzM,CAA5B,CAChBC,EAAJ,GAAc,IAAA9D,OAAd,CAA4BsQ,CAA5B,CACA,OAAO,KAxB4C,CAiCvDhP,EAAA+P,KAAA,CAA2BC,QAAQ,EAAG,CAClC,IAAApR,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH2B,CActCsB,EAAAiQ,KAAA,CAA2BC,QAAQ,CAACxR,CAAD,CAAS,CACxCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOpB,IAAAtD,aAAA,CAAoBD,CACpB,OAAO,KAViC,CAkB5CsB,EAAAmQ,MAAA,CAA4BC,QAAQ,CAACrS,CAAD,CAAe,CAC/C,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM8D,UAAA,CAAU,qCAAV,CAAN,CAER,IAAA9D,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANwC,CAenDiC,EAAAqQ,GAAA,CAAyBC,QAAQ,CAACvS,CAAD,CAAe,CAC5C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFqC,CAWhDiC,EAAAuQ,GAAA,CAAyBC,QAAQ,CAACC,CAAD,CAAY,CACzC,IAAA1S,aAAA,CAAyC,WAArB,GAAA,MAAO0S,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFkC,CAkB7CzQ,EAAA0Q,QAAA,CAA8BC,QAAQ,CAACzC,CAAD;AAASzN,CAAT,CAAmB/B,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAO+B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI/B,CACA,CADS+B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI8B,EAA6B,WAA7BA,GAAW,MAAO9D,EAClB8D,EAAJ,GAAc9D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOdiM,CAAN,WAAwBrQ,EAAxB,GACIqQ,CADJ,CACarQ,CAAAgD,KAAA,CAAgBqN,CAAhB,CAAwBzN,CAAxB,CADb,CAEIyO,EAAAA,CAAMhB,CAAAtP,MAANsQ,CAAqBhB,CAAAxP,OACzB,IAAW,CAAX,EAAIwQ,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAalS,CACjB,IAAW,CAAX,CAAIkS,CAAJ,CAAc,CACV,IAAIvS,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAA4D,WAAhB,CAAyC2O,CAAzC,CAAb,CACIC,EAAY,IAAI9P,UAAJ,CAAe1C,CAAf,CAChBwS,EAAA5P,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCxC,CAArC;AAA6C,IAAAL,OAAA4D,WAA7C,CAAd,CAAoFiN,CAApF,CACA,KAAA7Q,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACZ,KAAAK,OAAA,EAAekS,CACU,EAAzB,EAAI,IAAAjS,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDiS,CAAjD,CACA,KAAAhS,MAAA,EAAcgS,CACdlS,EAAA,EAAUkS,CATA,CAAd,IAWQC,EAAJ,CAAgB,IAAI9P,UAAJ,CAAe,IAAA1C,OAAf,CAEpBwS,EAAA5P,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAemN,CAAA7P,OAAf,CAAA6C,UAAA,CAAuCgN,CAAAxP,OAAvC,CAAsDwP,CAAAtP,MAAtD,CAAd,CAAmFF,CAAnF,CAA4FwQ,CAA5F,CAEAhB,EAAAxP,OAAA,CAAgBwP,CAAAtP,MACZ4D,EAAJ,GACI,IAAA9D,OADJ,EACmBwQ,CADnB,CAEA,OAAO,KArCsD,CAmDjElP,EAAA8Q,UAAA,CAAgCC,QAAQ,CAACzC,CAAD,CAAS5P,CAAT,CAAiB,CACrD4P,CAAAoC,QAAA,CAAe,IAAf,CAAqBhS,CAArB,CACA,OAAO,KAF8C,CASzDsB,EAAAgR,WAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAM,CACxB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAAC,IAAArF,KAAA,CAAiBoF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAA/O,SAAA,EADJ,CAEI,yEAFJ;AAGI,IAAAkP,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF2C,CAe/CrR,EAAAsR,UAAA,CAAgCC,QAAQ,EAAG,CACvC,MAAO,KAAA3S,MAAP,CAAoB,IAAAF,OADmB,CAW3CsB,EAAAwR,MAAA,CAA4BC,QAAQ,EAAG,CACV,CAAzB,EAAI,IAAA9S,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP4B,CAkBvCsB,EAAA0C,OAAA,CAA6BgP,QAAQ,CAAC5T,CAAD,CAAW,CAC5C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAM+D,UAAA,CAAU,oBAAV,CAA+B/D,CAA/B,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,yBAAX,CAAqCN,CAArC,CAAN,CALY,CAOhB,IAAAO,OAAA4D,WAAJ,CAA6BnE,CAA7B,GACQO,CAGJ,CAHa,IAAIE,WAAJ,CAAgBT,CAAhB,CAGb,CAFAmD,CAAA,IAAIF,UAAJ,CAAe1C,CAAf,CAAA4C,KAAA,CAA2B,IAAIF,UAAJ,CAAe,IAAA1C,OAAf,CAA3B,CAEA,CADA,IAAAA,OACA,CADcA,CACd,CAAA,IAAAG,KAAA;AAAY,IAAIC,QAAJ,CAAaJ,CAAb,CAJhB,CAMA,OAAO,KAdqC,CAuBhD2B,EAAA2R,QAAA,CAA8BC,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtQ,OAA1C,CACmB,YAAnB,GAAI,MAAOuQ,EAAX,GAAgCA,CAAhC,CAAsC,IAAArQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN,CACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAI+M,CAAJ,GAAcC,CAAd,CACI,MAAO,KACXtP,MAAAC,UAAA+R,QAAA5P,KAAA,CAA6Bb,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqC8N,CAArC;AAA4CC,CAA5C,CAA7B,CACA,KAAAzQ,KAAA,CAAY,IAAIC,QAAJ,CAAa,IAAAJ,OAAb,CACZ,OAAO,KAjBwC,CAyBnD2B,EAAA6R,KAAA,CAA2BC,QAAQ,CAAC9S,CAAD,CAAS,CACxC,GAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM6C,UAAA,CAAU,kBAAV,CAA6B7C,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIN,EAAS,IAAAA,OAATA,CAAuBM,CAC3B,IAAKhB,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQU,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAA4D,WAD/B,EAEQ,KAAM7D,WAAA,CAAW,uBAAX,CAAmC,IAAAM,OAAnC,CAA+C,KAA/C,CAAqDM,CAArD,CAA4D,MAA5D,CAAmE,IAAAX,OAAA4D,WAAnE,CAAN,CAER,IAAAvD,OAAA,CAAcA,CACd,OAAO,KAZiC,CAsB5CsB,EAAA+R,MAAA,CAA4BC,QAAQ,CAAChD,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtQ,OAA1C,CACmB,YAAnB,GAAI,MAAOuQ,EAAX,GAAgCA,CAAhC,CAAsC,IAAArQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN,CACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,IAAInB,EAAK,IAAAgB,MAAA,EACThB,EAAApC,OAAA,CAAYsQ,CACZlO,EAAAlC,MAAA,CAAWqQ,CACX,OAAOnO,EAhBsC,CA2BjDd,EAAAiS,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC3CzT,EAAS,IAAAA,OADkC,CAE3CE,EAAQ,IAAAA,MACZ,IAAIF,CAAJ,CAAaE,CAAb,CACI,IAAIwT,EAAI1T,CAAR,CACAA,EAASE,CADT,CAEAA,EAAQwT,CAEZ,IAAKpU,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,gCAAV,CAAN;AACJnD,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMiD,UAAA,CAAU,+BAAV,CAAN,CACJjD,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAA4D,WAA5C,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCM,CAAlC,CAAyC,MAAzC,CAAgDE,CAAhD,CAAsD,MAAtD,CAA6D,IAAAP,OAAA4D,WAA7D,CAAN,CARY,CAYpB,GAAKkQ,CAAAA,CAAL,EAA6B,CAA7B,GAAkBzT,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAA4D,WAA5C,CACI,MAAO,KAAA5D,OACX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EACPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACbuC,EAAA,IAAIF,UAAJ,CAAe1C,CAAf,CAAA4C,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCxC,CAArC,CAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EA1BwC,CAwCnD2B,EAAAqS,cAAA,CAAoCrS,CAAAiS,SAapCjS,EAAAmC,SAAA,CAA+BmQ,QAAQ,CAAC7R,CAAD,CAAWuO,CAAX,CAAkBC,CAAlB,CAAuB,CAC1D,GAAwB,WAAxB,GAAI,MAAOxO,EAAX,CACI,MAAO,+BAAP;AAAuC,IAAA/B,OAAvC,CAAmD,gBAAnD,CAAoE,IAAAC,aAApE,CAAsF,SAAtF,CAAgG,IAAAC,MAAhG,CAA2G,YAA3G,CAAwH,IAAAd,SAAA,EAAxH,CAAwI,GACpH,SAAxB,GAAI,MAAO2C,EAAX,GAGIwO,CAHJ,CAEID,CAFJ,CACIvO,CADJ,CACe,MADf,CAIA,QAAQA,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAA8R,OAAA,CAAYvD,CAAZ,CAAmBC,CAAnB,CACX,MAAK,QAAL,CACI,MAAO,KAAAuD,SAAA,CAAcxD,CAAd,CAAqBC,CAArB,CACX,MAAK,KAAL,CACI,MAAO,KAAAwD,MAAA,CAAWzD,CAAX,CAAkBC,CAAlB,CACX,MAAK,QAAL,CACI,MAAO,KAAAyD,SAAA,CAAc1D,CAAd,CAAqBC,CAArB,CACX,MAAK,OAAL,CACI,MAAO,KAAAoC,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAsB,EAAA,EACX,SACI,KAAM/Q,MAAA,CAAM,wBAAN,CAA+BnB,CAA/B,CAAN,CAdR,CAP0D,CAgC9D,KAAImS,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA,EAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG;AAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb,CAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC,CAGsC,GAHtC,CAG2C,GAH3C,CAGgD,GAHhD,CAGqD,GAHrD,CAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBS/T,EAAE,CApBX,CAoBc4B,EAAEkS,CAAA7T,OAAhB,CAA6BD,CAA7B,CAA+B4B,CAA/B,CAAkC,EAAE5B,CAApC,CACI+T,CAAA,CAAID,CAAA,CAAK9T,CAAL,CAAJ,CAAA,CAAeA,CASnB6T,EAAAG,EAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzBrK,CADyB,CACtBuJ,CACP,CAAuB,IAAvB,IAAQvJ,CAAR,CAAYoK,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAMhK,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADAuJ,CACA,EADKvJ,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASoK,CAAA,EAAT,GACIb,CAGA,EAHMvJ,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFAqK,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUvJ,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADAuJ,CACA,EADKvJ,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASoK,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUvJ,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAAqK,CAAA,CAAIL,CAAA,CAAKhK,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAIIqK,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAc,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAc,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAO,EAAA,CAAcC,QAAQ,CAACH,CAAD,CAAMC,CAAN,CAAW,CAE7BG,QAASA,EAAI,CAACC,CAAD,CAAI,CACb,KAAM1R,MAAA,CAAM,0BAAN,CAAiC0R,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB;AACtBC,CADsB,CAClBC,CAIX,CAAuB,IAAvB,IAAQF,CAAR,CAAYL,CAAA,EAAZ,EAAA,CAGI,GAFAM,CAEI,CAFCT,CAAA,CAAIQ,CAAJ,CAED,CADc,WACd,GADA,MAAOC,EACP,EAD2BF,CAAA,CAAKC,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKL,CAAA,EAAL,IACAO,CAGI,CAHCV,CAAA,CAAIQ,CAAJ,CAGD,CAFc,WAEd,GAFA,MAAOE,EAEP,EAF2BH,CAAA,CAAKC,CAAL,CAE3B,CADJJ,CAAA,CAAKK,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAACF,CAAD,CAAKL,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBM,CAAA,CAAKT,CAAA,CAAIQ,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOC,EAAX,CACI,GAAU,EAAV,GAAID,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BJ,EAAA,EAAMM,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKD,CAAL,CAASL,CAAA,EAAT,EAA0B,CACtBO,CAAA,CAAKV,CAAA,CAAIQ,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOE,EAAX,CACI,GAAU,EAAV,GAAIF,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BJ,EAAA,EAAMK,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCZ,EAAAa,KAAA,CAAYC,QAAQ,CAAChI,CAAD,CAAM,CACtB,MAAO,kEAAA+H,KAAA,CAAwE/H,CAAxE,CADe,CAI1B,OAAOkH,EAxGW,CAAX,EAoHX5S,EAAAwS,SAAA,CAA+BmB,QAAQ,CAAC3E,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ;AACY,IAAAtQ,OADZ,CAEmB,YAAnB,GAAI,MAAOuQ,EAAX,GACIA,CADJ,CACU,IAAArQ,MADV,CAEA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN,CACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,IAAIiK,CAAI0G,EAAAG,EAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO/D,EAAA,CAAQC,CAAR,CAAc,IAAAzQ,KAAA+E,SAAA,CAAmByL,CAAA,EAAnB,CAAd,CAA4C,IADxB,CAAXjD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWhN,CAAA,EAFX,CAGR,OAAOgN,EAAA,EAlByC,CA+BpDrO,EAAA0D,WAAA,CAAwBqS,QAAQ,CAAClI,CAAD,CAAM3N,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB;AAAI,MAAO0N,EAAX,CACI,KAAM7J,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAI6J,CAAA1M,OAAJ,CAAiB,CAAjB,CACI,KAAM6C,UAAA,CAAU,yCAAV,CAAN,CAJO,CAD2C,IAOtDf,EAAK,IAAIjD,CAAJ,CAAe6N,CAAA1M,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BjB,CAA/B,CAA6CC,CAA7C,CAPiD,CAQtDe,EAAI,CACR6T,EAAAO,EAAA,CAAYtU,CAAA,CAAa6M,CAAb,CAAZ,CAA+B,QAAQ,CAAC7C,CAAD,CAAI,CACvC/H,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAA,EAAjB,CAAsB8J,CAAtB,CADuC,CAA3C,CAGA/H,EAAAlC,MAAA,CAAWG,CACX,OAAO+B,EAbmD,CAuB9DjD,EAAAgW,KAAA,CAAkBC,QAAQ,CAACpI,CAAD,CAAM,CAC5B,MAAO7N,EAAA4D,WAAA,CAAsBiK,CAAtB,CAAA8G,SAAA,EADqB,CAWhC3U,EAAAkW,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAOpW,EAAA0D,WAAA,CAAsB0S,CAAtB,CAAAvB,SAAA,EADqB,CAchC1S,EAAA0S,SAAA,CAA+BwB,QAAQ,CAAClF,CAAD,CAAQC,CAAR,CAAa,CAChDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAtQ,OAA/B,CAA6CsQ,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAArQ,MAA7B,CAA0CqQ,CAChD,IAAKjR,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN;AACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAI+M,CAAJ,GAAcC,CAAd,CACI,MAAO,EAEX,KAhBgD,IAe5CkF,EAAK,EAfuC,CAenCC,EAAK,EAClB,CAAOpF,CAAP,CAAeC,CAAf,CAAA,CACIkF,CAAAzU,KAAA,CAAQ,IAAAlB,KAAA+E,SAAA,CAAmByL,CAAA,EAAnB,CAAR,CACA,CAAiB,IAAjB,EAAImF,CAAAnV,OAAJ,GACIoV,CAAA1U,KAAA,CAAQD,MAAAQ,aAAAT,MAAA,CAA0BC,MAA1B,CAAkC0U,CAAlC,CAAR,CACA,CAAAA,CAAA,CAAK,EAFT,CAIJ,OAAOC,EAAA9U,KAAA,CAAQ,EAAR,CAAP,CAAqBG,MAAAQ,aAAAT,MAAA,CAA0BC,MAA1B,CAAkC0U,CAAlC,CAtB2B,CAmCpDtW,EAAA4D,WAAA,CAAwB4S,QAAQ,CAAC3I,CAAD,CAAM3N,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO0N,EADf,CAEQ,KAAM7J,UAAA,CAAU,2BAAV,CAAN;AAIR,IAP0D,IAKtD9C,EAAI,CALkD,CAK/C4B,EAAI+K,CAAA1M,OAL2C,CAMtD8B,EAAK,IAAIjD,CAAJ,CAAe8C,CAAf,CAAkB5C,CAAlB,CAAgCC,CAAhC,CACT,CAAOe,CAAP,CAAS4B,CAAT,CAAA,CAAY,CACR2T,CAAA,CAAW5I,CAAAzM,WAAA,CAAeF,CAAf,CACX,IAAKf,CAAAA,CAAL,EAA4B,GAA5B,CAAiBsW,CAAjB,CACI,KAAMlW,WAAA,CAAW,sBAAX,CAAkCW,CAAlC,CAAoC,SAApC,CAA8CuV,CAA9C,CAAuD,SAAvD,CAAN,CACJxT,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAA,EAAjB,CAAsBuV,CAAtB,CAJQ,CAMZxT,CAAAlC,MAAA,CAAW+B,CACX,OAAOG,EAdmD,CAoC9Dd,EAAAqR,QAAA,CAA8BkD,QAAQ,CAACC,CAAD,CAAU,CAO5C,IAP4C,IACxCzV,EAAK,EADmC,CAExC4B,EAAI,IAAAtC,OAAA4D,WAFoC,CAGxC4G,CAHwC,CAIxC4L,EAAM,EAJkC,CAKxCC,EAAM,EALkC,CAMxCxD,EAAM,EACV,CAAOnS,CAAP,CAAS4B,CAAT,CAAA,CAAY,CACG,EAAX,GAAI5B,CAAJ,GACI8J,CAGA,CAHI,IAAArK,KAAA+E,SAAA,CAAmBxE,CAAnB,CAGJ,CAFc0V,CAEd,CAFQ,EAAR,CAAI5L,CAAJ,CAAc4L,CAAd,EAAqB,GAArB,CAAyB5L,CAAA1G,SAAA,CAAW,EAAX,CAAAwS,YAAA,EAAzB,EACKF,CADL,CACY5L,CAAA1G,SAAA,CAAW,EAAX,CAAAwS,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAA7L,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoBpJ,MAAAQ,aAAA,CAAoB4I,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAQA,GAAE9J,CACF,IAAIyV,CAAJ,EACY,CADZ,CACQzV,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuC4B,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAO8T,CAAAzV,OAAP,CAAA,CAA4ByV,CAAA,EAAO,GACnCvD,EAAA,EAAOuD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADA1V,CAAJ;AAAU,IAAAL,OAAV,EAAyBK,CAAzB,GAA+B,IAAAH,MAA/B,CACI6V,CADJ,EACW1V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESI,CAAJ,GAAU,IAAAL,OAAV,CACD+V,CADC,EACM1V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEII,CAAJ,GAAU,IAAAH,MAAV,CACD6V,CADC,EACM1V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGD8V,CAHC,EAGM1V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAiC6V,CAAA,EAAkB,CAAlB,GAAYzV,CAAZ,EAAuBA,CAAvB,GAA6B4B,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAI6T,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAAzV,OAAP,CAAA,CAA4ByV,CAAA,EAAO,GACnCvD,EAAA,EAAOuD,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUtD,CAAV,CAAgBuD,CArCqB,CAmDhD5W,EAAA8D,UAAA,CAAuBiT,QAAQ,CAAClJ,CAAD,CAAM3N,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrD2C,EAAI+K,CAAA1M,OACJ8B,EAAAA,CAAK,IAAIjD,CAAJ,EAAiB8C,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B5C,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrDe,EAAI,CAHiD,CAG9C8V,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD7B,EAAO,CAAA,CACX,CAAOtU,CAAP,CAAS4B,CAAT,CAAA,CAAY,CACR,OAAQmU,CAAR,CAAapJ,CAAAyJ,OAAA,CAAWpW,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAIgX,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB7B,CAAA,CAAO,CAAA,CAAM,MADG,CAGpB2B,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMfpU,CAAApC,OAAA,CAAYoC,CAAAnC,aAAZ,CAA8BmC,CAAAlC,MAA9B,CAAyCiW,CACzCE;CAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/W,CAAAA,CAAL,CAAe,CACX,GAAIgX,CAAJ,EAAUE,CAAV,CAAc,CACV7B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd2B,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMfpU,CAAApC,OAAA,CAAYoC,CAAAlC,MAAZ,CAAuBiW,CACvBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/W,CAAAA,CAAL,CAAe,CACX,GAAIgX,CAAJ,EAAUC,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd2B,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMfnU,CAAApC,OAAA,CAAYoC,CAAAnC,aAAZ,CAA8BkW,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/W,CAAAA,CAAL,CAAe,CACX,GAAIgX,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR2B,CAAA,CAAK,CAAA,CAJM,CAMflU,CAAApC,OAAA,CAAYmW,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/W,CAAAA,CAAL,CAAe,CACX,GAAIkX,CAAJ,EAAUD,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd6B,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMfnU,CAAAlC,MAAA,CAAWkC,CAAAnC,aAAX,CAA6BkW,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/W,CAAAA,CAAL,CAAe,CACX,GAAIkX,CAAJ,CAAQ,CACJ7B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR6B,CAAA,CAAK,CAAA,CAJM,CAMfpU,CAAAlC,MAAA,CAAWiW,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK/W,CAAAA,CAAL,CAAe,CACX,GAAIiX,CAAJ,CAAQ,CACJ5B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR4B,CAAA,CAAK,CAAA,CAJM,CAMfnU,CAAAnC,aAAA,CAAkBkW,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAK/W,CAAAA,CAAL,EACQ+W,CADR,CACY,CACJ1B,CAAA,CAAO,CAAA,CAAM,MADT,CAIZxK,CAAA,CAAIuM,QAAA,CAASN,CAAT,CAAYpJ,CAAAyJ,OAAA,CAAWpW,CAAA,EAAX,CAAZ;AAA6B,EAA7B,CACJ,IAAKf,CAAAA,CAAL,GACQqX,KAAA,CAAMxM,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAMhH,UAAA,CAAU,yCAAV,CAAN,CAERf,CAAAtC,KAAA4D,SAAA,CAAiByS,CAAA,EAAjB,CAAsBhM,CAAtB,CACAkM,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAI1B,CAAJ,CACI,KAAMxR,UAAA,CAAU,iCAAV,CAA4C9C,CAA5C,CAAN,CA1FI,CA4FZ,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAKgX,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAMrT,UAAA,CAAU,sCAAV,CAAN,CACJ,GAAIgT,CAAJ,CAAM/T,CAAAzC,OAAA4D,WAAN,CACI,KAAMJ,UAAA,CAAU,uDAAV,CAAkEgT,CAAlE,CAAoE,KAApE,CAA0ElU,CAA1E,CAAN,CAJO,CAMf,MAAOG,EAzGkD,CAqH7Dd,EAAAyS,MAAA,CAA4B6C,QAAQ,CAACtG,CAAD,CAAQC,CAAR,CAAa,CAC7CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAtQ,OAA/B,CAA6CsQ,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAArQ,MAA7B,CAA0CqQ,CAChD,IAAKjR,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN,CACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN,CACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAYpB,IAf6C,IAazCiP,EAAUvR,KAAJ,CAAUsP,CAAV,CAAgBD,CAAhB,CAbmC,CAczCnG,CACJ,CAAOmG,CAAP,CAAeC,CAAf,CAAA,CACIpG,CACA,CADI,IAAArK,KAAA+E,SAAA,CAAmByL,CAAA,EAAnB,CACJ,CAAQ,EAAR,CAAInG,CAAJ,CACIqI,CAAAxR,KAAA,CAAS,GAAT,CAAcmJ,CAAA1G,SAAA,CAAW,EAAX,CAAd,CADJ,CAEK+O,CAAAxR,KAAA,CAASmJ,CAAA1G,SAAA,CAAW,EAAX,CAAT,CAET,OAAO+O,EAAA5R,KAAA,CAAS,EAAT,CArBsC,CAkCjDzB,EAAA2D,QAAA,CAAqB+T,QAAQ,CAAC7J,CAAD,CAAM3N,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO0N,EAAX,CACI,KAAM7J,UAAA,CAAU,2BAAV,CAAN;AACJ,GAAuB,CAAvB,GAAI6J,CAAA1M,OAAJ,CAAiB,CAAjB,CACI,KAAM6C,UAAA,CAAU,yCAAV,CAAN,CAJO,CADwC,IAOnDlB,EAAI+K,CAAA1M,OACJ8B,EAAAA,CAAK,IAAIjD,CAAJ,CAAgB8C,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4B5C,CAA5B,CAET,KAHA,IAEI8K,CAFJ,CAGS9J,EAAE,CAHX,CAGc8V,EAAE,CAAhB,CAAmB9V,CAAnB,CAAqB4B,CAArB,CAAwB5B,CAAxB,EAA2B,CAA3B,CAA8B,CAC1B8J,CAAA,CAAIuM,QAAA,CAAS1J,CAAA8J,UAAA,CAAczW,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAKf,CAAAA,CAAL,GACS,CAAAyX,QAAA,CAAS5M,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAMhH,UAAA,CAAU,0CAAV,CAAN,CACRf,CAAAtC,KAAA4D,SAAA,CAAiByS,CAAA,EAAjB,CAAsBhM,CAAtB,CAL0B,CAO9B/H,CAAAlC,MAAA,CAAWiW,CACX,OAAO/T,EAlBgD,CA4B3D,KAAI6K,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,EAAgB,OAPV,CAeN,EAAa+J,QAAQ,CAACzC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAI3F,EAAK,IACU,SAAnB,GAAI,MAAO0F,EAAX,GACI1F,CACA,CADK0F,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAO1F,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4B0F,CAAA,EAA5B,EAAA,CACa,GAAT,CAAI1F,CAAJ,CACI2F,CAAA,CAAI3F,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACD2F,CAAA,CAAM3F,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ;AACD2F,CAAA,CAAM3F,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKD2F,CAAA,CAAM3F,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAA2F,CAAA,CAAM3F,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAA2F,CAAA,CAAM3F,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAA2F,CAAA,CAAK3F,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA,CAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,EAAaoI,QAAQ,CAAC1C,CAAD,CAAMC,CAAN,CAAW,CACVG,QAAA,EAAQ,CAACxK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAAkJ,MAAA,CAAQ,CAAR,CAAWlJ,CAAA+M,QAAA,CAAU,IAAV,CAAX,CACJ,KAAIxM,EAAMxH,KAAA,CAAMiH,CAAA1G,SAAA,EAAN,CACViH,EAAAyM,KAAA,CAAW,gBACXzM,EAAA,MAAA,CAAeP,CACf,MAAMO,EAAN,CAL+B,CAOnC,IARiC,IAC7B0M,CAD6B,CAC1BjN,CAD0B,CACvByK,CADuB,CACpByC,CAOb,CAAuB,IAAvB,IAAQD,CAAR,CAAY7C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAK6C,CAAL,CAAO,GAAP,EACI5C,CAAA,CAAI4C,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADEjN,CACF,CADMoK,CAAA,EACN,GAD0BI,CAAA,CAAK,CAACyC,CAAD,CAAIjN,CAAJ,CAAL,CAC1B,CAAAqK,CAAA,EAAM4C,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqBjN,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAKiN,CAAL,CAAO,GAAP,EACc,IACf,IADEjN,CACF,CADIoK,CAAA,EACJ,GADqC,IACrC,IADwBK,CACxB,CAD0BL,CAAA,EAC1B,GAD8CI,CAAA,CAAK,CAACyC,CAAD,CAAIjN,CAAJ,CAAOyK,CAAP,CAAL,CAC9C,CAAAJ,CAAA,EAAM4C,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuBjN,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCyK,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAKwC,CAAL,CAAO,GAAP,EACc,IACf,IADEjN,CACF,CADIoK,CAAA,EACJ,GADqC,IACrC,IADwBK,CACxB,CAD0BL,CAAA,EAC1B,GAD2D,IAC3D,IAD8C8C,CAC9C,CADgD9C,CAAA,EAChD,GADoEI,CAAA,CAAK,CAACyC,CAAD,CAAIjN,CAAJ;AAAOyK,CAAP,CAAUyC,CAAV,CAAL,CACpE,CAAA7C,CAAA,EAAM4C,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuBjN,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCyK,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDyC,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAM3X,WAAA,CAAW,yBAAX,CAAqC0X,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,EAAcE,QAAQ,CAAC/C,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9B+C,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmBjD,CAAA,EADjC,EAAA,CAGc,KAAV,EAAIgD,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACcjD,CAAA,EADd,GAEkB,KAFlB,EAEYiD,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGYhD,CAAA,CAAgB,IAAhB,EAAK+C,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQAhD,CAAA,CAAI+C,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiBhD,CAAA,CAAIgD,CAAJ,CAfiB,CA/E3B,CAwGN,EAAcC,QAAQ,CAAClD,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAI3F,EAAK,IACU,SAAnB,GAAI,MAAO0F,EAAX,GACI1F,CAAU,CAAL0F,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAO1F,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4B0F,CAAA,EAA5B,EAAA,CACc,KAAV,EAAI1F,CAAJ,CACI2F,CAAA,CAAI3F,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADA2F,CAAA,EAAK3F,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAA2F,CAAA,CAAK3F,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,EAAoB6I,QAAQ,CAACnD,CAAD,CAAMC,CAAN,CAAW,CACxCvH,CAAA0K,EAAA,CAAiBpD,CAAjB,CAAsB,QAAQ,CAAC1F,CAAD,CAAK,CAC/B5B,CAAA2K,EAAA,CAAgB/I,CAAhB,CAAoB2F,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,EAAoBqD,QAAQ,CAACtD,CAAD;AAAMC,CAAN,CAAW,CACxCvH,CAAA2B,EAAA,CAAgB2F,CAAhB,CAAqB,QAAQ,CAAC1F,CAAD,CAAK,CAC9B5B,CAAA6B,EAAA,CAAiBD,CAAjB,CAAqB2F,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,EAAqBsD,QAAQ,CAACjJ,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,EAAgBkJ,QAAQ,CAACxD,CAAD,CAAM,CAE/B,IAF+B,IAC3B1F,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAa0F,CAAA,EAAb,EAAA,CACIrF,CAAA,EAAKjC,CAAA+K,EAAA,CAAwBnJ,CAAxB,CACT,OAAOK,EAJwB,CAhKxB,CA6KN,EAAuB+I,QAAQ,CAAC1D,CAAD,CAAM,CAAA,IAClC3K,EAAE,CADgC,CAC7BsF,EAAE,CACXjC,EAAA0K,EAAA,CAAiBpD,CAAjB,CAAsB,QAAQ,CAAC1F,CAAD,CAAK,CAC/B,EAAEjF,CAAGsF,EAAA,EAAKjC,CAAA+K,EAAA,CAAwBnJ,CAAxB,CADqB,CAAnC,CAGA,OAAO,CAACjF,CAAD,CAAGsF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOjC,EA7LW,CAAX,EAyMX3L,EAAAuS,OAAA,CAA6BqE,QAAQ,CAAC5H,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtQ,OAA1C,CACmB,YAAnB,GAAI,MAAOuQ,EAAX,GAAgCA,CAAhC,CAAsC,IAAArQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMnN,UAAA,CAAU,+BAAV,CAAN,CACJmN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMpN,UAAA,CAAU,6BAAV,CAAN;AACJoN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5Q,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkC4Q,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5Q,OAAA4D,WAA1D,CAAN,CARY,CAUpB,IAAIiK,CAAI,IAAI,CACRP,CAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO6C,EAAA,CAAQC,CAAR,CAAc,IAAAzQ,KAAA+E,SAAA,CAAmByL,CAAA,EAAnB,CAAd,CAA4C,IADrB,CAAXjD,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBhN,CAAA,EAFnB,CADQ,CAIV,MAAO2X,CAAP,CAAU,CACR,GAAI7H,CAAJ,GAAcC,CAAd,CACI,KAAM7Q,WAAA,CAAW,iCAAX,CAA6C4Q,CAA7C,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CAFI,CAIZ,MAAO/C,EAAA,EArBuC,CAkClDrO,EAAA6D,SAAA,CAAsBoV,QAAQ,CAACpL,CAAD,CAAM3N,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO0N,EADf,CAEQ,KAAM7J,UAAA,CAAU,2BAAV,CAAN,CAHgD,IAIpDf,EAAK,IAAIjD,CAAJ,CAAe8N,CAAAC,EAAA,CAA0B/M,CAAA,CAAa6M,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsE3N,CAAtE,CAAoFC,CAApF,CAJ+C,CAKpDe,EAAI,CACR4M,EAAAG,EAAA,CAAuBjN,CAAA,CAAa6M,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD/H,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAA,EAAjB,CAAsB8J,CAAtB,CADkD,CAAtD,CAGA/H,EAAAlC,MAAA,CAAWG,CACX,OAAO+B,EAViD,CAc5D;MAAOjD,EArwGmB,CAwwGQ,UAAvB,GAAI,MAAOkZ,QAAX,EAAuD,QAAvD,GAAqC,MAAOC,OAA5C,EAAmEA,MAAnE,EAAgG,QAAhG,GAA6E,MAAOC,QAApF,EAA4GA,OAA5G,CACXD,MAAA,QADW,CACU,QAAQ,EAAG,CAC5B,IAAIpZ,CAAM,IAAI,CAAEA,CAAA,CAAOmZ,OAAA,CAAQ,MAAR,CAAT,CAA4B,MAAOF,CAAP,CAAU,EACpD,MAAOlZ,EAAA,CAAeC,CAAf,CAFqB,CAAZ,EADT,CAKsB,UAAtB,GAAI,MAAOsZ,OAAX,EAAoCA,MAAA,IAApC,CACXA,MAAA,CAAO,YAAP,CAAqB,CAAC,MAAD,CAArB,CAA+B,QAAQ,CAACtZ,CAAD,CAAO,CAAE,MAAOD,EAAA,CAAeC,CAAf,CAAT,CAA9C,CADW,CAGX,CAACF,CAAA,QAAD,CAAqBA,CAAA,QAArB,EAA0C,EAA1C,YAHW,CAGmDC,CAAA,CAAeD,CAAA,QAAA,KAAf,CAxxGpD,CAAjB,CAAD,CA0xGG,IA1xGH;", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index b9b7bc1..fc2a3c1 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -210,6 +210,14 @@ module.exports = (function() { }; } + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return Buffer; + }; /** * Allocates a new ByteBuffer backed by a buffer of the specified capacity. * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. @@ -282,7 +290,6 @@ module.exports = (function() { ByteBuffer.type = function() { return Buffer; }; - /** * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its * {@link ByteBuffer#limit} to the length of the wrapped data. diff --git a/index.js b/index.js index 075b12a..4e9e48e 100644 --- a/index.js +++ b/index.js @@ -13,9 +13,11 @@ See the License for the specific language governing permissions and limitations under the License. */ -var ByteBufferNB = require("./dist/ByteBufferNB.js"), - ByteBufferAB = require("./dist/ByteBufferAB.js"); +var ByteBufferNB = require("./dist/ByteBufferNB.js"), + ByteBufferAB = require("./dist/ByteBufferAB.js"), + ByteBufferAB_DataView = require("./dist/ByteBufferAB_DataView.js"); module.exports = ByteBufferNB; -module.exports.ByteBufferNB = ByteBufferNB; // node Buffer backed -module.exports.ByteBufferAB = ByteBufferAB; // ArrayBuffer backed +module.exports.ByteBufferNB = ByteBufferNB; +module.exports.ByteBufferAB = ByteBufferAB; +module.exports.ByteBufferAB_DataView = ByteBufferAB_DataView; diff --git a/src/methods/static/accessor.js b/src/methods/static/accessor.js new file mode 100644 index 0000000..5a24a40 --- /dev/null +++ b/src/methods/static/accessor.js @@ -0,0 +1,13 @@ +/** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ +ByteBuffer.accessor = function() { + //? if (NODE) + return Buffer; + //? else if (DATAVIEW) + return DataView; + //? else + return Uint8Array; +}; diff --git a/src/methods/static/type.js b/src/methods/static/type.js index d3e2513..0afff51 100644 --- a/src/methods/static/type.js +++ b/src/methods/static/type.js @@ -9,4 +9,3 @@ ByteBuffer.type = function() { //? else return ArrayBuffer; }; - diff --git a/src/methods/toString.js b/src/methods/toString.js index a5a3bab..367490b 100644 --- a/src/methods/toString.js +++ b/src/methods/toString.js @@ -11,7 +11,7 @@ */ ByteBufferPrototype.toString = function(encoding, begin, end) { if (typeof encoding === 'undefined') - return "ByteBuffer/*?= NODE ? 'NB' : 'AB' */(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + return "ByteBuffer/*?= NODE ? 'NB' : 'AB'+(DATAVIEW ? '_DataView' : '') */(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; if (typeof encoding === 'number') encoding = "utf8", begin = encoding, diff --git a/tests/suite.js b/tests/suite.js index 2b62123..ab437cf 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -50,6 +50,7 @@ var Sandbox = function(properties) { function makeSuite(ByteBuffer) { var type = ByteBuffer.type(), // Buffer or ArrayBuffer + accessor = ByteBuffer.accessor(), Long = ByteBuffer.Long; var suite = {}; @@ -847,7 +848,7 @@ function makeSuite(ByteBuffer) { test.equal(bb.toString("base64"), "YWI="); test.equal(bb.toString("utf8"), "ab"); test.equal(bb.toString("debug").substr(0,7), "<61 62>"); - test.equal(bb.toString(), (type === ArrayBuffer ? "ByteBufferAB" : "ByteBufferNB")+"(offset=0,markedOffset=-1,limit=2,capacity=3)"); + test.equal(bb.toString(), (type === ArrayBuffer ? (accessor === DataView ? "ByteBufferAB_DataView" : "ByteBufferAB") : "ByteBufferNB")+"(offset=0,markedOffset=-1,limit=2,capacity=3)"); test.strictEqual(bb.offset, 0); test.done(); }; From 7e1e007de44b352712dc2e1bbd15fabab09db3a9 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 04:26:53 +0200 Subject: [PATCH 57/91] More README --- dist/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/README.md b/dist/README.md index 777630a..a2fc6a4 100644 --- a/dist/README.md +++ b/dist/README.md @@ -19,7 +19,7 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferAB.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.map)** is the source map generated by Closure Compiler. -##### Accessed through DataViews +##### Accessed through DataViews ([polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) compatible) * **[ByteBufferAB_DataView.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.js)** uses an ArrayBuffer as its backing buffer, accessed through a [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView). From cc9d7e4c863baa0585ef84e5d63cc3731d6dba50 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 15:08:04 +0200 Subject: [PATCH 58/91] Even more README --- dist/README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dist/README.md b/dist/README.md index a2fc6a4..e0f82e1 100644 --- a/dist/README.md +++ b/dist/README.md @@ -5,7 +5,9 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. ### Browser: [ArrayBuffer](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)-backed -##### Accessed through TypedArrays +##### Accessed through Typed Arrays + +Using Typed Arrays here is pretty much ideal, but it [requires a somewhat recent browser](http://caniuse.com/#feat=typedarrays). * **[ByteBufferAB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.js)** uses an ArrayBuffer as its backing buffer, accessed through an [Uint8Array](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array). @@ -19,7 +21,10 @@ ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. * **[ByteBufferAB.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.map)** is the source map generated by Closure Compiler. -##### Accessed through DataViews ([polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) compatible) +##### Accessed through a DataView ([polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) compatible) + +Using DataViews is [generally slower](https://github.com/dcodeIO/ByteBuffer.js/issues/16) but works well with common polyfills for +older browsers, as it does not utilize array access operators on Typed Arrays. * **[ByteBufferAB_DataView.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.js)** uses an ArrayBuffer as its backing buffer, accessed through a [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView). From 89f84e8b49d65b9ca67f3b44a88d240d6ac1656a Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 15:27:03 +0200 Subject: [PATCH 59/91] Type annotations for CC --- dist/ByteBufferAB.js | 20 ++++++++++++++++++++ dist/ByteBufferAB.min.js.gz | Bin 8291 -> 8291 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferAB_DataView.min.js.gz | Bin 7616 -> 7616 bytes dist/README.md | 4 ++-- src/types/floats/ieee754.js | 20 ++++++++++++++++++++ 6 files changed, 43 insertions(+), 3 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 2b367c2..c90c02c 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -1151,6 +1151,16 @@ THE SOFTWARE. */ + /** + * Reads an IEEE754 float from an array. + * @param {!Array} buffer + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @returns {number} + * @inner + */ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { var e, m, eLen = nBytes * 8 - mLen - 1, @@ -1184,6 +1194,16 @@ return (s ? -1 : 1) * m * Math.pow(2, e - mLen); } + /** + * Writes an IEEE754 float to an array. + * @param {!Array} buffer + * @param {number} value + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @inner + */ function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { var e, m, c, eLen = nBytes * 8 - mLen - 1, diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index c856a0278c9d602b3db4500b62d6ee5b0cd7690c..2bb0e8d8ac7aae20318ff4ebb44dec5acedb6156 100644 GIT binary patch delta 16 XcmaFt@YsP}zMF$%W>4it_80{KHqHgw delta 16 XcmaFt@YsP}zMF%C?P|qF_80{KGLL_MNf-FrWpT diff --git a/dist/README.md b/dist/README.md index e0f82e1..a97d31e 100644 --- a/dist/README.md +++ b/dist/README.md @@ -1,7 +1,7 @@ Distributions ============= -ByteBuffer uses either ArrayBuffers in the browser or Buffers under node.js. +ByteBuffer.js uses either ArrayBuffers in the browser or Buffers under node.js. ### Browser: [ArrayBuffer](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer)-backed @@ -24,7 +24,7 @@ Using Typed Arrays here is pretty much ideal, but it [requires a somewhat recent ##### Accessed through a DataView ([polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) compatible) Using DataViews is [generally slower](https://github.com/dcodeIO/ByteBuffer.js/issues/16) but works well with common polyfills for -older browsers, as it does not utilize array access operators on Typed Arrays. +older browsers (avoids array access operators on Typed Arrays). * **[ByteBufferAB_DataView.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.js)** uses an ArrayBuffer as its backing buffer, accessed through a [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView). diff --git a/src/types/floats/ieee754.js b/src/types/floats/ieee754.js index fa67e36..ff3d1d9 100644 --- a/src/types/floats/ieee754.js +++ b/src/types/floats/ieee754.js @@ -24,6 +24,16 @@ THE SOFTWARE. */ +/** + * Reads an IEEE754 float from an array. + * @param {!Array} buffer + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @returns {number} + * @inner + */ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { var e, m, eLen = nBytes * 8 - mLen - 1, @@ -57,6 +67,16 @@ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { return (s ? -1 : 1) * m * Math.pow(2, e - mLen); } +/** + * Writes an IEEE754 float to an array. + * @param {!Array} buffer + * @param {number} value + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @inner + */ function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { var e, m, c, eLen = nBytes * 8 - mLen - 1, From 222ed49f288ce51b0940116a3b45b8110513d7b5 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 15:54:29 +0200 Subject: [PATCH 60/91] Added ByteBuffer#readBytes/writeBytes, fixes #9 --- dist/ByteBufferAB.js | 41 ++++++- dist/ByteBufferAB.min.js | 170 +++++++++++++-------------- dist/ByteBufferAB.min.js.gz | Bin 8291 -> 8326 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferAB_DataView.js | 37 +++++- dist/ByteBufferAB_DataView.min.js | 153 ++++++++++++------------ dist/ByteBufferAB_DataView.min.js.gz | Bin 7616 -> 7682 bytes dist/ByteBufferAB_DataView.min.map | 6 +- dist/ByteBufferNB.js | 37 +++++- scripts/build.js | 3 +- src/ByteBuffer.js | 4 + src/methods/append.js | 2 +- src/types/bytes/bytes.js | 34 ++++++ src/types/floats/ieee754.js | 4 +- 14 files changed, 320 insertions(+), 175 deletions(-) create mode 100644 src/types/bytes/bytes.js diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index c90c02c..5070508 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -371,6 +371,41 @@ return bb; }; + /** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.readBytes = function(length, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); + } + var slice = this.slice(offset, offset + length); + if (relative) this.offset += length; + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + // types/ints/int8 /** @@ -1152,7 +1187,7 @@ */ /** - * Reads an IEEE754 float from an array. + * Reads an IEEE754 float from a byte array. * @param {!Array} buffer * @param {number} offset * @param {boolean} isLE @@ -1195,7 +1230,7 @@ } /** - * Writes an IEEE754 float to an array. + * Writes an IEEE754 float to a byte array. * @param {!Array} buffer * @param {number} value * @param {number} offset @@ -2266,7 +2301,7 @@ * will be modified according to the performed read operation. * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. + * written if omitted. * @returns {!ByteBuffer} this * @expose * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index cbc5d66..6253f9e 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -4,89 +4,89 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(t){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+w.apply(String,a);1024>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=m;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;m=d?0:m-1;var l=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=g):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(h=Math.pow(2,-d))&&(d--,h*=2),b=1<=d+k?b+p/h:b+p*Math.pow(2,1-k),2<=b*h&&(d++,h/=2),d+k>=g?(b=0,d=g):1<=d+k?(b=(b*h-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0)); -for(;8<=e;a[c+m]=b&255,m+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== +(function(t){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?w:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< +a.length?a.charCodeAt(b++):null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+x.apply(String,a);1024>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=v):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+p/f:b+p*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=v?(b=0,d=v):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0)); +for(;8<=e;a[c+n]=b&255,n+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4); -return this};f.writeInt=f.writeInt32;f.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+ -3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};f.readInt=f.readInt32;f.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeUInt32=f.writeUint32;f.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};f.readUInt32=f.readUint32;k&&(f.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a); -else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8; -var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeLong=f.writeInt64,f.readInt64= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+ -1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4, -this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= -this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; -f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-8,this.littleEndian, -52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= -function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a, -b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128=== -(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128> -c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a? -a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var q=this.buffer.byteLength;b>q&&this.resize((q*=2)>b?q:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!== -d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++], -e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag= -function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0; -if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(n(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(n(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+ -1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0===e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(n(a),this.noAssert)[1];b+=4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+ -2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(n(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d};f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); -}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(n(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(n(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(n(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(n(a))[1]}; -f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h; -if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); -}var q=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(n(a),this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(n(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit), -c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength};f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view); -b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0=== -a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d);e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e, -f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c, -d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian="undefined"!== -typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; -f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ -")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var x=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, -116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== -typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;x.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| -a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b=== -this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,n=!1,p=!1,r=!1;e":if(!c){if(p){r=!0;break}p=!0}b.limit=f;k=!1;break;case "'":if(!c){if(n){r=!0;break}n=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| -b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; -b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& -56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c; -d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+ +" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+= +1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b); +b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian? +(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeInt=f.writeInt32;f.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% +1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};f.readInt=f.readInt32;f.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]= +a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeUInt32=f.writeUint32;f.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+ +2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};f.readUInt32=f.readUint32;k&&(f.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]= +e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeLong=f.writeInt64,f.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0); +a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255, +this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian? +(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&& +(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a& +1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b); +b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128===(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value= +g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!== +a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& +a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>> +0;b+=d;var q=this.buffer.byteLength;b>q&&this.resize((q*=2)>b?q:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]= +1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&& +(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<< +21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*= +2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+ +a+" < "+this.limit);e=this.view[a++];return 0===e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+=4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d}; +f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>> +0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var q=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a), +this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; +if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength}; +f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=w,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d); +e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0> +b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b; +d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this}; +f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ +c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+ +this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone(); +c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return w; +a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, +c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var y=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4& +15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61=== +e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}var c;y.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(), +a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l= +!1,m=!1,p=!1,r=!1;e":if(!c){if(p){r=!0;break}p=!0}b.limit=f;k=!1;break;case "'":if(!c){if(m){r= +!0;break}m=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")}; +g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63); +else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296), +c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a(6V=#Vd!?u?anNX?IT$_ zUq0s?NtRx0XpQ|(G2LGT0iCt~oHul0G`byotMM9#6FP1D?_?JL)fo6B^67u`zwJr1 zt2N&5pB^5)K2u8X?KfJDeN4_L;i%#9TTWwdHp8F9bE~mO2%XO(xP3Ya<34|;HQv%G z#dGR67NJjPjd)BOdzYBNKSvWn!#TAYzth=#5`~R!yQ4Mclsb)Z9AD0z7cWMWc)al1 zB)WLP8+Z8TMZP~lG;8=Y#*^t>+jybr!6GCv)TPJ9=j3-|p`R;PBOP0wMU2l))}mk% zQoo51ia%Y_C}`mIbseKo`}M&ud#6Vyf4tiJpS@RyC;v3uN^%d#J%#+>`1Rr5aSbs6 zVxkZqzu9~D?%?f-;Z6d54O)b6P>22Q>|!Gx&!X$bTO5w)!E6@I^ycAoN=JCwAQ<>J zi9aO9Vc=mfWUaWhjX*jHZ zw^@~QUDSxt`!mafKNa;d2{7KwMvDs?#&cP@k-V?{XEX`*X45b~w(;fV^ppNBo`G3d zz+Su4?G2LVn8hlXwzMx7^RZqkX;?`q)G=HxhxX+xiX+A^UPhL{R$8l}bSxHXZTS`z zJq+Ct^*3nC2LZ9`G1Be9AT(OG6`=9%u5FD_YsaOC3~9@DI-KYnuHeG9E)jn3ne@!1 zCOQWVyIg0bTO%m$UheLq*2o3h(?=!>-OgYH6y2@u4PuH?7As|qTBvV8D~M8-6rXV<&AVSNT<>FnAsyde{fCwhXtx$Xg1 z=FnmIadVS&n$Zsdh>|C)kmaKfhNJtUXfTa{<^1O~8Ue`*{`=^-YgqQKx1k3rvw#l< z=&IjpS-}PZ5)at}li0 zZs~4SK;&#;j{ow7p!#BsM*=u*&oz~@y zHr-MC=#+wv1^)vF=|idS(KpT_rV#M3jY^abv?tE{I}%+=3XK8Q~0hH|0z73)frrYDgzW< zr6@#=TyHzPM_`)bl8Q^#L}(dr44@WNX_{y78Y168(iiNaD`=I+eQ_J^=tTZpc$j

OI;ledgd3A^9^;TOF^srCnM^9Q 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 hyDYorWK>>= 0; + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); + } + var slice = this.slice(offset, offset + length); + if (relative) this.offset += length; + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + // types/ints/int8 /** @@ -1971,7 +2006,7 @@ * will be modified according to the performed read operation. * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. + * written if omitted. * @returns {!ByteBuffer} this * @expose * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index fe5c512..c4709b1 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -4,83 +4,84 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< +(function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b< a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0=== (a&&a instanceof f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& -(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ -0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c= -"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== -typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; -if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+ -3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES= -10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, -f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*= -2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128: -h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= -0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); -d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= -a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, -h=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=t();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d= -b,h,e;h=l.a(m(a),this.noAssert)[1];e=f.calculateVarint32(h);b+=e+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+h+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=t();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, -b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; -b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= -b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); -b=(n="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);n&&(a.offset+= -g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, -b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, -b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); -b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+ -this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, -83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, -h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= -this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== -this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), -16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? -c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, -g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, -c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+ +" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength); +}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+= +4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian); +b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*= +2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32= +e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a= +k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b, +a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a, +!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); +}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+= +8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d& +127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a): +"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a, +!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7& +1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c? +(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e=0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++), +d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d, +length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(n(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== +typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(n(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,h=b;d=l.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);b-=d;l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(n(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)"); +a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=t();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,m;e=l.a(n(a),this.noAssert)[1];m=f.calculateVarint32(e);b+=m+e;var g=this.buffer.byteLength; +b>g&&this.resize((g*=2)>b?g:b);b-=m+e;b+=this.writeVarint32(e,b);l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+e+m)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+m));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=t();l.b(function(){return a>>=0;if(0>c|| +c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength}; +e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&& +(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset= +0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,m;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(m="undefined"===typeof b)?a.offset:b|0;c=(e= +"undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);m&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b= +this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset); +if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer); +return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+ +this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, +112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&& +(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>= +0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"): +b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,m=0,g,k=!1,l=!1,n=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=m;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=m;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString()); +b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>= +d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c= +0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a< +b?this.view.getUint8(a++):null}.bind(this),c=t())}catch(d){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(l.a(n(a),!0)[1],b,c),e=0;l.c(n(a),function(a){d.view.setUint8(e++,a)});d.limit=e;return d};return f}"function"===typeof require&&"object"===typeof module&&module&&"object"===typeof exports&&exports?module.exports=function(){var k;try{k=require("long")}catch(f){}return u(k)}(): +"function"===typeof define&&define.amd?define("ByteBuffer",["Long"],function(k){return u(k)}):(s.dcodeIO=s.dcodeIO||{}).ByteBuffer=u(s.dcodeIO.Long)})(this); diff --git a/dist/ByteBufferAB_DataView.min.js.gz b/dist/ByteBufferAB_DataView.min.js.gz index a7e14569cfe45c23a53eb5b938dd64fbd58c4861..66161607c291af9b0ee760d39e3236bfdb6cc4e3 100644 GIT binary patch literal 7682 zcmV+d9{u4TiwFq&l6h4E3qpBxWkPjkW@U0gLSIB-bYWI$Wp^%ZX>KlRa{%mJdvn`3 zlK-EdLRQ_nhzM3hSucyCwa#O1Q%S??4GLZT+Jq>`v)GPb_^H6A2E5|rgf z5<8Pr$q}h;5I}eTx*Npf@guA9t^Ds~8U0xq z1auy-zl*>1$^6)=e0cKi#mi@B8u!VQ-=2|(yq~bom4nI?LO)JssL;eOY%h$ z;>ro7Y_*!h?U=)=ykS#DRxGHjX8~JQqL5Wi7KFloFDI1ERt#6(v*l_spH-UmhE-WH z)~|$7v{>~YKORq_aP8OW{QR+~(7kyc<`KUtn_if^h>d&74a`Nuw>2FU@{^#WBi_?E0 z*GTRIxv!BwfA#Fe$*U4#3dB?+e)am~?c3*XPLVqq*?UkUa_Ker_r@_nQMjCcuDl_$ zF?+sT&X;!e#dONXWLlvF`fn0_sUp|+_V#?2!e6?H!pW*G#o{&Kp=7w~&p>9HglvLb zLG}qmqljkf=~U3gBD1xE6#0BKTCoV~Ca%uO@*@jg%XW)9KNPWs? z<0u@GIt|J4DJaTGWc#%m>hsoZ(jp^UmPou0XV`~7hH`oT^PX9b*XL{&tyJMCeqR0e z`DA8StEjfFlf`2C#eN$t!6YzruG46?261(2`69Tk)EDbjXcssUj=8)Ba)rq1i{(6; z^ZpV%ii6;!R0IvHzkmMb?Tgp1ylSi7s5cH4OICG9^_MSBPhUP)+UV^y;MS8D|D9Yr zZc)KKr{m`J*wfkEqTGx&_XSd4h#vccG`)fgJpC#w{-Z1RDfq03A0 zKXlaRC0U5?*at0Gc>JrhrUUU++8%BU7N9<1&07ex;2N5!q-<+Tpp^g);>}96sIZ* zVPD-zzloOk3OC}LuAgE}Y;RnAdIxGkjK#gjyTh^pyGdm-TSa6>xxhw3^jvxdbMsT}Pu{6}kmoP;ir#st+fxhBU!7&!hZ0`TgXry&;?D|gOGUxfE zrd36E=dB7Q0PR_WtNDve?jk`@J~M|1#JE|#b-i9+)` zP#^gW9Ba0IvnDTIN`UaC7tXj|k{FZArqK8KN@_}Ls%2Vwrlx5X8@YOAtCB5Zn5~)g zrD?sYAEe}DozA#ozZN$%zZK0D$}2%24mokX6QmT?PwS=bPIxGk^gICR1j%Z06cWO+ zCzyPgoT(~Ztu$7OD6GC@B;e|^${4+j4yb1~SeFWu)j}c}xn*J)=~8Cva~~eMr+btJ zT={=<%GFzzDa@o+t=O}9R3S4Ef5gThZyxR)A0NjNA{6M?$gvizX|mfAJ;o1dR0dxB zq*}E`YE>lfl$7Xhc-I87^{Xkw?lu5m4T2utD_Wn_Jh-R2I^bRXc{u?y6@ATk6vJjg zeD?*2@oNjfig86sfNYb%Co)|#E&yT{KpdcdEBQ9=NWP7$Wb4;F$JGQ}pn6(&y=8V=nG)r#X zktMgT@0dXODZVSzaTKuc;~?^Y3ne*gs(lzC{I zA`3npWd0fNH4rxaTm!tShm�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

=?BMqQ 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 literal 7616 zcmV;x9Y5k9iwFpvjCoZ83qpBxWkPjkW@U0gLSIB-bYWI$Wp^%ZX>KlRa{%l;YjfI2 zw%_$DFm>0Z4sC)kFC%2uNj!H`l}&CXPVU{wdZ${g1~I`vfk-A}^WX33hoqL&vhgd4 zGfou_66f^eyiY%$KCvp#zDDfXdNg9o`tPfXO;M%UaN3m@WHw>b%KuK5(Vvw;K<5Gb zyZBq5%nz-~$7ka5?`{c}r$vcD!89 zmv;5#bjrqLTA>8!H;KMhk?VUqJHAWdFWp4pWL1}J@fuJm8Ls*>;F-oDn;=(!eFoMj zpxJsl6>u@jY^@*#J|B%%EP}R)r!%tr#DX{S-JT;~PA6xR$RqJX6iwOjESQj)r;%bO zrP~l1-rrHkv-#0##g>uiN5ZHxXzuxEvaI+}^O8mDB``1MFFIFm{DDR4Q#Kn%;gHm6 zNS4n*P>v$ouhmeW_imFG8QHQ#;(a{DKKwD1%jwT4vmCF_*eqJ9!ckmb{rCA~W>>4I zwyu-KV*1s77cD_0Fc8;iG+TqXIkkKdTvqCf^(wRrmnVv*Q*8+;ci^ zUXDE-%`FP9Ea}yJHugSUTyR>uoVpC~lE&kemzTl@!fQ`u$L0Lpu5UZI%UG?X4uu(HztuHRBE73q*W>Mf# zOg$eY=kt6LRDi6Ym%PWoHO$~M_F^{Th06wGw^n0lRG+L;t7Vgq>=a#Gi2s35UzTJc zzGEMxVBztvQk(X~SE+lrF<5~3gf(v=tOb|QL?mTr8=^yC669kj9|Q6Delm-Cf(0Of zv1;?iL!(7I5#<%vYNyZws;Z|+-G|-+8XVN&!M1bd(YQQRU#)$j-YHB~6vDoGlYSFD z@s-_(U%Gy3Yhr!l?9&OTF)?QM4kw3YgY71j$!ryo8RZNc3D$G&8N^8wNDjr>U=R<3 z6aX9Yav)d|gKEA6t-eem8rqk*j_NuZ^{PM?bWXudR;oVy?X;@>*f0qVc_v;$vnX;U zSjhg!!Tf{$p#%7n8CibKmm^;4V50gg(EF2LdOAqJ{Pj2o^Mb#VK+rR?o<@D?u#~TQ zKU=LAi}^AF$IoWqx`8tNO10)AcLTKIrh?m8P_w!JJEM_C;Mnz@z+=wyNlB{;a_6-Q zB?j8FSe;JiGx!U30)7FR%lRzq^CB|Bl8Q8nRY+6wE@am2FD4h+(#6(wC;~s(zH5 zlWjWXg8fFk(EL_3S5{sz0&$ZQw>z^gCDpXbriDcxKiD9HmnXS)!s8o~ci;D(4k-s_R z;{BOS*NkfksZ}fXY#vp}47eY$F|Zpt5Qm4w(tTOFe_83W#X>>6YobGc z81#KDsO7@JxoZ2M|Iz0gEmHkA0}7>rqE9*HOuaEtNDTe?oE1g*u%d(T7@p zK_}Y0Qzzp%x~x0gyHMu$QfV^+qj}-`*5@0kv-P9vvtrJT6*^%` z$_C9h?>GOF`K|Ti>2vE&ee-@3)VZ~#I=9T~48?f5q@N%(<~T zCrnA%;C=$U)Z%tp_o~(UJQVRhiD{eH;wPT;C&T!LS*sXY4&Lj~JB2y6Pv~ZrqB37r z_{1@ivpM%qe+NQ{YFGiSu!8;9v zO+VMbUe&|NIOGthUsi;Ka4soBRN^3mrR!xa9adT+mKx|9gcFaM(WVDC2-v%$n5DO+ zmCMKgpO5=w8)KQQ2&6v%`}j}5ynZ=02Xf5#;s^K?O=(XvrHZ?X>j|T==IKg|sP$+? ze}*y5Ya3DP(TZMeMc+$vnb9Jg1}a8N`ePeX>)~6{#;q)AV>?Tla6aWVinEAcrgQQQ zGtFxmyo$sxnmOyInY+2eyi#%U_KBq^$ji!yN^gqN^58~%zt=cX%$^&kmN8p2K4ds{ z&xz%oEAdZ~@!dMOC@OKM1xno8Qi*$JC4Mnq`%~s+1w@ym2k7tb(%oCv^Y_zfO+dd2POcolNO^N+R}wEQ@1$iY%%M zr`bCsL#OX__IoY(*6cSM2VJM#gzx+PW~bNMZ@1bVcxv_AeDU+2lku-)e9YJBvRuis zNZaOfGiWey{sUF*I|%A)q?j*QDQ1N?&H2wBq&yC~Xe3f;=*HvHk?&=>q|q`6nOGiF z^8#0Haws)xVa}|D%B+PdX9|ofz;NJ^3lP>st>OE?BSRbBA0Br3PuPT4bNGs3A>Aps z(<+B=a(JZ!DMr&N$FTMVN~|gZ$p{D$7L?T6b=nBJ)6VB{F&GrL>omI@riIFYnkmqJ zDUg!_HOqifkaQ^*9cC?3AUclvK|v*d6*`?$OwF@oq3yi+5DV^6Y~_sR>W6kQ*7sYX zC#_!t_}0Lo8_dr`kJMkd)Kzo$NYFxhyI3ij5-MLG?dCMRa1>9k8{4mkAFeN1 zE+?HLv%vmTfAjhnX}I+n7^H~VNPn3O1sde~uRIfJ{Z$9i?^<3hF70fw-79EZ*Ldhkx`ng~s23xrTMe;deawmrOV+r#U&oo(HAR%|;;{$=)~ z%RSST`DeC-e29DcKsmN&lV}BbPY8|cVQvgs7Yx3O2{&_c!v(3B+mJoTZgRS5$ZqUH zdLtAYK`ba zYcWHh(B#<^psj8&;9I`~6d%f>AMg^OOALi5^!a=i5uj(~_4`+^_Bbk`5nHZ))<`e( zrgdWTb92x~=aff6Va;)GvDSg3PwP|^iFGkHde<5zXjAtmkcJ2sXx{e;V2zSdDbH8F zGmOUxicl#bb@qLu2@9J^Xx$L$5HDWNOorzw1|$!KF$-B7#-x z264M&DdtfoZnCu@2rrapPldY3fZv5UUaV&*wY`vE^v|WG=)*(C04IAJwzhWG4f5LC zTDPBf4#CHvn_3~9rJb@#ty-v#i7K^AEN7RPvP(?aC0>MaDLoF2({X%x#dYkMl{aKS zP@iW2HK_R}O2Ucgar*IG35vMN0Q!4DvM=OYn7|)=4gZ!4EzZ)H&wu7Af(z}yjZ(FJP87vpJLeGa#DIY)uw>4G4tpcd4tVEdZw3i$& z$bi0ffWPI3?X64`^=Z!=r<*($KcwXfEax=Y`eGJ9apq=WEYcT;V(Mq9Nl#)vLDLNc zct%VwJ(x42Id>cjDkZ(ihE^(zr`xFvH5X4cm4O239jFZ5US;G!3dLjL9D(wAVxNz> z5d`rc8?0$KAiKMCkOqw=+e(eLRhPmV1On4K1MwOcJ$A?$coT1Jg|WL%Q|Tb9g3xb0 z4jrd)DBWY5O@SoBN(*7z%B0?pe2_bm4|_vW+lWTxV_#5CQ(fh?dehEn~Us}!Nz^-Z3N zJ2YpR1aOyIy?91&cb6wxC1ARJQyatmJrWnwIfYRVV`3-tCQjkhakcbP2U67Z#phV!fES=2l05>ofq$ER+*GvFDc8_Mz0c4nL!78G`7y; zSXLqXsk7N?y=2c-s0FF$xM(ydQ0y8n-zWn2IWqeDOjcV0@&-QNr@82_U6RK!=Q5rwtOU{a% zk;yDGCz2g3l%lQ?PhxTEY8WP|$d1exe#WK&Lm6Y1I$jx-UhXz-;Zx&*(=DR7?Jh)3 z9cSzn3%WRvLQ%XIwJ>f;R2p%a@?%}Ai8gR#HMbds|%N2VZTznYACBnz#Z)H_H zl$YCWJyK`+`nq_p{N~-9#H>E)k@Ov_;#Mn}Hd;!nJQOhvw!}$H33V^wSKN$-#vWBu zwNlerSjM?bHc}wrbV9$k%2|&(cl8Xon7FbbEKMQ{m&P~6Cd&^vN29snPS}E&Vtp7w zEQmOyC|IVdWMbvV5po!&p>x4ZHs3N?VV_mk!5!+(~@*aON^#6~KzyfPL*=;q3jy z3QAp2?3*trRzUoQV!!l;;rx;~q&vOs6{H7_UTVdF-mlArZx zJHF(bc;_2_X?&-RJ00BV;!Y2D4sf@DyAJL)ad#hgTe#cC-45<{akq!N2e{Y3JqP!i z*y`=$UJLiyxYxnGF7EYk?*Jb(@IeCT{g`>j1YKxb5I}6SwzqyM^0r-0t9Z z7q|9tt9uG&@Z+i2BMq5!yx1rhFtGuXe)K;Er>9^jNqwTL1WgGPVCM2EQ!rxuge`s! z1fn+J9UeA!JNu`6Yp)&b?xVq=g|mP|n_YMS*V=`Sa2$A6k4Qs>r@^3Ez)cZ4P`ZQ{ z6^pN^F92BlzT+U%JN3&3IvD1Hg!riv$dM&YmXaJK-dtMYn{Z=kiYdde72;7s9HxlF z*C>0G-~DbhDB3no~MWf3r3Wd~kL_H(4*>EmJ zY!w-{Bs~3(J?wux+WVF4{n^+%s69PBZ*9<%!pr8y^DeTl_BS3H{?}7cG8DK;U4@Ng zv?0vg_93M8n6`cM5YqizpBPs``q$jPm9BKP5#JCaP75dsfC>qAXnviwb>oHBg00E| z|E+Zey6k;L99AF)+Cz3vIk|iQGa@n)wk11dm*BsrdtN+c*-k3SVJ}F)OwX%d z^D)!ISmdktT#c(bx6k4Y@HJtsOtoxea&x=M4NW8FD>5rl?{b+EbzT44`zZ#>YYKS; zEZ$Bl7s5(eam@cB$G9E&A`sPZJ#P`e1dWPJ!{`A9EitwBMHGE1?}s`oadpsHU9xGFeg6&}?W$ zh1feR_Sf%scXa<1)CF$Wp)bC-&@QjdaOy4+9V5p8*&d#N9`?0~Mlkp#(*|s@L@Xw_ zADp?au3pp+!$D*F&ToG50VX0vko=Wji^M%TbMGvf?tv*Or$vX+|M(D!5 zs$XOTt!S0{REk}jx9ZDXRMZ){h8Y;uA)ls&&4op|+aOXohIg{EaO7B9yzKC@$ICrj z0=h_m^TY%=72*Y=MN#*N=`eJ8W!Sexu`7x_IYM?jU@mI84R;}sv`e)DxwYz8E-}u7 z0oH_P6LZ$0MZHbBO;}Ru5V~wvvs1?xYS=?>(V*8NRwvby_o|+E->%DE)XRESo zkZaMZQR>P1v7WVA4N-}6g#%;Po=GG@DBi3=F%9pc{Q-|8Gg7m`OV$8%kkr=3=I}lG zZlnZcXqgrTYVVZ1%5E?agrgNSsjNucQrtNx?v!9#Y?R3RGqk_ue@5F4(0ks+w_9!` zsDSf?tpkP{?az?;ZF4w4eFW}_0X5mMaA!7O#3wzEx3_r+eK_1a4F8}{D+0C6Mf4dk ziDiBDK0}-SQy1|k(tpZDtQ8CbXsj|@N3N;^dehx0lb znU$F?_G_h|Mw`R0n|$*?4a#&B$17ZS#$ZN#aG`%L+?kCaBY!`ivXc+QgL&h= zy5S8gt+dtXCLqb8f8)1J!?vQy26Wfc4-UYosN#IkqS{&)9F{!VfkUqL{IW#glrw2P zgi*i;J+9-JYjmpmfK2p^4a!3>UL$HJBQ-+@@mJU%1aso;T40%paS22j1`A214x)U; z8hW520Qm#~=s+TimIUN|%I=GT6SPuEk^z*Ciy-KnVTeWAq&~AH^^0@VtNW~3+5kF5 z7RUl)Ua0c0=u{S+RYkuPx-i;5psB-Q@P$RT68|LV&bhzhT=9>tsLzMT^V~1$4U4vMlxm;h)KsRnaS9lh>}6|;*3<5s_QuXrA7Z; zLB%S0&@vQF5W8d?vP$BZpv2k4s_eqx_)YNV(xraqYViL6!5{X|$5Y_|-VB77 zU>QD z&G+>FakB>n**(i-cbhzJ;f?(5rl3#w#rmM@;?IgForv4E&y+C^$U;%3p>1!mBg9Cq z$x)8LqmdDiYrn6;TvEYEv)@UyOIG}^QCs7nS(h4~pP*e;{gx?iW8^^}A0`P-93LmRf6Lum)NjMt@gTDY6RE}}cpa1~dUDsFu diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index 63a11c0..43fdcc2 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":86, -"mappings":"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", +"lineCount":87, +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","writeInt8","ByteBufferPrototype.writeInt8","value","relative","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","slice","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] +"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","value","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index fc2a3c1..76c4d9d 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -371,6 +371,41 @@ module.exports = (function() { return bb; }; + /** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.readBytes = function(length, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + length > this.buffer.length) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); + } + var slice = this.slice(offset, offset + length); + if (relative) this.offset += length; + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its + * offsets will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + // types/ints/int8 /** @@ -2122,7 +2157,7 @@ module.exports = (function() { * offsets will be modified according to the performed read operation. * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. + * written if omitted. * @returns {!ByteBuffer} this * @expose * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` diff --git a/scripts/build.js b/scripts/build.js index 5964503..a5c6f55 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -42,7 +42,8 @@ var scope = { UTF8 : true, // Include utf8 encoding (required for STRINGS) // Primitive types - + + BYTES : true, // Include bytes INTS : true, // Include int types in general (catches all) INT8 : true, // Include int8/uint8 INT16 : true, // Include int16/uint16 diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 1f79fbe..7f4fbd5 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -189,6 +189,10 @@ var ByteBufferPrototype = ByteBuffer.prototype; //? include("helpers.js"); //? include("methods/static/*.js"); +//? if (BYTES) { + +//? include("types/bytes/*.js"); +//? } //? if (INTS) { //? include("types/ints/*.js"); diff --git a/src/methods/append.js b/src/methods/append.js index 0e68b22..c8fd87d 100644 --- a/src/methods/append.js +++ b/src/methods/append.js @@ -10,7 +10,7 @@ //? } * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. + * written if omitted. * @returns {!ByteBuffer} this * @expose * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` diff --git a/src/types/bytes/bytes.js b/src/types/bytes/bytes.js new file mode 100644 index 0000000..df17180 --- /dev/null +++ b/src/types/bytes/bytes.js @@ -0,0 +1,34 @@ +/** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ +ByteBufferPrototype.readBytes = function(length, offset) { + //? RELATIVE(); + if (!this.noAssert) { + //? ASSERT_OFFSET('length'); + } + var slice = this.slice(offset, offset + length); + //? RELATIVE('length'); + return slice; +}; + +/** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + //? if (NODE) { + * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its + * offsets will be modified according to the performed read operation. + //? } else { + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + //? } + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ +ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; diff --git a/src/types/floats/ieee754.js b/src/types/floats/ieee754.js index ff3d1d9..f03bf7f 100644 --- a/src/types/floats/ieee754.js +++ b/src/types/floats/ieee754.js @@ -25,7 +25,7 @@ */ /** - * Reads an IEEE754 float from an array. + * Reads an IEEE754 float from a byte array. * @param {!Array} buffer * @param {number} offset * @param {boolean} isLE @@ -68,7 +68,7 @@ function ieee754_read(buffer, offset, isLE, mLen, nBytes) { } /** - * Writes an IEEE754 float to an array. + * Writes an IEEE754 float to a byte array. * @param {!Array} buffer * @param {number} value * @param {number} offset From 0b005b3b974f0cb5e4e196a9ae30d1f044b82ae2 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 16:04:30 +0200 Subject: [PATCH 61/91] README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9cf61a..7007dd3 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Downloads Support for IE<10, FF<15, Chrome<9 etc. --------------------------------------- -* Requires working ArrayBuffer & DataView implementations (i.e. use a [polyfill](https://github.com/inexorabletash/polyfill#typed-arrays-polyfill)) +* Use ByteBufferAB_DataView with a polyfill ([see](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist)) Contributors ------------ From 1c582856677421bc5c469dc5f17bfdffa57969b7 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 11 Jun 2015 17:15:57 +0200 Subject: [PATCH 62/91] Add webpack.config --- webpack.config.js | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 webpack.config.js diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..4b90a3e --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,3 @@ +module.exports = { + entry: "./dist/ByteBufferAB.js" +}; From 61c21e46ff32b09f0a703148ca965bb9355655d7 Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 17 Jun 2015 16:34:26 +0200 Subject: [PATCH 63/91] Separate module loader logic --- dist/ByteBufferAB.js | 6561 +++++++++++++------------- dist/ByteBufferAB.min.js | 44 +- dist/ByteBufferAB.min.js.gz | Bin 8326 -> 8321 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferAB_DataView.js | 6183 ++++++++++++------------ dist/ByteBufferAB_DataView.min.js | 66 +- dist/ByteBufferAB_DataView.min.js.gz | Bin 7682 -> 7669 bytes dist/ByteBufferAB_DataView.min.map | 4 +- src/ByteBufferAB.js | 33 +- src/ByteBufferAB_DataView.js | 33 +- tests/suite.js | 3 +- 11 files changed, 6451 insertions(+), 6480 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 5070508..5d54108 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -20,1553 +20,1768 @@ * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // -(function(global) { +(function(global, factory) { + + /* AMD */ if (typeof define === 'function' && define["amd"]) + define(["Long"], factory); + /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return factory(Long); + })(); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); + +})(this, function(Long) { "use strict"; /** - * @param {function(new: Long, number, number, boolean=)=} Long - * @returns {function(new: ByteBuffer, number=, boolean=, boolean=)}} - * @inner + * Constructs a new ByteBuffer. + * @class The swiss army knife for binary data in JavaScript. + * @exports ByteBuffer + * @constructor + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @expose */ - function loadByteBuffer(Long) { + var ByteBuffer = function(capacity, littleEndian, noAssert) { + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (!noAssert) { + capacity = capacity | 0; + if (capacity < 0) + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; + } /** - * Constructs a new ByteBuffer. - * @class The swiss army knife for binary data in JavaScript. - * @exports ByteBuffer - * @constructor - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. + * Backing ArrayBuffer. + * @type {!ArrayBuffer} * @expose */ - var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') - capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') - littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') - noAssert = ByteBuffer.DEFAULT_NOASSERT; - if (!noAssert) { - capacity = capacity | 0; - if (capacity < 0) - throw RangeError("Illegal capacity"); - littleEndian = !!littleEndian; - noAssert = !!noAssert; - } - - /** - * Backing ArrayBuffer. - * @type {!ArrayBuffer} - * @expose - */ - this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); - - /** - * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. - * @type {?Uint8Array} - * @expose - */ - this.view = capacity === 0 ? null : new Uint8Array(this.buffer); - - /** - * Absolute read/write offset. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.offset = 0; - - /** - * Marked offset. - * @type {number} - * @expose - * @see ByteBuffer#mark - * @see ByteBuffer#reset - */ - this.markedOffset = -1; - - /** - * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.limit = capacity; - - /** - * Whether to use little endian byte order, defaults to `false` for big endian. - * @type {boolean} - * @expose - */ - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : false; - - /** - * Whether to skip assertions of offsets and values, defaults to `false`. - * @type {boolean} - * @expose - */ - this.noAssert = !!noAssert; - }; + this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); /** - * ByteBuffer version. - * @type {string} - * @const + * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?Uint8Array} * @expose */ - ByteBuffer.VERSION = "4.0.0-pre"; + this.view = capacity === 0 ? null : new Uint8Array(this.buffer); /** - * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. - * @type {boolean} - * @const + * Absolute read/write offset. + * @type {number} * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear */ - ByteBuffer.LITTLE_ENDIAN = true; + this.offset = 0; /** - * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. - * @type {boolean} - * @const + * Marked offset. + * @type {number} * @expose + * @see ByteBuffer#mark + * @see ByteBuffer#reset */ - ByteBuffer.BIG_ENDIAN = false; + this.markedOffset = -1; /** - * Default initial capacity of `16`. + * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. * @type {number} * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear */ - ByteBuffer.DEFAULT_CAPACITY = 16; + this.limit = capacity; /** - * Default endianess of `false` for big endian. + * Whether to use little endian byte order, defaults to `false` for big endian. * @type {boolean} * @expose */ - ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : false; /** - * Default no assertions flag of `false`. + * Whether to skip assertions of offsets and values, defaults to `false`. * @type {boolean} * @expose */ - ByteBuffer.DEFAULT_NOASSERT = false; + this.noAssert = !!noAssert; + }; - /** - * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded - * and int64 support is not available. - * @type {?Long} - * @const - * @see https://github.com/dcodeIO/Long.js - * @expose - */ - ByteBuffer.Long = Long || null; + /** + * ByteBuffer version. + * @type {string} + * @const + * @expose + */ + ByteBuffer.VERSION = "4.0.0-pre"; - /** - * @alias ByteBuffer.prototype - * @inner - */ - var ByteBufferPrototype = ByteBuffer.prototype; + /** + * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.LITTLE_ENDIAN = true; - // helpers + /** + * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.BIG_ENDIAN = false; - /** - * @type {!ArrayBuffer} - * @inner - */ - var EMPTY_BUFFER = new ArrayBuffer(0); + /** + * Default initial capacity of `16`. + * @type {number} + * @expose + */ + ByteBuffer.DEFAULT_CAPACITY = 16; - /** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ - var stringFromCharCode = String.fromCharCode; + /** + * Default endianess of `false` for big endian. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; - /** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - * @inner - */ - function stringSource(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; - } + /** + * Default no assertions flag of `false`. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_NOASSERT = false; - /** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - * @inner - */ - function stringDestination() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; - } + /** + * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded + * and int64 support is not available. + * @type {?Long} + * @const + * @see https://github.com/dcodeIO/Long.js + * @expose + */ + ByteBuffer.Long = Long || null; - /** - * Gets the accessor type. - * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) - * @expose - */ - ByteBuffer.accessor = function() { - return Uint8Array; - }; - /** - * Allocates a new ByteBuffer backed by a buffer of the specified capacity. - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} - * @expose - */ - ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { - return new ByteBuffer(capacity, littleEndian, noAssert); - }; + /** + * @alias ByteBuffer.prototype + * @inner + */ + var ByteBufferPrototype = ByteBuffer.prototype; - /** - * Concatenates multiple ByteBuffers into one. - * @param {!Array.} buffers Buffers to concatenate - * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", - * defaults to "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - * to {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} Concatenated ByteBuffer - * @expose - */ - ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { - if (typeof encoding === 'boolean' || typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - var capacity = 0; - for (var i=0, k=buffers.length, length; i 0) capacity += length; - } - if (capacity === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var bb = new ByteBuffer(capacity, littleEndian, noAssert), - bi; - i=0; while (i} buffer Anything that can be wrapped - * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to - * "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` - * @expose - */ - ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { - if (typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') - encoding = "utf8"; - switch (encoding) { - case "base64": - return ByteBuffer.fromBase64(buffer, littleEndian); - case "hex": - return ByteBuffer.fromHex(buffer, littleEndian); - case "binary": - return ByteBuffer.fromBinary(buffer, littleEndian); - case "utf8": - return ByteBuffer.fromUTF8(buffer, littleEndian); - case "debug": - return ByteBuffer.fromDebug(buffer, littleEndian); - default: - throw Error("Unsupported encoding: "+encoding); - } - } - if (buffer === null || typeof buffer !== 'object') - throw TypeError("Illegal buffer"); - var bb; - if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBufferPrototype.clone.call(buffer); - bb.markedOffset = -1; - return bb; - } - if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER - bb.buffer = buffer.buffer; - bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.byteLength; - bb.view = new Uint8Array(buffer.buffer); - } - } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.byteLength > 0) { - bb.buffer = buffer; - bb.offset = 0; - bb.limit = buffer.byteLength; - bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; - } - } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets - bb = new ByteBuffer(buffer.length, littleEndian, noAssert); - bb.limit = buffer.length; - for (i=0; i>>= 0; - if (offset < 0 || offset + length > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var slice = this.slice(offset, offset + length); - if (relative) this.offset += length; - return slice; + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); }; + } - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return Uint8Array; + }; + /** + * Allocates a new ByteBuffer backed by a buffer of the specified capacity. + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} + * @expose + */ + ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { + return new ByteBuffer(capacity, littleEndian, noAssert); + }; - // types/ints/int8 + /** + * Concatenates multiple ByteBuffers into one. + * @param {!Array.} buffers Buffers to concatenate + * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", + * defaults to "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + * to {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} Concatenated ByteBuffer + * @expose + */ + ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { + if (typeof encoding === 'boolean' || typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + var capacity = 0; + for (var i=0, k=buffers.length, length; i 0) capacity += length; + } + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); + var bb = new ByteBuffer(capacity, littleEndian, noAssert), + bi; + i=0; while (i>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + /** + * Tests if the specified type is a ByteBuffer. + * @param {*} bb ByteBuffer to test + * @returns {boolean} `true` if it is a ByteBuffer, otherwise `false` + * @expose + */ + ByteBuffer.isByteBuffer = function(bb) { + return (bb && bb instanceof ByteBuffer) === true; + }; + /** + * Gets the backing buffer type. + * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) + * @expose + */ + ByteBuffer.type = function() { + return ArrayBuffer; + }; + /** + * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its + * {@link ByteBuffer#limit} to the length of the wrapped data. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string|!Array.} buffer Anything that can be wrapped + * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to + * "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` + * @expose + */ + ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { + if (typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + if (typeof buffer === 'string') { + if (typeof encoding === 'undefined') + encoding = "utf8"; + switch (encoding) { + case "base64": + return ByteBuffer.fromBase64(buffer, littleEndian); + case "hex": + return ByteBuffer.fromHex(buffer, littleEndian); + case "binary": + return ByteBuffer.fromBinary(buffer, littleEndian); + case "utf8": + return ByteBuffer.fromUTF8(buffer, littleEndian); + case "debug": + return ByteBuffer.fromDebug(buffer, littleEndian); + default: + throw Error("Unsupported encoding: "+encoding); } - offset += 1; - var capacity0 = this.buffer.byteLength; - if (offset > capacity0) - this.resize((capacity0 *= 2) > offset ? capacity0 : offset); - offset -= 1; - this.view[offset] = value; - if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + } + if (buffer === null || typeof buffer !== 'object') + throw TypeError("Illegal buffer"); + var bb; + if (ByteBuffer.isByteBuffer(buffer)) { + bb = ByteBufferPrototype.clone.call(buffer); + bb.markedOffset = -1; + return bb; + } + if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER + bb.buffer = buffer.buffer; + bb.offset = buffer.byteOffset; + bb.limit = buffer.byteOffset + buffer.byteLength; + bb.view = new Uint8Array(buffer.buffer); + } + } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.byteLength > 0) { + bb.buffer = buffer; + bb.offset = 0; + bb.limit = buffer.byteLength; + bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; + } + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (i=0; i>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view[offset]; - if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed - if (relative) this.offset += 1; - return value; - }; + /** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.readBytes = function(length, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); + } + var slice = this.slice(offset, offset + length); + if (relative) this.offset += length; + return slice; + }; - /** - * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; - /** - * Writes an 8bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint8 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value >>>= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 1; - var capacity1 = this.buffer.byteLength; - if (offset > capacity1) - this.resize((capacity1 *= 2) > offset ? capacity1 : offset); - offset -= 1; - this.view[offset] = value; - if (relative) this.offset += 1; - return this; - }; + // types/ints/int8 - /** - * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + /** + * Writes an 8bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt8 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 1; + var capacity0 = this.buffer.byteLength; + if (offset > capacity0) + this.resize((capacity0 *= 2) > offset ? capacity0 : offset); + offset -= 1; + this.view[offset] = value; + if (relative) this.offset += 1; + return this; + }; - /** - * Reads an 8bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint8 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view[offset]; - if (relative) this.offset += 1; - return value; - }; + /** + * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; - /** - * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + /** + * Reads an 8bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt8 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var value = this.view[offset]; + if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed + if (relative) this.offset += 1; + return value; + }; - // types/ints/int16 + /** + * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; - /** - * Writes a 16bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeInt16 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 2; - var capacity2 = this.buffer.byteLength; - if (offset > capacity2) - this.resize((capacity2 *= 2) > offset ? capacity2 : offset); - offset -= 2; - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } - if (relative) this.offset += 2; - return this; - }; + /** + * Writes an 8bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint8 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 1; + var capacity1 = this.buffer.byteLength; + if (offset > capacity1) + this.resize((capacity1 *= 2) > offset ? capacity1 : offset); + offset -= 1; + this.view[offset] = value; + if (relative) this.offset += 1; + return this; + }; - /** - * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; - /** - * Reads a 16bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readInt16 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } - if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed - if (relative) this.offset += 2; - return value; - }; + /** + * Reads an 8bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint8 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var value = this.view[offset]; + if (relative) this.offset += 1; + return value; + }; - /** - * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; - /** - * Writes a 16bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUint16 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value >>>= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 2; - var capacity3 = this.buffer.byteLength; - if (offset > capacity3) - this.resize((capacity3 *= 2) > offset ? capacity3 : offset); - offset -= 2; - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } - if (relative) this.offset += 2; - return this; - }; + // types/ints/int16 - /** - * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + /** + * Writes a 16bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeInt16 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 2; + var capacity2 = this.buffer.byteLength; + if (offset > capacity2) + this.resize((capacity2 *= 2) > offset ? capacity2 : offset); + offset -= 2; + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } + if (relative) this.offset += 2; + return this; + }; - /** - * Reads a 16bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUint16 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } - if (relative) this.offset += 2; - return value; - }; + /** + * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; - /** - * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + /** + * Reads a 16bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readInt16 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 2 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } + if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed + if (relative) this.offset += 2; + return value; + }; + + /** + * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + + /** + * Writes a 16bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUint16 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 2; + var capacity3 = this.buffer.byteLength; + if (offset > capacity3) + this.resize((capacity3 *= 2) > offset ? capacity3 : offset); + offset -= 2; + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } + if (relative) this.offset += 2; + return this; + }; + + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + + /** + * Reads a 16bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUint16 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 2 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } + if (relative) this.offset += 2; + return value; + }; + + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + + // types/ints/int32 + + /** + * Writes a 32bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity4 = this.buffer.byteLength; + if (offset > capacity4) + this.resize((capacity4 *= 2) > offset ? capacity4 : offset); + offset -= 4; + if (this.littleEndian) { + this.view[offset+3] = (value >>> 24) & 0xFF; + this.view[offset+2] = (value >>> 16) & 0xFF; + this.view[offset+1] = (value >>> 8) & 0xFF; + this.view[offset ] = value & 0xFF; + } else { + this.view[offset ] = (value >>> 24) & 0xFF; + this.view[offset+1] = (value >>> 16) & 0xFF; + this.view[offset+2] = (value >>> 8) & 0xFF; + this.view[offset+3] = value & 0xFF; + } + if (relative) this.offset += 4; + return this; + }; + + /** + * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + + /** + * Reads a 32bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset+2] << 16; + value |= this.view[offset+1] << 8; + value |= this.view[offset ]; + value += this.view[offset+3] << 24 >>> 0; + } else { + value = this.view[offset+1] << 16; + value |= this.view[offset+2] << 8; + value |= this.view[offset+3]; + value += this.view[offset ] << 24 >>> 0; + } + value |= 0; // Cast to signed + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + + /** + * Writes a 32bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUint32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity5 = this.buffer.byteLength; + if (offset > capacity5) + this.resize((capacity5 *= 2) > offset ? capacity5 : offset); + offset -= 4; + if (this.littleEndian) { + this.view[offset+3] = (value >>> 24) & 0xFF; + this.view[offset+2] = (value >>> 16) & 0xFF; + this.view[offset+1] = (value >>> 8) & 0xFF; + this.view[offset ] = value & 0xFF; + } else { + this.view[offset ] = (value >>> 24) & 0xFF; + this.view[offset+1] = (value >>> 16) & 0xFF; + this.view[offset+2] = (value >>> 8) & 0xFF; + this.view[offset+3] = value & 0xFF; + } + if (relative) this.offset += 4; + return this; + }; + + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + + /** + * Reads a 32bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset+2] << 16; + value |= this.view[offset+1] << 8; + value |= this.view[offset ]; + value += this.view[offset+3] << 24 >>> 0; + } else { + value = this.view[offset+1] << 16; + value |= this.view[offset+2] << 8; + value |= this.view[offset+3]; + value += this.view[offset ] << 24 >>> 0; + } + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; - // types/ints/int32 + // types/ints/int64 + + if (Long) { /** - * Writes a 32bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * Writes a 64bit signed integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this * @expose */ - ByteBufferPrototype.writeInt32 = function(value, offset) { + ByteBufferPrototype.writeInt64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - offset += 4; - var capacity4 = this.buffer.byteLength; - if (offset > capacity4) - this.resize((capacity4 *= 2) > offset ? capacity4 : offset); - offset -= 4; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + offset += 8; + var capacity6 = this.buffer.byteLength; + if (offset > capacity6) + this.resize((capacity6 *= 2) > offset ? capacity6 : offset); + offset -= 8; + var lo = value.low, + hi = value.high; if (this.littleEndian) { - this.view[offset+3] = (value >>> 24) & 0xFF; - this.view[offset+2] = (value >>> 16) & 0xFF; - this.view[offset+1] = (value >>> 8) & 0xFF; - this.view[offset ] = value & 0xFF; + this.view[offset+3] = (lo >>> 24) & 0xFF; + this.view[offset+2] = (lo >>> 16) & 0xFF; + this.view[offset+1] = (lo >>> 8) & 0xFF; + this.view[offset ] = lo & 0xFF; + offset += 4; + this.view[offset+3] = (hi >>> 24) & 0xFF; + this.view[offset+2] = (hi >>> 16) & 0xFF; + this.view[offset+1] = (hi >>> 8) & 0xFF; + this.view[offset ] = hi & 0xFF; } else { - this.view[offset ] = (value >>> 24) & 0xFF; - this.view[offset+1] = (value >>> 16) & 0xFF; - this.view[offset+2] = (value >>> 8) & 0xFF; - this.view[offset+3] = value & 0xFF; + this.view[offset ] = (hi >>> 24) & 0xFF; + this.view[offset+1] = (hi >>> 16) & 0xFF; + this.view[offset+2] = (hi >>> 8) & 0xFF; + this.view[offset+3] = hi & 0xFF; + offset += 4; + this.view[offset ] = (lo >>> 24) & 0xFF; + this.view[offset+1] = (lo >>> 16) & 0xFF; + this.view[offset+2] = (lo >>> 8) & 0xFF; + this.view[offset+3] = lo & 0xFF; } - if (relative) this.offset += 4; + if (relative) this.offset += 8; return this; }; /** - * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this * @expose */ - ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; /** - * Reads a 32bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read + * Reads a 64bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBufferPrototype.readInt32 = function(offset) { + ByteBufferPrototype.readInt64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = 0; + var lo = 0, + hi = 0; if (this.littleEndian) { - value = this.view[offset+2] << 16; - value |= this.view[offset+1] << 8; - value |= this.view[offset ]; - value += this.view[offset+3] << 24 >>> 0; + lo = this.view[offset+2] << 16; + lo |= this.view[offset+1] << 8; + lo |= this.view[offset ]; + lo += this.view[offset+3] << 24 >>> 0; + offset += 4; + hi = this.view[offset+2] << 16; + hi |= this.view[offset+1] << 8; + hi |= this.view[offset ]; + hi += this.view[offset+3] << 24 >>> 0; } else { - value = this.view[offset+1] << 16; - value |= this.view[offset+2] << 8; - value |= this.view[offset+3]; - value += this.view[offset ] << 24 >>> 0; - } - value |= 0; // Cast to signed - if (relative) this.offset += 4; + hi = this.view[offset+1] << 16; + hi |= this.view[offset+2] << 8; + hi |= this.view[offset+3]; + hi += this.view[offset ] << 24 >>> 0; + offset += 4; + lo = this.view[offset+1] << 16; + lo |= this.view[offset+2] << 8; + lo |= this.view[offset+3]; + lo += this.view[offset ] << 24 >>> 0; + } + var value = new Long(lo, hi, false); + if (relative) this.offset += 8; return value; }; /** - * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read + * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; /** - * Writes a 32bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * Writes a 64bit unsigned integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this * @expose */ - ByteBufferPrototype.writeUint32 = function(value, offset) { + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value >>>= 0; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - offset += 4; - var capacity5 = this.buffer.byteLength; - if (offset > capacity5) - this.resize((capacity5 *= 2) > offset ? capacity5 : offset); - offset -= 4; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + offset += 8; + var capacity7 = this.buffer.byteLength; + if (offset > capacity7) + this.resize((capacity7 *= 2) > offset ? capacity7 : offset); + offset -= 8; + var lo = value.low, + hi = value.high; if (this.littleEndian) { - this.view[offset+3] = (value >>> 24) & 0xFF; - this.view[offset+2] = (value >>> 16) & 0xFF; - this.view[offset+1] = (value >>> 8) & 0xFF; - this.view[offset ] = value & 0xFF; + this.view[offset+3] = (lo >>> 24) & 0xFF; + this.view[offset+2] = (lo >>> 16) & 0xFF; + this.view[offset+1] = (lo >>> 8) & 0xFF; + this.view[offset ] = lo & 0xFF; + offset += 4; + this.view[offset+3] = (hi >>> 24) & 0xFF; + this.view[offset+2] = (hi >>> 16) & 0xFF; + this.view[offset+1] = (hi >>> 8) & 0xFF; + this.view[offset ] = hi & 0xFF; } else { - this.view[offset ] = (value >>> 24) & 0xFF; - this.view[offset+1] = (value >>> 16) & 0xFF; - this.view[offset+2] = (value >>> 8) & 0xFF; - this.view[offset+3] = value & 0xFF; + this.view[offset ] = (hi >>> 24) & 0xFF; + this.view[offset+1] = (hi >>> 16) & 0xFF; + this.view[offset+2] = (hi >>> 8) & 0xFF; + this.view[offset+3] = hi & 0xFF; + offset += 4; + this.view[offset ] = (lo >>> 24) & 0xFF; + this.view[offset+1] = (lo >>> 16) & 0xFF; + this.view[offset+2] = (lo >>> 8) & 0xFF; + this.view[offset+3] = lo & 0xFF; } - if (relative) this.offset += 4; + if (relative) this.offset += 8; return this; }; /** - * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this * @expose */ - ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; /** - * Reads a 32bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read + * Reads a 64bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBufferPrototype.readUint32 = function(offset) { + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = 0; + var lo = 0, + hi = 0; if (this.littleEndian) { - value = this.view[offset+2] << 16; - value |= this.view[offset+1] << 8; - value |= this.view[offset ]; - value += this.view[offset+3] << 24 >>> 0; + lo = this.view[offset+2] << 16; + lo |= this.view[offset+1] << 8; + lo |= this.view[offset ]; + lo += this.view[offset+3] << 24 >>> 0; + offset += 4; + hi = this.view[offset+2] << 16; + hi |= this.view[offset+1] << 8; + hi |= this.view[offset ]; + hi += this.view[offset+3] << 24 >>> 0; } else { - value = this.view[offset+1] << 16; - value |= this.view[offset+2] << 8; - value |= this.view[offset+3]; - value += this.view[offset ] << 24 >>> 0; - } - if (relative) this.offset += 4; + hi = this.view[offset+1] << 16; + hi |= this.view[offset+2] << 8; + hi |= this.view[offset+3]; + hi += this.view[offset ] << 24 >>> 0; + offset += 4; + lo = this.view[offset+1] << 16; + lo |= this.view[offset+2] << 8; + lo |= this.view[offset+3]; + lo += this.view[offset ] << 24 >>> 0; + } + var value = new Long(lo, hi, true); + if (relative) this.offset += 8; return value; }; /** - * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; - - // types/ints/int64 - - if (Long) { - - /** - * Writes a 64bit signed integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - else if (!(value && value instanceof Long)) - throw TypeError("Illegal value: "+value+" (not an integer or Long)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - offset += 8; - var capacity6 = this.buffer.byteLength; - if (offset > capacity6) - this.resize((capacity6 *= 2) > offset ? capacity6 : offset); - offset -= 8; - var lo = value.low, - hi = value.high; - if (this.littleEndian) { - this.view[offset+3] = (lo >>> 24) & 0xFF; - this.view[offset+2] = (lo >>> 16) & 0xFF; - this.view[offset+1] = (lo >>> 8) & 0xFF; - this.view[offset ] = lo & 0xFF; - offset += 4; - this.view[offset+3] = (hi >>> 24) & 0xFF; - this.view[offset+2] = (hi >>> 16) & 0xFF; - this.view[offset+1] = (hi >>> 8) & 0xFF; - this.view[offset ] = hi & 0xFF; - } else { - this.view[offset ] = (hi >>> 24) & 0xFF; - this.view[offset+1] = (hi >>> 16) & 0xFF; - this.view[offset+2] = (hi >>> 8) & 0xFF; - this.view[offset+3] = hi & 0xFF; - offset += 4; - this.view[offset ] = (lo >>> 24) & 0xFF; - this.view[offset+1] = (lo >>> 16) & 0xFF; - this.view[offset+2] = (lo >>> 8) & 0xFF; - this.view[offset+3] = lo & 0xFF; - } - if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; - - /** - * Reads a 64bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readInt64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var lo = 0, - hi = 0; - if (this.littleEndian) { - lo = this.view[offset+2] << 16; - lo |= this.view[offset+1] << 8; - lo |= this.view[offset ]; - lo += this.view[offset+3] << 24 >>> 0; - offset += 4; - hi = this.view[offset+2] << 16; - hi |= this.view[offset+1] << 8; - hi |= this.view[offset ]; - hi += this.view[offset+3] << 24 >>> 0; - } else { - hi = this.view[offset+1] << 16; - hi |= this.view[offset+2] << 8; - hi |= this.view[offset+3]; - hi += this.view[offset ] << 24 >>> 0; - offset += 4; - lo = this.view[offset+1] << 16; - lo |= this.view[offset+2] << 8; - lo |= this.view[offset+3]; - lo += this.view[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, false); - if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; - - /** - * Writes a 64bit unsigned integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - else if (!(value && value instanceof Long)) - throw TypeError("Illegal value: "+value+" (not an integer or Long)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - offset += 8; - var capacity7 = this.buffer.byteLength; - if (offset > capacity7) - this.resize((capacity7 *= 2) > offset ? capacity7 : offset); - offset -= 8; - var lo = value.low, - hi = value.high; - if (this.littleEndian) { - this.view[offset+3] = (lo >>> 24) & 0xFF; - this.view[offset+2] = (lo >>> 16) & 0xFF; - this.view[offset+1] = (lo >>> 8) & 0xFF; - this.view[offset ] = lo & 0xFF; - offset += 4; - this.view[offset+3] = (hi >>> 24) & 0xFF; - this.view[offset+2] = (hi >>> 16) & 0xFF; - this.view[offset+1] = (hi >>> 8) & 0xFF; - this.view[offset ] = hi & 0xFF; - } else { - this.view[offset ] = (hi >>> 24) & 0xFF; - this.view[offset+1] = (hi >>> 16) & 0xFF; - this.view[offset+2] = (hi >>> 8) & 0xFF; - this.view[offset+3] = hi & 0xFF; - offset += 4; - this.view[offset ] = (lo >>> 24) & 0xFF; - this.view[offset+1] = (lo >>> 16) & 0xFF; - this.view[offset+2] = (lo >>> 8) & 0xFF; - this.view[offset+3] = lo & 0xFF; - } - if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. - * @function - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; - - /** - * Reads a 64bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUint64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var lo = 0, - hi = 0; - if (this.littleEndian) { - lo = this.view[offset+2] << 16; - lo |= this.view[offset+1] << 8; - lo |= this.view[offset ]; - lo += this.view[offset+3] << 24 >>> 0; - offset += 4; - hi = this.view[offset+2] << 16; - hi |= this.view[offset+1] << 8; - hi |= this.view[offset ]; - hi += this.view[offset+3] << 24 >>> 0; - } else { - hi = this.view[offset+1] << 16; - hi |= this.view[offset+2] << 8; - hi |= this.view[offset+3]; - hi += this.view[offset ] << 24 >>> 0; - offset += 4; - lo = this.view[offset+1] << 16; - lo |= this.view[offset+2] << 8; - lo |= this.view[offset+3]; - lo += this.view[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, true); - if (relative) this.offset += 8; - return value; - }; + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; - /** - * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + } // Long - } // Long + // types/floats/float32 - // types/floats/float32 + /* + ieee754 - https://github.com/feross/ieee754 - /* - ieee754 - https://github.com/feross/ieee754 + The MIT License (MIT) - The MIT License (MIT) + Copyright (c) Feross Aboukhadijeh - Copyright (c) Feross Aboukhadijeh + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */ - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */ + /** + * Reads an IEEE754 float from a byte array. + * @param {!Array} buffer + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @returns {number} + * @inner + */ + function ieee754_read(buffer, offset, isLE, mLen, nBytes) { + var e, m, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + nBits = -7, + i = isLE ? (nBytes - 1) : 0, + d = isLE ? -1 : 1, + s = buffer[offset + i]; + + i += d; + + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity); + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + } - /** - * Reads an IEEE754 float from a byte array. - * @param {!Array} buffer - * @param {number} offset - * @param {boolean} isLE - * @param {number} mLen - * @param {number} nBytes - * @returns {number} - * @inner - */ - function ieee754_read(buffer, offset, isLE, mLen, nBytes) { - var e, m, - eLen = nBytes * 8 - mLen - 1, - eMax = (1 << eLen) - 1, - eBias = eMax >> 1, - nBits = -7, - i = isLE ? (nBytes - 1) : 0, - d = isLE ? -1 : 1, - s = buffer[offset + i]; - - i += d; - - e = s & ((1 << (-nBits)) - 1); - s >>= (-nBits); - nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1); - e >>= (-nBits); - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity); + /** + * Writes an IEEE754 float to a byte array. + * @param {!Array} buffer + * @param {number} value + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @inner + */ + function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), + i = isLE ? 0 : (nBytes - 1), + d = isLE ? 1 : -1, + s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; } else { - m = m + Math.pow(2, mLen); - e = e - eBias; + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen); - } - /** - * Writes an IEEE754 float to a byte array. - * @param {!Array} buffer - * @param {number} value - * @param {number} offset - * @param {boolean} isLE - * @param {number} mLen - * @param {number} nBytes - * @inner - */ - function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c, - eLen = nBytes * 8 - mLen - 1, - eMax = (1 << eLen) - 1, - eBias = eMax >> 1, - rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), - i = isLE ? 0 : (nBytes - 1), - d = isLE ? 1 : -1, - s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; - - value = Math.abs(value); - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; + if (e + eBias >= eMax) { + m = 0; e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; } else { - e = Math.floor(Math.log(value) / Math.LN2); - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } - - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; - } + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; } + } - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - e = (e << mLen) | m; - eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - buffer[offset + i - d] |= s * 128; + buffer[offset + i - d] |= s * 128; + } + + /** + * Writes a 32bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } + offset += 4; + var capacity8 = this.buffer.byteLength; + if (offset > capacity8) + this.resize((capacity8 *= 2) > offset ? capacity8 : offset); + offset -= 4; + ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); + if (relative) this.offset += 4; + return this; + }; - /** - * Writes a 32bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat32 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 4; - var capacity8 = this.buffer.byteLength; - if (offset > capacity8) - this.resize((capacity8 *= 2) > offset ? capacity8 : offset); - offset -= 4; - ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); - if (relative) this.offset += 4; - return this; - }; + /** + * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; - /** - * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; + /** + * Reads a 32bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); + if (relative) this.offset += 4; + return value; + }; - /** - * Reads a 32bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat32 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); - if (relative) this.offset += 4; - return value; - }; + /** + * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; - /** - * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + // types/floats/float64 - // types/floats/float64 + /** + * Writes a 64bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 8; + var capacity9 = this.buffer.byteLength; + if (offset > capacity9) + this.resize((capacity9 *= 2) > offset ? capacity9 : offset); + offset -= 8; + ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); + if (relative) this.offset += 8; + return this; + }; - /** - * Writes a 64bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + /** + * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + + /** + * Reads a 64bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat64 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + } + var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); + if (relative) this.offset += 8; + return value; + }; + + /** + * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + + + // types/varints/varint32 + + /** + * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT32_BYTES = 5; + + /** + * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. + * @param {number} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * @expose + */ + ByteBuffer.calculateVarint32 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + value = value >>> 0; + if (value < 1 << 7 ) return 1; + else if (value < 1 << 14) return 2; + else if (value < 1 << 21) return 3; + else if (value < 1 << 28) return 4; + else return 5; + }; + + /** + * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. + * @param {number} n Signed 32bit integer + * @returns {number} Unsigned zigzag encoded 32bit integer + * @expose + */ + ByteBuffer.zigZagEncode32 = function(n) { + return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Decodes a zigzag encoded signed 32bit integer. + * @param {number} n Unsigned zigzag encoded 32bit integer + * @returns {number} Signed 32bit integer + * @expose + */ + ByteBuffer.zigZagDecode32 = function(n) { + return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Writes a 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var size = ByteBuffer.calculateVarint32(value), + b; + offset += size; + var capacity10 = this.buffer.byteLength; + if (offset > capacity10) + this.resize((capacity10 *= 2) > offset ? capacity10 : offset); + offset -= size; + // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc + this.view[offset] = b = value | 0x80; + value >>>= 0; + if (value >= 1 << 7) { + b = (value >> 7) | 0x80; + this.view[offset+1] = b; + if (value >= 1 << 14) { + b = (value >> 14) | 0x80; + this.view[offset+2] = b; + if (value >= 1 << 21) { + b = (value >> 21) | 0x80; + this.view[offset+3] = b; + if (value >= 1 << 28) { + this.view[offset+4] = (value >> 28) & 0x0F; + size = 5; + } else { + this.view[offset+3] = b & 0x7F; + size = 4; + } + } else { + this.view[offset+2] = b & 0x7F; + size = 3; + } + } else { + this.view[offset+1] = b & 0x7F; + size = 2; } - offset += 8; - var capacity9 = this.buffer.byteLength; - if (offset > capacity9) - this.resize((capacity9 *= 2) > offset ? capacity9 : offset); - offset -= 8; - ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); - if (relative) this.offset += 8; + } else { + this.view[offset] = b & 0x7F; + size = 1; + } + if (relative) { + this.offset += size; return this; - }; + } + return size; + }; - /** - * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + /** + * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { + return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + }; - /** - * Reads a 64bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); - if (relative) this.offset += 8; + /** + * Reads a 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. + * @expose + */ + ByteBufferPrototype.readVarint32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + // ref: src/google/protobuf/io/coded_stream.cc + var size = 0, + value = 0 >>> 0, + temp, + ioffset; + do { + ioffset = offset+size; + if (!this.noAssert && ioffset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + temp = this.view[ioffset]; + if (size < 5) + value |= ((temp&0x7F)<<(7*size)) >>> 0; + ++size; + } while ((temp & 0x80) === 0x80); + value = value | 0; // Make sure to discard the higher order bits + if (relative) { + this.offset += size; return value; + } + return { + "value": value, + "length": size }; + }; - /** - * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + /** + * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint32ZigZag = function(offset) { + var val = this.readVarint32(offset); + if (typeof val === 'object') + val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + else + val = ByteBuffer.zigZagDecode32(val); + return val; + }; + // types/varints/varint64 - // types/varints/varint32 + if (Long) { /** - * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * Maximum number of bytes required to store a 64bit base 128 variable-length integer. * @type {number} * @const * @expose */ - ByteBuffer.MAX_VARINT32_BYTES = 5; + ByteBuffer.MAX_VARINT64_BYTES = 10; /** - * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. - * @param {number} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. + * @param {number|!Long} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} * @expose */ - ByteBuffer.calculateVarint32 = function(value) { + ByteBuffer.calculateVarint64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); // ref: src/google/protobuf/io/coded_stream.cc - value = value >>> 0; - if (value < 1 << 7 ) return 1; - else if (value < 1 << 14) return 2; - else if (value < 1 << 21) return 3; - else if (value < 1 << 28) return 4; - else return 5; + var part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + if (part2 == 0) { + if (part1 == 0) { + if (part0 < 1 << 14) + return part0 < 1 << 7 ? 1 : 2; + else + return part0 < 1 << 21 ? 3 : 4; + } else { + if (part1 < 1 << 14) + return part1 < 1 << 7 ? 5 : 6; + else + return part1 < 1 << 21 ? 7 : 8; + } + } else + return part2 < 1 << 7 ? 9 : 10; }; /** - * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. - * @param {number} n Signed 32bit integer - * @returns {number} Unsigned zigzag encoded 32bit integer + * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. + * @param {number|!Long} value Signed long + * @returns {!Long} Unsigned zigzag encoded long * @expose */ - ByteBuffer.zigZagEncode32 = function(n) { - return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + ByteBuffer.zigZagEncode64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); }; /** - * Decodes a zigzag encoded signed 32bit integer. - * @param {number} n Unsigned zigzag encoded 32bit integer - * @returns {number} Signed 32bit integer + * Decodes a zigzag encoded signed 64bit integer. + * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number + * @returns {!Long} Signed long * @expose */ - ByteBuffer.zigZagDecode32 = function(n) { - return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + ByteBuffer.zigZagDecode64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; /** - * Writes a 32bit base 128 variable-length integer. - * @param {number} value Value to write + * Writes a 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBufferPrototype.writeVarint32 = function(value, offset) { + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - var size = ByteBuffer.calculateVarint32(value), - b; + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + var size = ByteBuffer.calculateVarint64(value), + part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; offset += size; - var capacity10 = this.buffer.byteLength; - if (offset > capacity10) - this.resize((capacity10 *= 2) > offset ? capacity10 : offset); + var capacity11 = this.buffer.byteLength; + if (offset > capacity11) + this.resize((capacity11 *= 2) > offset ? capacity11 : offset); offset -= size; - // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.view[offset] = b = value | 0x80; - value >>>= 0; - if (value >= 1 << 7) { - b = (value >> 7) | 0x80; - this.view[offset+1] = b; - if (value >= 1 << 14) { - b = (value >> 14) | 0x80; - this.view[offset+2] = b; - if (value >= 1 << 21) { - b = (value >> 21) | 0x80; - this.view[offset+3] = b; - if (value >= 1 << 28) { - this.view[offset+4] = (value >> 28) & 0x0F; - size = 5; - } else { - this.view[offset+3] = b & 0x7F; - size = 4; - } - } else { - this.view[offset+2] = b & 0x7F; - size = 3; - } - } else { - this.view[offset+1] = b & 0x7F; - size = 2; - } - } else { - this.view[offset] = b & 0x7F; - size = 1; + switch (size) { + case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; + case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; + case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; + case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; + case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; + case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; + case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; + case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; + case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; + case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; } if (relative) { this.offset += size; return this; + } else { + return size; } - return size; }; /** - * Writes a zig-zag encoded 32bit base 128 variable-length integer. - * @param {number} value Value to write + * Writes a zig-zag encoded 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { - return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { + return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); }; /** - * Reads a 32bit base 128 variable-length integer. + * Reads a 64bit base 128 variable-length integer. Requires Long.js. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available - * to fully decode the varint. + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint * @expose */ - ByteBufferPrototype.readVarint32 = function(offset) { + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { @@ -1577,2131 +1792,1909 @@ throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } // ref: src/google/protobuf/io/coded_stream.cc - var size = 0, - value = 0 >>> 0, - temp, - ioffset; - do { - ioffset = offset+size; - if (!this.noAssert && ioffset > this.limit) { - var err = Error("Truncated"); - err['truncated'] = true; - throw err; - } - temp = this.view[ioffset]; - if (size < 5) - value |= ((temp&0x7F)<<(7*size)) >>> 0; - ++size; - } while ((temp & 0x80) === 0x80); - value = value | 0; // Make sure to discard the higher order bits + var start = offset, + part0 = 0, + part1 = 0, + part2 = 0, + b = 0; + b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + throw Error("Buffer overrun"); }}}}}}}}}} + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); if (relative) { - this.offset += size; + this.offset = offset; return value; + } else { + return { + 'value': value, + 'length': offset-start + }; } - return { - "value": value, - "length": size - }; }; /** - * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. * @throws {Error} If it's not a valid varint * @expose */ - ByteBufferPrototype.readVarint32ZigZag = function(offset) { - var val = this.readVarint32(offset); - if (typeof val === 'object') - val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + ByteBufferPrototype.readVarint64ZigZag = function(offset) { + var val = this.readVarint64(offset); + if (val && val['value'] instanceof Long) + val["value"] = ByteBuffer.zigZagDecode64(val["value"]); else - val = ByteBuffer.zigZagDecode32(val); + val = ByteBuffer.zigZagDecode64(val); return val; }; - // types/varints/varint64 - - if (Long) { - - /** - * Maximum number of bytes required to store a 64bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT64_BYTES = 10; - - /** - * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. - * @param {number|!Long} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} - * @expose - */ - ByteBuffer.calculateVarint64 = function(value) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - // ref: src/google/protobuf/io/coded_stream.cc - var part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - if (part2 == 0) { - if (part1 == 0) { - if (part0 < 1 << 14) - return part0 < 1 << 7 ? 1 : 2; - else - return part0 < 1 << 21 ? 3 : 4; - } else { - if (part1 < 1 << 14) - return part1 < 1 << 7 ? 5 : 6; - else - return part1 < 1 << 21 ? 7 : 8; - } - } else - return part2 < 1 << 7 ? 9 : 10; - }; + } // Long - /** - * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. - * @param {number|!Long} value Signed long - * @returns {!Long} Unsigned zigzag encoded long - * @expose - */ - ByteBuffer.zigZagEncode64 = function(value) { - if (typeof value === 'number') - value = Long.fromNumber(value, false); - else if (typeof value === 'string') - value = Long.fromString(value, false); - else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); - }; - /** - * Decodes a zigzag encoded signed 64bit integer. - * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number - * @returns {!Long} Signed long - * @expose - */ - ByteBuffer.zigZagDecode64 = function(value) { - if (typeof value === 'number') - value = Long.fromNumber(value, false); - else if (typeof value === 'string') - value = Long.fromString(value, false); - else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); - }; + // types/strings/cstring - /** - * Writes a 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - else if (!(value && value instanceof Long)) - throw TypeError("Illegal value: "+value+" (not an integer or Long)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (typeof value === 'number') - value = Long.fromNumber(value, false); - else if (typeof value === 'string') - value = Long.fromString(value, false); - else if (value.unsigned !== false) value = value.toSigned(); - var size = ByteBuffer.calculateVarint64(value), - part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - offset += size; - var capacity11 = this.buffer.byteLength; - if (offset > capacity11) - this.resize((capacity11 *= 2) > offset ? capacity11 : offset); - offset -= size; - switch (size) { - case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; - case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; - case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; - case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; - case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; - case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; - case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; - case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; - case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; - case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; - } - if (relative) { - this.offset += size; - return this; - } else { - return size; - } - }; + /** + * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + * characters itself. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * contained in `str` + 1 if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeCString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + var i, + k = str.length; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + for (i=0; i>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + offset += k+1; + var capacity12 = this.buffer.byteLength; + if (offset > capacity12) + this.resize((capacity12 *= 2) > offset ? capacity12 : offset); + offset -= k+1; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + this.view[offset++] = 0; + if (relative) { + this.offset = offset; + return this; + } + return k; + }; - /** - * Writes a zig-zag encoded 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { - return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); + /** + * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + * itself. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readCString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var start = offset, + temp; + // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + b = this.view[offset++]; + return b === 0 ? null : b; + }.bind(this), sd = stringDestination(), true); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start }; + } + }; - /** - * Reads a 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - // ref: src/google/protobuf/io/coded_stream.cc - var start = offset, - part0 = 0, - part1 = 0, - part2 = 0, - b = 0; - b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw Error("Buffer overrun"); }}}}}}}}}} - var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); - if (relative) { - this.offset = offset; - return value; - } else { - return { - 'value': value, - 'length': offset-start - }; - } - }; + // types/strings/istring - /** - * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64ZigZag = function(offset) { - var val = this.readVarint64(offset); - if (val && val['value'] instanceof Long) - val["value"] = ByteBuffer.zigZagDecode64(val["value"]); - else - val = ByteBuffer.zigZagDecode64(val); - return val; + /** + * Writes a length as uint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeIString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var start = offset, + k; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + offset += 4+k; + var capacity13 = this.buffer.byteLength; + if (offset > capacity13) + this.resize((capacity13 *= 2) > offset ? capacity13 : offset); + offset -= 4+k; + if (this.littleEndian) { + this.view[offset+3] = (k >>> 24) & 0xFF; + this.view[offset+2] = (k >>> 16) & 0xFF; + this.view[offset+1] = (k >>> 8) & 0xFF; + this.view[offset ] = k & 0xFF; + } else { + this.view[offset ] = (k >>> 24) & 0xFF; + this.view[offset+1] = (k >>> 16) & 0xFF; + this.view[offset+2] = (k >>> 8) & 0xFF; + this.view[offset+3] = k & 0xFF; + } + offset += 4; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (offset !== start + 4 + k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as uint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readIString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var temp = 0, + start = offset, + str; + if (this.littleEndian) { + temp = this.view[offset+2] << 16; + temp |= this.view[offset+1] << 8; + temp |= this.view[offset ]; + temp += this.view[offset+3] << 24 >>> 0; + } else { + temp = this.view[offset+1] << 16; + temp |= this.view[offset+2] << 8; + temp |= this.view[offset+3]; + temp += this.view[offset ] << 24 >>> 0; + } + offset += 4; + var k = offset + temp, + sd; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd = stringDestination(), this.noAssert); + str = sd(); + if (relative) { + this.offset = offset; + return str; + } else { + return { + 'string': str, + 'length': offset - start }; + } + }; + + // types/strings/utf8string - } // Long + /** + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_CHARS = 'c'; + /** + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_BYTES = 'b'; - // types/strings/cstring + /** + * Writes an UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeUTF8String = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var k; + var start = offset; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + offset += k; + var capacity14 = this.buffer.byteLength; + if (offset > capacity14) + this.resize((capacity14 *= 2) > offset ? capacity14 : offset); + offset -= k; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; - /** - * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - * characters itself. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * contained in `str` + 1 if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeCString = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - var i, - k = str.length; + /** + * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. + * @function + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; + + /** + * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 characters + * @expose + */ + ByteBuffer.calculateUTF8Chars = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateUTF8Bytes = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; + }; + + /** + * Reads an UTF8 encoded string. + * @param {number} length Number of characters or bytes to read. + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { + if (typeof metrics === 'number') { + offset = metrics; + metrics = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; + if (!this.noAssert) { + if (typeof length !== 'number' || length % 1 !== 0) + throw TypeError("Illegal length: "+length+" (not an integer)"); + length |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var i = 0, + start = offset, + sd; + if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser + sd = stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.view[offset++] : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }.bind(this)); + if (i !== length) + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + } else if (metrics === ByteBuffer.METRICS_BYTES) { if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - for (i=0; i>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); } - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; - offset += k+1; - var capacity12 = this.buffer.byteLength; - if (offset > capacity12) - this.resize((capacity12 *= 2) > offset ? capacity12 : offset); - offset -= k+1; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - this.view[offset++] = 0; - if (relative) { - this.offset = offset; - return this; - } - return k; - }; - - /** - * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - * itself. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readCString = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var start = offset, - temp; - // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: - var sd, b = -1; - utfx.decodeUTF8toUTF16(function() { - if (b === 0) return null; - if (offset >= this.limit) - throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - b = this.view[offset++]; - return b === 0 ? null : b; - }.bind(this), sd = stringDestination(), true); + var k = offset + length; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd = stringDestination(), this.noAssert); + if (offset !== k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); if (relative) { this.offset = offset; return sd(); } else { return { - "string": sd(), - "length": offset - start - }; - } - }; - - // types/strings/istring - - /** - * Writes a length as uint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeIString = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; - offset += 4+k; - var capacity13 = this.buffer.byteLength; - if (offset > capacity13) - this.resize((capacity13 *= 2) > offset ? capacity13 : offset); - offset -= 4+k; - if (this.littleEndian) { - this.view[offset+3] = (k >>> 24) & 0xFF; - this.view[offset+2] = (k >>> 16) & 0xFF; - this.view[offset+1] = (k >>> 8) & 0xFF; - this.view[offset ] = k & 0xFF; - } else { - this.view[offset ] = (k >>> 24) & 0xFF; - this.view[offset+1] = (k >>> 16) & 0xFF; - this.view[offset+2] = (k >>> 8) & 0xFF; - this.view[offset+3] = k & 0xFF; - } - offset += 4; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - if (offset !== start + 4 + k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as uint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readIString = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var temp = 0, - start = offset, - str; - if (this.littleEndian) { - temp = this.view[offset+2] << 16; - temp |= this.view[offset+1] << 8; - temp |= this.view[offset ]; - temp += this.view[offset+3] << 24 >>> 0; - } else { - temp = this.view[offset+1] << 16; - temp |= this.view[offset+2] << 8; - temp |= this.view[offset+3]; - temp += this.view[offset ] << 24 >>> 0; - } - offset += 4; - var k = offset + temp, - sd; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; - }.bind(this), sd = stringDestination(), this.noAssert); - str = sd(); - if (relative) { - this.offset = offset; - return str; - } else { - return { - 'string': str, + 'string': sd(), 'length': offset - start }; } - }; - - // types/strings/utf8string - - /** - * Metrics representing number of UTF8 characters. Evaluates to `c`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_CHARS = 'c'; - - /** - * Metrics representing number of bytes. Evaluates to `b`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_BYTES = 'b'; - - /** - * Writes an UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeUTF8String = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var k; - var start = offset; - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; - offset += k; - var capacity14 = this.buffer.byteLength; - if (offset > capacity14) - this.resize((capacity14 *= 2) > offset ? capacity14 : offset); - offset -= k; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. - * @function - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; - - /** - * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 characters - * @expose - */ - ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[0]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateUTF8Bytes = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[1]; - }; - - /** - * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read. - * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { - if (typeof metrics === 'number') { - offset = metrics; - metrics = undefined; - } - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; - if (!this.noAssert) { - if (typeof length !== 'number' || length % 1 !== 0) - throw TypeError("Illegal length: "+length+" (not an integer)"); - length |= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var i = 0, - start = offset, - sd; - if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = stringDestination(); - utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.view[offset++] : null; - }.bind(this), function(cp) { - ++i; utfx.UTF8toUTF16(cp, sd); - }.bind(this)); - if (i !== length) - throw RangeError("Illegal range: Truncated data, "+i+" == "+length); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - } else if (metrics === ByteBuffer.METRICS_BYTES) { - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + length > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var k = offset + length; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; - }.bind(this), sd = stringDestination(), this.noAssert); - if (offset !== k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - 'string': sd(), - 'length': offset - start - }; - } - } else - throw TypeError("Unsupported metrics: "+metrics); - }; + } else + throw TypeError("Unsupported metrics: "+metrics); + }; - /** - * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. - * @function - * @param {number} length Number of characters or bytes to read - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; + /** + * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. + * @function + * @param {number} length Number of characters or bytes to read + * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; - // types/strings/vstring + // types/strings/vstring - /** - * Writes a length as varint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeVString = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k, l; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; - l = ByteBuffer.calculateVarint32(k); - offset += l+k; - var capacity15 = this.buffer.byteLength; - if (offset > capacity15) - this.resize((capacity15 *= 2) > offset ? capacity15 : offset); - offset -= l+k; - offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - if (offset !== start+k+l) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; + /** + * Writes a length as varint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeVString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var start = offset, + k, l; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); + offset += l+k; + var capacity15 = this.buffer.byteLength; + if (offset > capacity15) + this.resize((capacity15 *= 2) > offset ? capacity15 : offset); + offset -= l+k; + offset += this.writeVarint32(k, offset); + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (offset !== start+k+l) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; - /** - * Reads a length as varint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readVString = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var temp = this.readVarint32(offset), - start = offset, - str; - offset += temp['length']; - temp = temp['value']; - var k = offset + temp, - sd = stringDestination(); - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; - }.bind(this), sd, this.noAssert); - str = sd(); - if (relative) { - this.offset = offset; - return str; - } else { - return { - 'string': str, - 'length': offset - start - }; - } - }; + /** + * Reads a length as varint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readVString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var temp = this.readVarint32(offset), + start = offset, + str; + offset += temp['length']; + temp = temp['value']; + var k = offset + temp, + sd = stringDestination(); + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd, this.noAssert); + str = sd(); + if (relative) { + this.offset = offset; + return str; + } else { + return { + 'string': str, + 'length': offset - start + }; + } + }; - /** - * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - * data's length. - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` - * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` - */ - ByteBufferPrototype.append = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var length = source.limit - source.offset; - if (length <= 0) return this; // Nothing to append - offset += length; - var capacity16 = this.buffer.byteLength; - if (offset > capacity16) - this.resize((capacity16 *= 2) > offset ? capacity16 : offset); - offset -= length; - this.view.set(source.view.subarray(source.offset, source.limit), offset); - source.offset += length; - if (relative) this.offset += length; - return this; - }; + /** + * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + * data's length. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` + * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` + */ + ByteBufferPrototype.append = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var length = source.limit - source.offset; + if (length <= 0) return this; // Nothing to append + offset += length; + var capacity16 = this.buffer.byteLength; + if (offset > capacity16) + this.resize((capacity16 *= 2) > offset ? capacity16 : offset); + offset -= length; + this.view.set(source.view.subarray(source.offset, source.limit), offset); + source.offset += length; + if (relative) this.offset += length; + return this; + }; - /** - * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the - specified offset up to the length of this ByteBuffer's data. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#append - */ - ByteBufferPrototype.appendTo = function(target, offset) { - target.append(this, offset); - return this; - }; + /** + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#append + */ + ByteBufferPrototype.appendTo = function(target, offset) { + target.append(this, offset); + return this; + }; - /** - * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - * disable them if your code already makes sure that everything is valid. - * @param {boolean} assert `true` to enable assertions, otherwise `false` - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.assert = function(assert) { - this.noAssert = !assert; - return this; - }; + /** + * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + * disable them if your code already makes sure that everything is valid. + * @param {boolean} assert `true` to enable assertions, otherwise `false` + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.assert = function(assert) { + this.noAssert = !assert; + return this; + }; - /** - * Gets the capacity of this ByteBuffer's backing buffer. - * @returns {number} Capacity of the backing buffer - * @expose - */ - ByteBufferPrototype.capacity = function() { - return this.buffer.byteLength; - }; + /** + * Gets the capacity of this ByteBuffer's backing buffer. + * @returns {number} Capacity of the backing buffer + * @expose + */ + ByteBufferPrototype.capacity = function() { + return this.buffer.byteLength; + }; - /** - * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the - * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.clear = function() { - this.offset = 0; - this.limit = this.buffer.byteLength; - this.markedOffset = -1; - return this; - }; + /** + * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the + * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.clear = function() { + this.offset = 0; + this.limit = this.buffer.byteLength; + this.markedOffset = -1; + return this; + }; - /** - * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, - * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. - * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` - * @returns {!ByteBuffer} Cloned instance - * @expose - */ - ByteBufferPrototype.clone = function(copy) { - var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); - if (copy) { - bb.buffer = new ArrayBuffer(this.buffer.byteLength); - bb.view = new Uint8Array(bb.buffer); - } else { - bb.buffer = this.buffer; - bb.view = this.view; - } - bb.offset = this.offset; - bb.markedOffset = this.markedOffset; - bb.limit = this.limit; - return bb; - }; + /** + * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, + * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. + * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` + * @returns {!ByteBuffer} Cloned instance + * @expose + */ + ByteBufferPrototype.clone = function(copy) { + var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); + if (copy) { + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + bb.view = new Uint8Array(bb.buffer); + } else { + bb.buffer = this.buffer; + bb.view = this.view; + } + bb.offset = this.offset; + bb.markedOffset = this.markedOffset; + bb.limit = this.limit; + return bb; + }; - /** - * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes - * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and - * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.compact = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === 0 && end === this.buffer.byteLength) - return this; // Already compacted - var len = end - begin; - if (len === 0) { - this.buffer = EMPTY_BUFFER; - this.view = null; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = 0; - return this; - } - var buffer = new ArrayBuffer(len); - var view = new Uint8Array(buffer); - view.set(this.view.subarray(begin, end)); - this.buffer = buffer; - this.view = view; + /** + * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes + * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and + * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.compact = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === 0 && end === this.buffer.byteLength) + return this; // Already compacted + var len = end - begin; + if (len === 0) { + this.buffer = EMPTY_BUFFER; + this.view = null; if (this.markedOffset >= 0) this.markedOffset -= begin; this.offset = 0; - this.limit = len; + this.limit = 0; return this; - }; + } + var buffer = new ArrayBuffer(len); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(begin, end)); + this.buffer = buffer; + this.view = view; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = len; + return this; + }; - /** - * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Copy - * @expose - */ - ByteBufferPrototype.copy = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return new ByteBuffer(0, this.littleEndian, this.noAssert); - var capacity = end - begin, - bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); - bb.offset = 0; - bb.limit = capacity; - if (bb.markedOffset >= 0) bb.markedOffset -= begin; - this.copyTo(bb, 0, begin, end); - return bb; - }; + /** + * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Copy + * @expose + */ + ByteBufferPrototype.copy = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return new ByteBuffer(0, this.littleEndian, this.noAssert); + var capacity = end - begin, + bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); + bb.offset = 0; + bb.limit = capacity; + if (bb.markedOffset >= 0) bb.markedOffset -= begin; + this.copyTo(bb, 0, begin, end); + return bb; + }; - /** - * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} - * by the number of bytes copied if omitted. - * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the - * number of bytes copied if omitted. - * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { - var relative, - targetRelative; - if (!this.noAssert) { - if (!ByteBuffer.isByteBuffer(target)) - throw TypeError("Illegal target: Not a ByteBuffer"); - } - targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; - sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; - sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; + /** + * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} + * by the number of bytes copied if omitted. + * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the + * number of bytes copied if omitted. + * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + var relative, + targetRelative; + if (!this.noAssert) { + if (!ByteBuffer.isByteBuffer(target)) + throw TypeError("Illegal target: Not a ByteBuffer"); + } + targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; + sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; + sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; - if (targetOffset < 0 || targetOffset > target.buffer.byteLength) - throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); - if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) - throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); + if (targetOffset < 0 || targetOffset > target.buffer.byteLength) + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); + if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); - var len = sourceLimit - sourceOffset; - if (len === 0) - return target; // Nothing to copy + var len = sourceLimit - sourceOffset; + if (len === 0) + return target; // Nothing to copy - target.ensureCapacity(targetOffset + len); + target.ensureCapacity(targetOffset + len); - target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); + target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); - if (relative) this.offset += len; - if (targetRelative) target.offset += len; + if (relative) this.offset += len; + if (targetRelative) target.offset += len; - return this; - }; + return this; + }; - /** - * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the - * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - * the required capacity will be used instead. - * @param {number} capacity Required capacity - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.ensureCapacity = function(capacity) { - var current = this.buffer.byteLength; - if (current < capacity) - return this.resize((current *= 2) > capacity ? current : capacity); - return this; - }; + /** + * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the + * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + * the required capacity will be used instead. + * @param {number} capacity Required capacity + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.ensureCapacity = function(capacity) { + var current = this.buffer.byteLength; + if (current < capacity) + return this.resize((current *= 2) > capacity ? current : capacity); + return this; + }; - /** - * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. - * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} this - * @expose - * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes - */ - ByteBufferPrototype.fill = function(value, begin, end) { - var relative = typeof begin === 'undefined'; - if (relative) begin = this.offset; - if (typeof value === 'string' && value.length > 0) - value = value.charCodeAt(0); - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin >= end) - return this; // Nothing to fill - while (begin < end) this.view[begin++] = value; - if (relative) this.offset = begin; - return this; - }; + /** + * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. + * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} this + * @expose + * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes + */ + ByteBufferPrototype.fill = function(value, begin, end) { + var relative = typeof begin === 'undefined'; + if (relative) begin = this.offset; + if (typeof value === 'string' && value.length > 0) + value = value.charCodeAt(0); + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin >= end) + return this; // Nothing to fill + while (begin < end) this.view[begin++] = value; + if (relative) this.offset = begin; + return this; + }; - /** - * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and - * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.flip = function() { - this.limit = this.offset; - this.offset = 0; - return this; - }; - /** - * Marks an offset on this ByteBuffer to be used later. - * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. - * @returns {!ByteBuffer} this - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @see ByteBuffer#reset - * @expose - */ - ByteBufferPrototype.mark = function(offset) { - offset = typeof offset === 'undefined' ? this.offset : offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - this.markedOffset = offset; - return this; - }; - /** - * Sets the byte order. - * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.order = function(littleEndian) { - if (!this.noAssert) { - if (typeof littleEndian !== 'boolean') - throw TypeError("Illegal littleEndian: Not a boolean"); - } - this.littleEndian = !!littleEndian; - return this; - }; + /** + * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and + * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.flip = function() { + this.limit = this.offset; + this.offset = 0; + return this; + }; + /** + * Marks an offset on this ByteBuffer to be used later. + * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. + * @returns {!ByteBuffer} this + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @see ByteBuffer#reset + * @expose + */ + ByteBufferPrototype.mark = function(offset) { + offset = typeof offset === 'undefined' ? this.offset : offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + this.markedOffset = offset; + return this; + }; + /** + * Sets the byte order. + * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.order = function(littleEndian) { + if (!this.noAssert) { + if (typeof littleEndian !== 'boolean') + throw TypeError("Illegal littleEndian: Not a boolean"); + } + this.littleEndian = !!littleEndian; + return this; + }; - /** - * Switches (to) little endian byte order. - * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.LE = function(littleEndian) { - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; - return this; - }; + /** + * Switches (to) little endian byte order. + * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.LE = function(littleEndian) { + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; + return this; + }; - /** - * Switches (to) big endian byte order. - * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.BE = function(bigEndian) { - this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; - return this; - }; - /** - * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be - * modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` - * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` - */ - ByteBufferPrototype.prepend = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var len = source.limit - source.offset; - if (len <= 0) return this; // Nothing to prepend - var diff = len - offset; - if (diff > 0) { // Not enough space before offset, so resize + move - var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - var view = new Uint8Array(buffer); - view.set(this.view.subarray(offset, this.buffer.byteLength), len); - this.buffer = buffer; - this.view = view; - this.offset += diff; - if (this.markedOffset >= 0) this.markedOffset += diff; - this.limit += diff; - offset += diff; - } else { - var arrayView = new Uint8Array(this.buffer); - } - this.view.set(source.view.subarray(source.offset, source.limit), offset - len); + /** + * Switches (to) big endian byte order. + * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.BE = function(bigEndian) { + this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; + return this; + }; + /** + * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be + * modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` + * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` + */ + ByteBufferPrototype.prepend = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var len = source.limit - source.offset; + if (len <= 0) return this; // Nothing to prepend + var diff = len - offset; + if (diff > 0) { // Not enough space before offset, so resize + move + var buffer = new ArrayBuffer(this.buffer.byteLength + diff); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(offset, this.buffer.byteLength), len); + this.buffer = buffer; + this.view = view; + this.offset += diff; + if (this.markedOffset >= 0) this.markedOffset += diff; + this.limit += diff; + offset += diff; + } else { + var arrayView = new Uint8Array(this.buffer); + } + this.view.set(source.view.subarray(source.offset, source.limit), offset - len); - source.offset = source.limit; - if (relative) - this.offset -= len; - return this; - }; + source.offset = source.limit; + if (relative) + this.offset -= len; + return this; + }; - /** - * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#prepend - */ - ByteBufferPrototype.prependTo = function(target, offset) { - target.prepend(this, offset); - return this; - }; - /** - * Prints debug information about this ByteBuffer's contents. - * @param {function(string)=} out Output function to call, defaults to console.log - * @expose - */ - ByteBufferPrototype.printDebug = function(out) { - if (typeof out !== 'function') out = console.log.bind(console); - out( - this.toString()+"\n"+ - "-------------------------------------------------------------------\n"+ - this.toDebug(/* columns */ true) - ); - }; + /** + * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#prepend + */ + ByteBufferPrototype.prependTo = function(target, offset) { + target.prepend(this, offset); + return this; + }; + /** + * Prints debug information about this ByteBuffer's contents. + * @param {function(string)=} out Output function to call, defaults to console.log + * @expose + */ + ByteBufferPrototype.printDebug = function(out) { + if (typeof out !== 'function') out = console.log.bind(console); + out( + this.toString()+"\n"+ + "-------------------------------------------------------------------\n"+ + this.toDebug(/* columns */ true) + ); + }; - /** - * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}, so this returns `limit - offset`. - * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. - * @expose - */ - ByteBufferPrototype.remaining = function() { - return this.limit - this.offset; - }; - /** - * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} - * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been - * marked, sets `offset = 0`. - * @returns {!ByteBuffer} this - * @see ByteBuffer#mark - * @expose - */ - ByteBufferPrototype.reset = function() { - if (this.markedOffset >= 0) { - this.offset = this.markedOffset; - this.markedOffset = -1; - } else { - this.offset = 0; - } - return this; - }; - /** - * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - * large or larger. - * @param {number} capacity Capacity required - * @returns {!ByteBuffer} this - * @throws {TypeError} If `capacity` is not a number - * @throws {RangeError} If `capacity < 0` - * @expose - */ - ByteBufferPrototype.resize = function(capacity) { - if (!this.noAssert) { - if (typeof capacity !== 'number' || capacity % 1 !== 0) - throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); - capacity |= 0; - if (capacity < 0) - throw RangeError("Illegal capacity: 0 <= "+capacity); - } - if (this.buffer.byteLength < capacity) { - var buffer = new ArrayBuffer(capacity); - var view = new Uint8Array(buffer); - view.set(this.view); - this.buffer = buffer; - this.view = view; - } - return this; - }; - /** - * Reverses this ByteBuffer's contents. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.reverse = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return this; // Nothing to reverse - Array.prototype.reverse.call(this.view.subarray(begin, end)); - return this; - }; - /** - * Skips the next `length` bytes. This will just advance - * @param {number} length Number of bytes to skip. May also be negative to move the offset back. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.skip = function(length) { - if (!this.noAssert) { - if (typeof length !== 'number' || length % 1 !== 0) - throw TypeError("Illegal length: "+length+" (not an integer)"); - length |= 0; - } - var offset = this.offset + length; - if (!this.noAssert) { - if (offset < 0 || offset > this.buffer.byteLength) - throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); - } - this.offset = offset; - return this; - }; + /** + * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}, so this returns `limit - offset`. + * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. + * @expose + */ + ByteBufferPrototype.remaining = function() { + return this.limit - this.offset; + }; + /** + * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} + * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been + * marked, sets `offset = 0`. + * @returns {!ByteBuffer} this + * @see ByteBuffer#mark + * @expose + */ + ByteBufferPrototype.reset = function() { + if (this.markedOffset >= 0) { + this.offset = this.markedOffset; + this.markedOffset = -1; + } else { + this.offset = 0; + } + return this; + }; + /** + * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + * large or larger. + * @param {number} capacity Capacity required + * @returns {!ByteBuffer} this + * @throws {TypeError} If `capacity` is not a number + * @throws {RangeError} If `capacity < 0` + * @expose + */ + ByteBufferPrototype.resize = function(capacity) { + if (!this.noAssert) { + if (typeof capacity !== 'number' || capacity % 1 !== 0) + throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); + capacity |= 0; + if (capacity < 0) + throw RangeError("Illegal capacity: 0 <= "+capacity); + } + if (this.buffer.byteLength < capacity) { + var buffer = new ArrayBuffer(capacity); + var view = new Uint8Array(buffer); + view.set(this.view); + this.buffer = buffer; + this.view = view; + } + return this; + }; + /** + * Reverses this ByteBuffer's contents. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.reverse = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return this; // Nothing to reverse + Array.prototype.reverse.call(this.view.subarray(begin, end)); + return this; + }; + /** + * Skips the next `length` bytes. This will just advance + * @param {number} length Number of bytes to skip. May also be negative to move the offset back. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.skip = function(length) { + if (!this.noAssert) { + if (typeof length !== 'number' || length % 1 !== 0) + throw TypeError("Illegal length: "+length+" (not an integer)"); + length |= 0; + } + var offset = this.offset + length; + if (!this.noAssert) { + if (offset < 0 || offset > this.buffer.byteLength) + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); + } + this.offset = offset; + return this; + }; + + /** + * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} + * @expose + */ + ByteBufferPrototype.slice = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var bb = this.clone(); + bb.offset = begin; + bb.limit = end; + return bb; + }; + /** + * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this + * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if + * possible. Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toBuffer = function(forceCopy) { + var offset = this.offset, + limit = this.limit; + if (offset > limit) { + var t = offset; + offset = limit; + limit = t; + } + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: Not an integer"); + offset >>>= 0; + if (typeof limit !== 'number' || limit % 1 !== 0) + throw TypeError("Illegal limit: Not an integer"); + limit >>>= 0; + if (offset < 0 || offset > limit || limit > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); + } + // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is + // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) + return this.buffer; + if (offset === limit) + return EMPTY_BUFFER; + var buffer = new ArrayBuffer(limit - offset); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); + return buffer; + }; + + /** + * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this + * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of + * {@link ByteBuffer#toBuffer}. + * @function + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. + * Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + + /** + * Converts the ByteBuffer's contents to a string. + * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows + * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with + * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {string} String representation + * @throws {Error} If `encoding` is invalid + * @expose + */ + ByteBufferPrototype.toString = function(encoding, begin, end) { + if (typeof encoding === 'undefined') + return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; + switch (encoding) { + case "utf8": + return this.toUTF8(begin, end); + case "base64": + return this.toBase64(begin, end); + case "hex": + return this.toHex(begin, end); + case "binary": + return this.toBinary(begin, end); + case "debug": + return this.toDebug(); + case "columns": + return this.toColumns(); + default: + throw Error("Unsupported encoding: "+encoding); + } + }; + + // lxiv-embeddable + + /** + * lxiv-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/lxiv for details + */ + var lxiv = function() { + "use strict"; /** - * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} - * @expose - */ - ByteBufferPrototype.slice = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var bb = this.clone(); - bb.offset = begin; - bb.limit = end; - return bb; - }; - /** - * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if - * possible. Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose + * lxiv namespace. + * @type {!Object.} + * @exports lxiv */ - ByteBufferPrototype.toBuffer = function(forceCopy) { - var offset = this.offset, - limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: Not an integer"); - offset >>>= 0; - if (typeof limit !== 'number' || limit % 1 !== 0) - throw TypeError("Illegal limit: Not an integer"); - limit >>>= 0; - if (offset < 0 || offset > limit || limit > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); - } - // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is - // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) - return this.buffer; - if (offset === limit) - return EMPTY_BUFFER; - var buffer = new ArrayBuffer(limit - offset); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); - return buffer; - }; + var lxiv = {}; /** - * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of - * {@link ByteBuffer#toBuffer}. - * @function - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. - * Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose + * Character codes for output. + * @type {!Array.} + * @inner */ - ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + var aout = [ + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 + ]; /** - * Converts the ByteBuffer's contents to a string. - * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows - * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with - * highlighted offsets. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {string} String representation - * @throws {Error} If `encoding` is invalid - * @expose + * Character codes for input. + * @type {!Array.} + * @inner */ - ByteBufferPrototype.toString = function(encoding, begin, end) { - if (typeof encoding === 'undefined') - return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; - if (typeof encoding === 'number') - encoding = "utf8", - begin = encoding, - end = begin; - switch (encoding) { - case "utf8": - return this.toUTF8(begin, end); - case "base64": - return this.toBase64(begin, end); - case "hex": - return this.toHex(begin, end); - case "binary": - return this.toBinary(begin, end); - case "debug": - return this.toDebug(); - case "columns": - return this.toColumns(); - default: - throw Error("Unsupported encoding: "+encoding); + var ain = []; + for (var i=0, k=aout.length; i>2)&0x3f]); + t = (b&0x3)<<4; + if ((b = src()) !== null) { + t |= (b>>4)&0xf; + dst(aout[(t|((b>>4)&0xf))&0x3f]); + t = (b&0xf)<<2; + if ((b = src()) !== null) + dst(aout[(t|((b>>6)&0x3))&0x3f]), + dst(aout[b&0x3f]); + else + dst(aout[t&0x3f]), + dst(61); + } else + dst(aout[t&0x3f]), + dst(61), + dst(61); } }; - // lxiv-embeddable - /** - * lxiv-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/lxiv for details + * Decodes base64 char codes to bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + * @throws {Error} If a character code is invalid */ - var lxiv = function() { - "use strict"; - - /** - * lxiv namespace. - * @type {!Object.} - * @exports lxiv - */ - var lxiv = {}; - - /** - * Character codes for output. - * @type {!Array.} - * @inner - */ - var aout = [ - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 - ]; - - /** - * Character codes for input. - * @type {!Array.} - * @inner - */ - var ain = []; - for (var i=0, k=aout.length; i>2)&0x3f]); - t = (b&0x3)<<4; - if ((b = src()) !== null) { - t |= (b>>4)&0xf; - dst(aout[(t|((b>>4)&0xf))&0x3f]); - t = (b&0xf)<<2; - if ((b = src()) !== null) - dst(aout[(t|((b>>6)&0x3))&0x3f]), - dst(aout[b&0x3f]); - else - dst(aout[t&0x3f]), - dst(61); - } else - dst(aout[t&0x3f]), - dst(61), - dst(61); - } - }; - - /** - * Decodes base64 char codes to bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - * @throws {Error} If a character code is invalid - */ - lxiv.decode = function(src, dst) { - var c, t1, t2; - function fail(c) { - throw Error("Illegal character code: "+c); - } - while ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') fail(c); + lxiv.decode = function(src, dst) { + var c, t1, t2; + function fail(c) { + throw Error("Illegal character code: "+c); + } + while ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') fail(c); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') fail(c); + dst((t1<<2)>>>0|(t2&0x30)>>4); if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') fail(c); - dst((t1<<2)>>>0|(t2&0x30)>>4); + t1 = ain[c]; + if (typeof t1 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); if ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') + t2 = ain[c]; + if (typeof t2 === 'undefined') if (c === 61) break; else fail(c); - dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); - if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') - if (c === 61) break; else fail(c); - dst(((t1&0x3)<<6)>>>0|t2); - } + dst(((t1&0x3)<<6)>>>0|t2); } } } - }; - - /** - * Tests if a string is valid base64. - * @param {string} str String to test - * @returns {boolean} `true` if valid, otherwise `false` - */ - lxiv.test = function(str) { - return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); - }; - - return lxiv; - }(); - - // encodings/base64 - - /** - * Encodes this ByteBuffer's contents to a base64 encoded string. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. - * @returns {string} Base64 encoded string - * @expose - */ - ByteBufferPrototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - var sd; lxiv.encode(function() { - return begin < end ? this.view[begin++] : null; - }.bind(this), sd = stringDestination()); - return sd(); }; /** - * Decodes a base64 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose + * Tests if a string is valid base64. + * @param {string} str String to test + * @returns {boolean} `true` if valid, otherwise `false` */ - ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); - } - var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), - i = 0; - lxiv.decode(stringSource(str), function(b) { - bb.view[i++] = b; - }); - bb.limit = i; - return bb; + lxiv.test = function(str) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); }; - /** - * Encodes a binary string to base64 like `window.btoa` does. - * @param {string} str Binary string - * @returns {string} Base64 encoded string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa - * @expose - */ - ByteBuffer.btoa = function(str) { - return ByteBuffer.fromBinary(str).toBase64(); - }; + return lxiv; + }(); - /** - * Decodes a base64 encoded string to binary like `window.atob` does. - * @param {string} b64 Base64 encoded string - * @returns {string} Binary string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob - * @expose - */ - ByteBuffer.atob = function(b64) { - return ByteBuffer.fromBase64(b64).toBinary(); - }; + // encodings/base64 + + /** + * Encodes this ByteBuffer's contents to a base64 encoded string. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. + * @returns {string} Base64 encoded string + * @expose + */ + ByteBufferPrototype.toBase64 = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var sd; lxiv.encode(function() { + return begin < end ? this.view[begin++] : null; + }.bind(this), sd = stringDestination()); + return sd(); + }; - // encodings/binary + /** + * Decodes a base64 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 4 !== 0) + throw TypeError("Illegal str: Length not a multiple of 4"); + } + var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view[i++] = b; + }); + bb.limit = i; + return bb; + }; - /** - * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. - * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. - * @returns {string} Binary encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toBinary = function(begin, end) { - begin = typeof begin === 'undefined' ? this.offset : begin; - end = typeof end === 'undefined' ? this.limit : end; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return ""; - var cc = [], pt = []; - while (begin < end) { - cc.push(this.view[begin++]); - if (cc.length >= 1024) - pt.push(String.fromCharCode.apply(String, cc)), - cc = []; - } - return pt.join('') + String.fromCharCode.apply(String, cc); - }; + /** + * Encodes a binary string to base64 like `window.btoa` does. + * @param {string} str Binary string + * @returns {string} Base64 encoded string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa + * @expose + */ + ByteBuffer.btoa = function(str) { + return ByteBuffer.fromBinary(str).toBase64(); + }; - /** - * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - } - var i = 0, k = str.length, charCode, - bb = new ByteBuffer(k, littleEndian, noAssert); - while (i 255) - throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); - bb.view[i++] = charCode; - } - bb.limit = k; - return bb; - }; + /** + * Decodes a base64 encoded string to binary like `window.atob` does. + * @param {string} b64 Base64 encoded string + * @returns {string} Binary string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob + * @expose + */ + ByteBuffer.atob = function(b64) { + return ByteBuffer.fromBase64(b64).toBinary(); + }; - // encodings/debug + // encodings/binary - /** - * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - * * `<` : offset, - * * `'` : markedOffset, - * * `>` : limit, - * * `|` : offset and limit, - * * `[` : offset and markedOffset, - * * `]` : markedOffset and limit, - * * `!` : offset, markedOffset and limit - * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` - * @returns {string|!Array.} Debug string or array of lines if `asArray = true` - * @expose - * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` - * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` - * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` - * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` - */ - ByteBufferPrototype.toDebug = function(columns) { - var i = -1, - k = this.buffer.byteLength, - b, - hex = "", - asc = "", - out = ""; - while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; - } - } - ++i; + /** + * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Binary encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toBinary = function(begin, end) { + begin = typeof begin === 'undefined' ? this.offset : begin; + end = typeof end === 'undefined' ? this.limit : end; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return ""; + var cc = [], pt = []; + while (begin < end) { + cc.push(this.view[begin++]); + if (cc.length >= 1024) + pt.push(String.fromCharCode.apply(String, cc)), + cc = []; + } + return pt.join('') + String.fromCharCode.apply(String, cc); + }; + + /** + * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + } + var i = 0, k = str.length, charCode, + bb = new ByteBuffer(k, littleEndian, noAssert); + while (i 255) + throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + bb.view[i++] = charCode; + } + bb.limit = k; + return bb; + }; + + // encodings/debug + + /** + * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + * * `<` : offset, + * * `'` : markedOffset, + * * `>` : limit, + * * `|` : offset and limit, + * * `[` : offset and markedOffset, + * * `]` : markedOffset and limit, + * * `!` : offset, markedOffset and limit + * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` + * @returns {string|!Array.} Debug string or array of lines if `asArray = true` + * @expose + * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` + * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` + * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` + * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` + */ + ByteBufferPrototype.toDebug = function(columns) { + var i = -1, + k = this.buffer.byteLength, + b, + hex = "", + asc = "", + out = ""; + while (i 0 && i % 16 === 0 && i !== k) { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; - hex = asc = ""; - } + asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; } - if (i === this.offset && i === this.limit) - hex += i === this.markedOffset ? "!" : "|"; - else if (i === this.offset) - hex += i === this.markedOffset ? "[" : "<"; - else if (i === this.limit) - hex += i === this.markedOffset ? "]" : ">"; - else - hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); } - if (columns && hex !== " ") { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; + ++i; + if (columns) { + if (i > 0 && i % 16 === 0 && i !== k) { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + hex = asc = ""; + } } - return columns ? out : hex; - }; + if (i === this.offset && i === this.limit) + hex += i === this.markedOffset ? "!" : "|"; + else if (i === this.offset) + hex += i === this.markedOffset ? "[" : "<"; + else if (i === this.limit) + hex += i === this.markedOffset ? "]" : ">"; + else + hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); + } + if (columns && hex !== " ") { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + } + return columns ? out : hex; + }; - /** - * Decodes a hex encoded string with marked offsets to a ByteBuffer. - * @param {string} str Debug string to decode (not be generated with `columns = true`) - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - * @see ByteBuffer#toDebug - */ - ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { - var k = str.length, - bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); - var i = 0, j = 0, ch, b, - rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? - fail = false; - while (i': - if (!noAssert) { - if (hl) { - fail = true; break; - } - hl = true; + ho = true; + } + bb.offset = j; + rs = false; + break; + case ']': + if (!noAssert) { + if (hl || hm) { + fail = true; break; } - bb.limit = j; - rs = false; - break; - case "'": - if (!noAssert) { - if (hm) { - fail = true; break; - } - hm = true; + hl = hm = true; + } + bb.limit = bb.markedOffset = j; + rs = false; + break; + case '>': + if (!noAssert) { + if (hl) { + fail = true; break; } - bb.markedOffset = j; - rs = false; - break; - case ' ': - rs = false; - break; - default: - if (!noAssert) { - if (rs) { - fail = true; break; - } + hl = true; + } + bb.limit = j; + rs = false; + break; + case "'": + if (!noAssert) { + if (hm) { + fail = true; break; } - b = parseInt(ch+str.charAt(i++), 16); - if (!noAssert) { - if (isNaN(b) || b < 0 || b > 255) - throw TypeError("Illegal str: Not a debug encoded string"); + hm = true; + } + bb.markedOffset = j; + rs = false; + break; + case ' ': + rs = false; + break; + default: + if (!noAssert) { + if (rs) { + fail = true; break; } - bb.view[j++] = b; - rs = true; - } - if (fail) - throw TypeError("Illegal str: Invalid symbol at "+i); - } - if (!noAssert) { - if (!ho || !hl) - throw TypeError("Illegal str: Missing offset or limit"); - if (j 255) + throw TypeError("Illegal str: Not a debug encoded string"); + } + bb.view[j++] = b; + rs = true; } - return bb; - }; + if (fail) + throw TypeError("Illegal str: Invalid symbol at "+i); + } + if (!noAssert) { + if (!ho || !hl) + throw TypeError("Illegal str: Missing offset or limit"); + if (j>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var out = new Array(end - begin), - b; - while (begin < end) { - b = this.view[begin++]; - if (b < 0x10) - out.push("0", b.toString(16)); - else out.push(b.toString(16)); - } - return out.join(''); - }; + /** + * Encodes this ByteBuffer's contents to a hex encoded string. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Hex encoded string + * @expose + */ + ByteBufferPrototype.toHex = function(begin, end) { + begin = typeof begin === 'undefined' ? this.offset : begin; + end = typeof end === 'undefined' ? this.limit : end; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var out = new Array(end - begin), + b; + while (begin < end) { + b = this.view[begin++]; + if (b < 0x10) + out.push("0", b.toString(16)); + else out.push(b.toString(16)); + } + return out.join(''); + }; - /** - * Decodes a hex encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromHex = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 2 !== 0) - throw TypeError("Illegal str: Length not a multiple of 2"); - } - var k = str.length, - bb = new ByteBuffer((k / 2) | 0, littleEndian), - b; - for (var i=0, j=0; i 255) - throw TypeError("Illegal str: Contains non-hex characters"); - bb.view[j++] = b; - } - bb.limit = j; - return bb; - }; + /** + * Decodes a hex encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromHex = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 2 !== 0) + throw TypeError("Illegal str: Length not a multiple of 2"); + } + var k = str.length, + bb = new ByteBuffer((k / 2) | 0, littleEndian), + b; + for (var i=0, j=0; i 255) + throw TypeError("Illegal str: Contains non-hex characters"); + bb.view[j++] = b; + } + bb.limit = j; + return bb; + }; - // utfx-embeddable + // utfx-embeddable + + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; /** - * utfx-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/utfx for details + * utfx namespace. + * @inner + * @type {!Object.} */ - var utfx = function() { - "use strict"; - - /** - * utfx namespace. - * @inner - * @type {!Object.} - */ - var utfx = {}; - - /** - * Maximum valid code point. - * @type {number} - * @const - */ - utfx.MAX_CODEPOINT = 0x10FFFF; - - /** - * Encodes UTF8 code points to UTF8 bytes. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte - */ - utfx.encodeUTF8 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, - src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp < 0x80) - dst(cp&0x7F); - else if (cp < 0x800) - dst(((cp>>6)&0x1F)|0xC0), - dst((cp&0x3F)|0x80); - else if (cp < 0x10000) - dst(((cp>>12)&0x0F)|0xE0), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - else - dst(((cp>>18)&0x07)|0xF0), - dst(((cp>>12)&0x3F)|0x80), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - cp = null; - } - }; + var utfx = {}; - /** - * Decodes UTF8 bytes to UTF8 code points. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the - * remaining bytes. - */ - utfx.decodeUTF8 = function(src, dst) { - var a, b, c, d, fail = function(b) { - b = b.slice(0, b.indexOf(null)); - var err = Error(b.toString()); - err.name = "TruncatedError"; - err['bytes'] = b; - throw err; - }; - while ((a = src()) !== null) { - if ((a&0x80) === 0) - dst(a); - else if ((a&0xE0) === 0xC0) - ((b = src()) === null) && fail([a, b]), - dst(((a&0x1F)<<6) | (b&0x3F)); - else if ((a&0xF0) === 0xE0) - ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), - dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); - else if ((a&0xF8) === 0xF0) - ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), - dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); - else throw RangeError("Illegal starting byte: "+a); - } + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; }; - - /** - * Converts UTF16 characters to UTF8 code points. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Code points destination as a function successively called with each converted code - * point. - */ - utfx.UTF16toUTF8 = function(src, dst) { - var c1, c2 = null; - while (true) { - if ((c1 = c2 !== null ? c2 : src()) === null) - break; - if (c1 >= 0xD800 && c1 <= 0xDFFF) { - if ((c2 = src()) !== null) { - if (c2 >= 0xDC00 && c2 <= 0xDFFF) { - dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); - c2 = null; continue; - } + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; } } - dst(c1); - } - if (c2 !== null) dst(c2); - }; - - /** - * Converts UTF8 code points to UTF16 characters. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a code point is out of range - */ - utfx.UTF8toUTF16 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp <= 0xFFFF) - dst(cp); - else - cp -= 0x10000, - dst((cp>>10)+0xD800), - dst((cp%0x400)+0xDC00); - cp = null; } - }; - - /** - * Converts and encodes UTF16 characters to UTF8 bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` - * if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - */ - utfx.encodeUTF16toUTF8 = function(src, dst) { - utfx.UTF16toUTF8(src, function(cp) { - utfx.encodeUTF8(cp, dst); - }); - }; - - /** - * Decodes and converts UTF8 bytes to UTF16 characters. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. - */ - utfx.decodeUTF8toUTF16 = function(src, dst) { - utfx.decodeUTF8(src, function(cp) { - utfx.UTF8toUTF16(cp, dst); - }); - }; - - /** - * Calculates the byte length of an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Byte length - */ - utfx.calculateCodePoint = function(cp) { - return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }; + dst(c1); + } + if (c2 !== null) dst(c2); + }; - /** - * Calculates the number of UTF8 bytes required to store UTF8 code points. - * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively - * `null` if there are no more code points left. - * @returns {number} The number of UTF8 bytes required - */ - utfx.calculateUTF8 = function(src) { - var cp, l=0; - while ((cp = src()) !== null) - l += utfx.calculateCodePoint(cp); - return l; - }; + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; - /** - * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. - * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. - */ - utfx.calculateUTF16asUTF8 = function(src) { - var n=0, l=0; - utfx.UTF16toUTF8(src, function(cp) { - ++n; l += utfx.calculateCodePoint(cp); - }); - return [n,l]; - }; + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; - return utfx; - }(); + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; - // encodings/utf8 + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; /** - * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded - * string. - * @returns {string} Hex encoded string - * @throws {RangeError} If `offset > limit` - * @expose + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required */ - ByteBufferPrototype.toUTF8 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var sd; try { - utfx.decodeUTF8toUTF16(function() { - return begin < end ? this.view[begin++] : null; - }.bind(this), sd = stringDestination()); - } catch (e) { - if (begin !== end) - throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); - } - return sd(); + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += utfx.calculateCodePoint(cp); + return l; }; /** - * Decodes an UTF8 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. */ - ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), - i = 0; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - bb.view[i++] = b; + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += utfx.calculateCodePoint(cp); }); - bb.limit = i; - return bb; + return [n,l]; }; + return utfx; + }(); - return ByteBuffer; - } + // encodings/utf8 - /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) - module['exports'] = (function() { - var Long; try { Long = require("long"); } catch (e) {} - return loadByteBuffer(Long); - })(); - /* AMD */ else if (typeof define === 'function' && define["amd"]) - define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); - /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); + /** + * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded + * string. + * @returns {string} Hex encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toUTF8 = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? this.view[begin++] : null; + }.bind(this), sd = stringDestination()); + } catch (e) { + if (begin !== end) + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); + } + return sd(); + }; -})(this); + /** + * Decodes an UTF8 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { + if (!noAssert) + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + bb.view[i++] = b; + }); + bb.limit = i; + return bb; + }; + + + return ByteBuffer; +}); diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 6253f9e..513d57b 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -4,15 +4,15 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(t){function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?w:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+x.apply(String,a);1024>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=v):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+p/f:b+p*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=v?(b=0,d=v):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0)); -for(;8<=e;a[c+n]=b&255,n+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== -typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= +b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&& +(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+ " (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+= 1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b); @@ -32,17 +32,17 @@ a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255, this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian? (c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&& -(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=t(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a& +typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&& +(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a& 1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b); b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128===(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value= g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!== a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>> -0;b+=d;var q=this.buffer.byteLength;b>q&&this.resize((q*=2)>b?q:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]= +0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]= 1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&& (h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<< 21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"=== @@ -54,13 +54,13 @@ f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!th 0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); }var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!== typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var q=c+a;l.b(function(){return c>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a), this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength}; f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=w,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d); +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d); e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0> b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b; @@ -72,21 +72,21 @@ a.limit),c-b);a.offset=a.limit;d&&(this.offset-=b);return this};f.prependTo=func typeof a||0!==a%1)throw TypeError("Illegal capacity: "+a+" (not an integer)");a|=0;if(0>a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b|| 0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+ this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone(); -c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return w; +c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v; a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, -c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var y=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4& +c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4& 15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61=== e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}var c;y.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(), a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l= -!1,m=!1,p=!1,r=!1;e":if(!c){if(p){r=!0;break}p=!0}b.limit=f;k=!1;break;case "'":if(!c){if(m){r= -!0;break}m=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r= +!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")}; g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63); else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296), c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aKlRa{%mJdsE{$w*TLs zBBbh4Hg-ZB0%YunTeL8Q%W7^oCVFLdgPY4Yc)N1@n=Zi@cHoEPO)>u&LG{$i}TR5AW zqe(oz^4cVSy4>WAJ9@X7?@tiT8$ONkWV+BcHnrd?Br&V%O206^rdJ~!Tb@OXuT9p7 zU=mWli4cmv%xDxe@cO!r(Ww3Q@aO%r! zm;f?_fB10t{?u?MfxZSU!Z)bHes}h;5s&A8(RJfJ4oCEGK9A;l^JqGyBRp*o z3@n?(Uz&#Np|v&7CGeNr#^cGNEo6Z@@KQYd;(&}&H)UQMT*E|Zh4 zR3!^UL9n1Pw2oh0;`s&j--&xITil#ZE+;X<$weGb>0#(kaEKIUtYw@VLerf!SvZXL z7YjOnk9kj0QC&iVzkb5=h6it+)A(v0Hj;)pOahEI^U>8M4daEZ-ALZo{ymz6db4Sm*KItTO~2?L z;yGA?1?;su-Co)rvseYwmiFvwG1f~Z4J#>sg*t}I<tBY^AjtO2k#>W!;TY5(M;jWcA%n5)Y9#(WNKwmu1G%e2LpQJC5lJ6;>l8eR>&8Hg!b{rt?Bs`suq;}*RJQj57|Hz8^|j=~YT zxVd4t#+4_4aw$+)pHLC=JBD?Q1kAL9d35rISWwP|du-EhC&xBZ6a^5lSDL z*dV+!@vDrUL?MtDsKEr8@ix6Ef+!$Vz39zNbHQ7vItar@#3IN8<@*$WP5efO3y*b~ zf<6WC{}?5hX=yVz7>r%h42)5Gvd97h9e)hY!BqIaz^dyxp7Gz72beoU?5FTuE&fw@ zI;%67fhq$O%~BMiMy|IV-XkzgaY@A`Ya%p_HwI7(sx-}Wcny*7An6PC&r`L33JB8*S@SD&s0=|Hgjp^qC%`fz`O5jaGJpWREtcTxJ$@uH@L}#Zz z_f-;~dRL^&B4!#w%nPh>8ch>?z%4L~K>&+W zzS~!$|;n3YUfWQ3Q5P&hMhF7-^7$f;O2(A#D>des};XR|xwokJXSC3O2c3{le9bq zLEeF^W%BNXB^4?A0U{@cXz0huIRMn;T(snVeaWySXwNBs_L<@=a`rBwB!a4K)g?Sz zQW6T0`Q$PH;UmJUOAp?;rn-m@TzUUx*DJQDlNpHSnazeCMsWj&AorM#K+r5-+Jo>@ zrdUv;XW~62*HMIaNBWh#rPCN7W{d1iX4AxG(-3!RYIJWIZ+y}H#T4>g9l+0ooPn`L zVTy@x%4?s0@%nl`0Sgt(W=Q}I{p9WusMRw`01FA=yCm=lPp>Ew0IueLlHfj8zBS_2 zO7iWjNWPu>Wb2to#PU+WB^uB@e|?=lo72VQ531`v3$6FOq3?J~UjET**wvb+W0?=A(um{>SfM4 zr-m=h_`54I{_Zj%G=E8^A#!robdm!Gi`=N!Ag#fm55mn;!M!q};cj(zcX${;*7;9^ z&)l^1o$c+d?G~vH1u~(N1a}gFr!rQ9ftLk5FEAR=o(p?k0Q8(mh*8x~i9G(|=%YOv zepZP-%OFcC&rE_!OtaN}jcL9QVCg*;SbFyX%NAe(bg|pxvwv9XldgDT@06a{;z_^w zpazI)>bGm_@7C1M8(RZhy=veBZAPkMXAx6Q$)5qUw3UKZZ$%+fZ&jEDLK_V1ol4{? z+yrJ0A8NGqXh_sv!>v_i zdM^zWweJoU&wnKTsrs#ibI%QpKR7aKFBTfraFOdvrXlVHl*>HpPVY%WMs-3TqYFO$ zeZn8HMTzNDXvOq@LM?aqk5t5Cjn=+}*1m;S zzlBzL4_fOzXs!34b>4$k_M?_nb}g&AHLT)%uW?cRyo<6VrtpPoD!y20WR}C4@7z6U zCI8f4k$>th>7UqQ$7hP(EzDHNud3Lus@N}7?BC)0{3_q)SNT4_;Bu-Vs zd~wZ%&VSbbuGtk{wy#VxN!6ArpK7_K#AmPmwbH--AR|4m{`DLE>-X(mwHM%D&!i(& zA;!uA{FmfozgHKlz53Xv^szY?+gZ-VrdprrxseQt{5*~DGfaJG_b;)o@P!Rg!He^N z&o!#|M~2@P$gL%jR<%c~yJhv3A0y-HfbzN_hkrxLnsPrvYJbsDGK@awL{lf0JBFds zby$f=6dB~C^~6E)QlCfMZM)hJYP|iG8gIWsOSZdK|NiJEQHQtDl{cj*uNO(6-CJR3TSW9MfO% zynj3;Avq#nVR!p`cxXHJ&Q`w%zq(Gh^V6=q-G$#{-_+=GV!SY_T;N<^ja#Jun=hhZ#%D=fWT>nP-aJisW>=Q@ltH3?q z5}!0W*wfp&rzS#1$#+2>4=|MiQQa@ zopZFCmJpGuBYtKjc5)@Q&(Tg=VmB?Yo6&DOg&1{P&EucgL0 zFM5vWnS)*|g5GrJAojmHQDL3~lj#mh4o`FrDO;0migqFQGm00JK@U9vBa?p*9Dkhf zxdvHGY$e9#rTqbgT-i60Z7J0~E`8$;xa5_-iNY8ILmMY&$Hy&J6qA_F7e8oFO3}29 zb+&P+@zFkKF&i~)_uJ+*wA?xxR({$hyiQBiV>O~M&k??DdlSf%xc|@X5W${ys)xyt zC*uX0j9`?N^wqK7=h(p*TTDovUVq-jHQTk1ZJ5Y50^38Sp{=Sm&DlMtkq&k>d>msd z`B-$2G)z>J8}?$bt&E8vDmK}rs)9hUvCs{^?4cH6A>nbp3OI1!A_ueS=W$D8+5__J z$0FDd2r!zQdhjgjW>{n8nJ1B_XHvOCXD#{!1@sAIz8EAQIzbipuh@HeYk$@GBu(!j zxC$coSTbe;YaU{~Ow5Q$Soe4p#y!C7wftLGlZ$#^JT^b~w^aah_$7aNs}3*RM(==DB;WFCNI`0wAcne4wGp1wbN^WnEQzwE#N zfSRPK+!J#RO|O}LFnIcN{{$&r#gCI55hD{Xs+K@x9qydp7E2Yk{j4ZupQn>j5laHU zj+37eM}IVGfmfs!OK*5PL-5iXr%490dqq92a+>T62;j}^A(ADDU}trL)$WmONgV1v z-Io*!kwvmicd`*!g2;JHOjpLdW^sSU`Y}l2tUyiUv~nI7RIW0kJb?*hf;X;@1jdC( zU@Rknv5W**6`l+|^UIznsKBEVBx(kaO^{d>OMfLua?tmM=11C}Hh5LFB#GxtkaUn_ zd|8kZG2CtOEJWlIkI6+=m4_rdl9$4}%7q#=Cw=5j`S{kD?`a&W_T2?q`C~cQi6-fB zChRN|m#y)V2bm-Xf$&x$&rqhBT}X7jyI04On$@vnNFAb#Z1Yn~aN*RF|uk;Oo(5cg?;1RKWz>8ZI#l#_EC9uqn7sJIO$!Tg8r<+u>hmQu4 zDaE;Cb1F_r6UQ*r@VN3EwPMrQ`5P5rnw(crUdvywX*|qMuP7c1RHJ5A^?@2*dZ31r zRjE{w6iao($PS@VSmPEB5h-yYJtzKckkB3#?4p1^UP&`^1T-}XP$sFbSI?H`($W$~EzRhdl?5wx4 z^`TFbv=c!KW?%kfYxrv!gZ6Eb6eR&hlO_}%0r`_f6f%D|>5b@8L48uCsj4fDD*bQQ z(nWMNC$#W3a-WKd?A33P1b$O=h7_bt!^PE{zL60UbNw->o1 z&TxL64m*FX@;@k}9TDAd6azwkL!b)1mHN&F{IS9ex48gp-M zT~5aei6Z2D(cCYbn_1!W($h_s8g5nHdE)z$3XFe>leE{$`RnmvIo-Yg^ldzZs+_fw znjAc|Hq4IlE>t#~)7O!q7c?>?28BEs3=HHs;=z(b2PS2cHHDNZFx+u{tWY}!kx!%o zC6OAtxv*mSyb5RyC6i)B3H-U`AAS{Dt-O5c;V!Luyer{+5$0PJI4|v`V$@4MsT=m1 zv9W(+ewb|jgTmxOHB}y)kSJUL%CMur#h|df0lI=kE0Y69b;E4_D{MXfzkh{Nf#XOV zd%FfPk(fBR#FH>LZIB;<6Pl~=PLyKIRZ3LpL4Fjw^w_EzgcG4+tsfP^<=tN3F~dd4 zaO4uf82HFLkR+=p@q{8YskXTRj|hr}j+1|nhf7D;x?bL@^9G9*gY|Ap9Q;J*3;M$k zT4*nK2roBi!CeEFyK)|}6rwnexOOzGAo<0G8pq=0mqM&;0nV+GNJ_0=s{pOAVIHOVG^9MNaZzF64i1T0-H~Pi5d{I^`$YxdbT~%FOUEF_bQR1lp*C_xK)O4G0Lj6@B%ZKgL?*32*+QDn+oakwLoYc;6 zRz1xao(xBi45{4ZTv_{2Rf^Hpl1D^%~4aRhA(6LX)0UeL2X&7*sa9MEKa5-?f zaCva~a0PGyoC$Cyz?lGN0-OnOCcv2hX9AoFa3;W60A~T5Wl<-f&X~FebxjOa=i1bD zsOwVKqpnXKn>zjinBROM&v(blYepTLT+ZWpvRD9nj7FR4L|B&XlTd#)#eGHKT^NH4 zBTbN{4tUqsR^PK1xEZJ?eVfc?4y^;;=q$sS&Q8ArH9;gu;LoN@D!A}8n^`U762SxV z0-op0Z}Ch6JTR5+ndDrWe3L^B*A3l3J#`ad>1Vx^$Ygm&@ptQt+KX&6oEs%RW0 z8wdDD8ZPH-LC><0wBLVEbVg_$4MQTmfV7fGv5u#Y@kmFeuli0vpfQ`I2-J*|nm)(L zQY@oq@)LmZo<(;e#7n|m_jDl4JH!#$qRk5BBRdPoKik)Jf6{t z`zksXd_Jm|0frQb~EABMk2!#|DTcyP5iIXQXXO0@DY%<6whb{>+Oe_V0OKrk;Q zgieH#!TH>G&GB!#Rm@e#>4(wgtUq7;y0b;4tENuy*akn`-|ly*0Q8n`<{!*^Q!?In z&INQ)=dOsXy8{uodE7G4H@l8jc;<>tZ$ z7kf2|j}OtglPiC+se}NJNU0X^W{i#x@e5c2QeX)Rgzp!q$EG#!bsI0w_{_%D?dkaY zjC(6Hho()H#FNUzd@+TI2YSHh@#(PE>l2WmuH(!KA6@QM!Qq6$%}2(q-2X+V#qBrw z2DL-N6_(P$V)Xf8bFXU}8C=9(mJ_=@xQdD0@4rd(2{C^cjY_Nwn#!rkcy3(DBB!_+ zlwvANVY%)se#uBFk-E_l`YIV{&4n8fz_N&jPjGU_dD@)XsaOTI4dAK{aX2*90=hL8 zc=!NKgPOt53Vy^s?P-WHpHRkCKdKO8L>$w*PHxyh*9<6gX(=~(z_8yQAKCsEcmkdv zVK2U?9Tb1H=^(VNS<=T4FF^Oq2!IBiXd{ha$V@)vxwAnm*Q)PKuiraHMnW>|j6$axFJ`Iz44oE(GS1Zjre2n%7{OF#(9@NGX1sq4DO5OwECO8ti#F2{lX7>;GLzt1>T8J~rlGezQSizy!l`|z+@@>^-D($6r6Vo&u zv{rte)QyI6g^J;%&YP;Cv1oM0n}L5X+6gQTQ5}(1rXO0zIR@GW#e2`rczAUx300rV2T`${t{RoD z+YxzOaNLR14H}I$z^K0dDhy{uym8T2QN@u2d*eRZfwEm3I^{s1aPzr&;C_Dt*w=Bx z{7CQ486b^H%=jf5+f)o^Xdm$k+k+q`KBm$JndoyM%1x&LVw-53%Tj28k^taI0?>d& zWvvLP=M{g>GC`286iIGaG%apbWTzSWC*hF-X>sn)P7Q(8=^=-$##=E95 z*!677n1!r>VQ3D=b@h8a8FC6_z=j-bz(+fgIRnSVMW)KN-^cFHDSP9IdSRYokzA-5 z&OrS3-Z12a#6H0pXOMxY1FZP<*)!0S?(Wy`X}Tn0p=1a8VSO!wK=vsu-AU51tD85m2VG-00&>+l*Awz53q>Zo+@tejrr zBOQbs{~txWgos;xuHm-`v;}>td>Y{lg+2T7wAllR_J>h+56ROO-qim`>?>|aAH;ZPSOF!`;@hOxPb#03UP<{MQa>{SRC;bzdepDpFTkei4Y^@^+F1ddCHLN~l*(oQZ Z(l-I{tFK4=a|_eXzX3i*!87Zu008HyR=fZJ delta 7940 zcmV+fAN$~eL54wpABzYG_mX*40t-TUbY((yW@cq_K|(HVX>KlRa{%mJ|5Mwzw*TFK zMaax!Z0w|Q2$0$ldC;Eo3rR~lv zjqM{@I$u8L97&d5Y-o-BPchwJ1Oc73|C~2;Vl=uPd#mw(8ix})ZT#NgglPiKvIOdETbn7}_r6GFo|wHm+E*?ba(jc&W6HRhB$jd2`b&Yc%8 zMw58F@Y*DQx_H4GclhQ-zCS@UYxp$Alj&UBc%kXRA|x@?rN_qS?q7Way*?afy;O&XwP6B-mT7+*|!Gx&!X$bTO5w)!E6@I^ycAo zN=JCwAQ<>Ji9aO9Vc4g{CJNooU<4H1t?dnBic%IUWsO>Y zsBb_kh*Fm1%KE%)$jgQmWu+vDL6F@FTsoaoCLIFzQgMVs?HC_BhaqSfSjC2Z$$J1V zHqmc59=9)}YrSjvhD%x~xD}-mqK$Avp&>2bxK&^y<){@3o(90P{zljWhFKptKUt@& zbM%4n^AdG8p=ETaRN3nGjFx)6vts~%uS4VyJ5DG?GleVLfr>6rXV<&AVSNT<>FnAs zyde{fCwhXtx$Xg1=FnmIadVS&n$Zsdh>|C)kmaKfhNJtUXfTa{<^1O~8Ue`*{`=^- zYgqQKx1k3rvw#l<=&IjpS-}PZ5)at}Fs7ZNnUO@;(Vz?SpBey?5)Wz?K8J+>x zx?5WoNPcR0FPK_clq-^t{K0_Uc!}asu6VMLpB3^&A)$Tzacg>ZgY0g9@uZ!qQ`-GN@+W;Fb|irxC$1 z%?PCrO>7X}nfO&kPofaW3)EnO%y^q#6hTN3s$TTwra9*=R2_ujBVrMMih$eoc z!-dDXOp(?B5bIcDlz^snOI;led zgd3A^9^;TOF^srCnM^9QMA0)w#dupG^a|NBm?%h>^En|^0y1NMJ&DO!&xcf6E&yvT z;-KFIwiurY1e=Yf2Y~4%EX0o@uxoOD7j4BzgB%pJ$utUSn}G4d15mj_*k^gH zhMclws9_{_A;z%O6l!n1@ zCTV$!fxH7*%jDe&ODa?(a`skGXSW`nP|!V`jTOPNzk5A>@&rg=j>fXNd#5r zN-p8Xsw5O5^T}lZ!bgOQ3lHA8rn(5N1DD=^+4Y(&D&-bpHXC{v#SI*S++#WdL9={m z7s5}OVnL0biFcJ;M-kc`=~wcSPGf+QHzPQz@>0Mh8fcrpzRsV`=zQ`Q)pehR*1O)&cRVF8fA6(yu*$&_-cBQNv=+RF%-c;h1j$oEjW$8%Czs3oa{Dd zJw9_G)E8k8{4h9IS~{c$Eoc&W6R%z@y^Sha85T2F;t zDk>qhrl=l2p20rMUP~6KRhVSL^_07YP(x|(d8jLGv)TO_(|jAi(t9kh^zH+eO~3-^VzBt2Dp0Fzy;cjRK?CBrks*L0cL3{1+CtSLZ;rTFbjk>7}(pD$W^!r@Mh+SHi4*r z+k-B4iWtYsmuu}-Vc%x4-mKO#CT8kFZaTM_Rv<+`)M)F`kf{9(w^o(uJvUI)zByDp zmH4OXw-U}hH8g(b$f!MAXjH>Rt}mH}xaUwV^Q_ywuNpF{6Z#mP^Xczn{)jC~Os7IC zrvDRaF#)Pluay=noEr~=+(tBOu!S{$hL{ysG+p~XK(|5+!;%=B3ifkwC$~2QyZK?99mRm}E_S3&s`q%Gdr01u9{X+lxZM#?P8Ti*z=}1+Gv9bXFIr-Rc z)x~N*eeBotu{jspSlJdj z)Avfgr!rB5;EvkA?fu^$zwf<0JU-d%{;~hhlY@6?%jI9Hki`_o^mjZfPf19Q$XD3i z{w^Ncj=jCv@4>IG)9t+6vA4SLd(-J|_j{XLy{&Dy>N#8NOS8WwqkrMi0sAJ37HXCs z`08v~fdO&Kf8bS{Hd{k~)5%J{rnMy-eD>x)El7Sf+Yob$TnQ`s@pEa#--K8KtSXd@ zjbC`|!*cPRXf2%40-R9^XEa$$>bv<&58)fo(!`SC=K$d$1l(|Ahdn7JfEHKgjLPnn z$XGULNlniPyLO3ilM^Opz)97|JwCD6?XTNgkXRIQVUb$e-5q#;)H4dty4kbM;xjvY z)-{Uxb@C)zY)yuF0P%Sb4971S(7(6|7R*R-0(ok^Xzl!CL?Z#EN_1JdH_*P1wew24 zYf;yaK2wBEQttlxI^E4S^^ncLNVef*wqT!k16$dq6>)Nf)*xAQsgmr`Gk0s3K_FzC zI%OIIfV{IoMEYlcn&kF+Jeg8mese?lH#dgs-zXn07qp6f;^=%9xaV8qlSYT!7PXQ`8;mV$CDs_I~k4R({Mf+ftl#Qew7S=GW1Hat?fLS>~@FkCj)=T zQ223g$ox9n!6NhL9{BT~^z(#2C&MjgJAF=uJ5Jvb@xV*R?%Y~=^M3%V*zkQ7w}wSt zal$p5hkNaX>@4RgW8OQ_cO#RsV9gN?V%;{{AHg(KZt2^As8BBDnvwNI=*-jf{LD)12jtn0MX>J>U^F@P z;91nou*S+WPa;pxq;iMOTJ#AD=o83%F-Sgif-3G`vG@Gef2#9In%+Zj6-4f_WXuHC zJj8mLm=Tk(?(r&&dw|(%`M0hn7xg}SY<}u*s{rQkbN=#FW6RW%rA=b8q~K>+C7pji9_9|`+`CtGEcVY zPBsEd5IK*D>B^X&S=`^TehiX0D^Sxot(?aNm8;AsPhbL>;En4efpH-c7|TdtEF%F{ zg(pML{IVwsD)6WTiJHM<6C_r}e^LpO9Q1vr`H}Xw4PI3(N#Z#ZBpoCfUlyc940l^R z3lX`*V{(yIO`#KI)`{n|z{IMMDM3eM56Lyw~%hq_w zgG`cxKzJ*WXDHLmE+o3%-K%3s&FWY(qz+L=w)v?gxNvGo@@@+!rw*V1{km=Rid8@W$KMfU2qNCLkpIztN5rr~@sqpxIy1o_~Y z1#)TVSAl}!1S-R&#Sjllva=zvdZPek`L|WXJvE_JdJHTc=7Ls_2d#MMIoNQLmjsjP zw3Mpck#Tsg=9foWD!;wR9dU;9>vY(EX_fck?VY$xvb^Uj;PTh~j<62(y*p5UnPjaR z^+{n+iDzk#M*Y-o$ug+#?dIbczLv}N2E;XrgEz%&s3I8(rjyH3u2G6-3PD4m4u<%J z&!MX0gd9%dzj?a4v!cU{su> zy;ja&j}FS|?)|54;~`Y#td-Pc|Dm;Ec9eIavdbC$IWqK&Mux__>?m+CC@gP)u3*v1 zda-|0Mr1~8psFC3+%b%=H zerv8cQr?0xh2oED)?PB{RicLMK{FeH-P_lt22188XlCUiC;2dc7jic(q44UbGH^4U za+UX!YZhx7O}AoS0kJL=u`!D{=!3GzujsM-ieB7yRLR5CO+wIdhmCiN_gQQx4xNqvj@L+aaq)OV=wQs1M#PyG=c8Fb{) zkxxe>Y8nPyCR`R=L%3|X9JpM#Jh*(g0L}zB6W~mMGXc&7I1}JZfHMKk1UM7mEP%5B z&a$ZOQ+q@mgE}ULs&j_av8m%w$EA)(?IE?j1u(z)LZ0uAl-G;X27PJI2 zK>~j^9a72*Pt&Q@$XsM_0lk3dCG%T6(*O@lrMo7%l_uY0(86_1H&9RQSlDw)b17db zs57B$JUpvrlj<5q6S~Sfhsn+X{*eUBIa|=1Y$WM_c4M6pTFr(bk>1F(l9?hMPaorv zj#OWDZJ$7A)=?2?8AmmFjguu2sAO5Y+#`Ayl{}uNCYxGCGhsD*-$md3) zl?6e6T1^^e0hxXGz%c{DtdI~o5lRNXq=@q^s|MW@Bxi+qFHA>j&3;b1ZNa@aiSnnrqeb1w_RZceV8u)Ez4i9R8J zXwfLex}b?9O~y;(N*1|B^`I0JSqsZ?rqNqQN|~u0USO=^o>pJD0RpUx==d0kJIaze zX(wV8)HHyrHbg<+R14_FT;SmYG!0q?KP&hV`?S|S#(Y89{*CGojB$rQ%W#ly+CVglNH9nNYIq8O;~_U%|KOFYutm}HOUjiDJ*DW zo>DQZYaMN@r5YL6Fuajt4mqaf9QTS?K!!&RyYMxL@3paHYmw}L88meaWR!`2K7ywX zs(xcELUXltz|&-qyTr zm2Yh_!J3F%auu4^kk>KS@xF?GXkM>nql#}-@CLqV1z!zW8P$!vi*nv$y)H*p7ipBc zTb0KOx*Dz$rW;wmFK6Y|XytijE$)>LGrN?gj02L-ZY#A}2gmSq#*gml>t1CpQQ$#} zH|v}8&*9Jdng9(wuG18G^_sj(NN}@;us^W45E;S;e4ZeiUSkUkB*fEy9h5&l{TA*v zfaYZ%9d<$zFlmpI@(kut=XeLrPn+`@sv+%`7<-eChR{!wY4oaA@%x+FhOTRGF6}k@ zIwMfqM8<;wxtEol)w$iMq5ZYKsegX~^{-I&ail!H+0)^v4;0z1ggBEdX^kw2>WH*5#c5hM zJYw)`m~J``u}{XjW!N%-8wt(S99fX;I?m8l>88~+oz${yZXLt~zw4!zZJ=#XymyBw z53f!oqVjX`AR3m@RjtugJ0gz@jysXMLBqiY7}eKbgyAfYH!j91EIE?kXgq~`P`2|! zryK|rZcdwL?l*vcV;$AZk92#>0BMwB#xK#>reZil|A<%E9|UvaVc zLlcd2X#zb^Ab@-l0dycyMJojAdBva8R3M})g_0WS4~t%@qPIoE-U<{Lo-QcZa2Uo?{?d4V{Hn2B%>H8H$~!h=V=+9A zV~yNt0IM3u8`{H1ysI079d~FM(}3kL49(%VuKujYeU5?jSf7LS_-rS#WZ<~C$W*0v zyEyzAWgkqacjy$W{eV{z#{?y_1YW*^Z zcsEN zeeFE@d+pa5NCgob9ar$!8-FB%0am>e$N(Hoi+E#yE`6lgtZcq6!b)@uj3rT+uy2NS zc#jENS)Q}Px3iekC-$G`%?a3H^P497L;SphH|oC$!M@_Q^10iUH!}e`kdJi@Y0JlZ z8^|(sZFj)-%K==GtLpe?eM^9f$G0jh=n_OS{~v_=cqVT3lK+85=Nf)SL0c5Pwaw=i uN00F*3I{PR(SH0T$nVnhnvp?)D0nWQ2K>Ve84 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return DataView; + }; + /** + * Allocates a new ByteBuffer backed by a buffer of the specified capacity. + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} + * @expose + */ + ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { + return new ByteBuffer(capacity, littleEndian, noAssert); + }; + + /** + * Concatenates multiple ByteBuffers into one. + * @param {!Array.} buffers Buffers to concatenate + * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", + * defaults to "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + * to {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} Concatenated ByteBuffer + * @expose + */ + ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { + if (typeof encoding === 'boolean' || typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + var capacity = 0; + for (var i=0, k=buffers.length, length; i 0) capacity += length; } + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); + var bb = new ByteBuffer(capacity, littleEndian, noAssert), + bi; + var view = new Uint8Array(bb.buffer); + i=0; while (i 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; + /** + * Tests if the specified type is a ByteBuffer. + * @param {*} bb ByteBuffer to test + * @returns {boolean} `true` if it is a ByteBuffer, otherwise `false` + * @expose + */ + ByteBuffer.isByteBuffer = function(bb) { + return (bb && bb instanceof ByteBuffer) === true; + }; + /** + * Gets the backing buffer type. + * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) + * @expose + */ + ByteBuffer.type = function() { + return ArrayBuffer; + }; + /** + * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its + * {@link ByteBuffer#limit} to the length of the wrapped data. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string|!Array.} buffer Anything that can be wrapped + * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to + * "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` + * @expose + */ + ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { + if (typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + if (typeof buffer === 'string') { + if (typeof encoding === 'undefined') + encoding = "utf8"; + switch (encoding) { + case "base64": + return ByteBuffer.fromBase64(buffer, littleEndian); + case "hex": + return ByteBuffer.fromHex(buffer, littleEndian); + case "binary": + return ByteBuffer.fromBinary(buffer, littleEndian); + case "utf8": + return ByteBuffer.fromUTF8(buffer, littleEndian); + case "debug": + return ByteBuffer.fromDebug(buffer, littleEndian); + default: + throw Error("Unsupported encoding: "+encoding); + } + } + if (buffer === null || typeof buffer !== 'object') + throw TypeError("Illegal buffer"); + var bb; + if (ByteBuffer.isByteBuffer(buffer)) { + bb = ByteBufferPrototype.clone.call(buffer); + bb.markedOffset = -1; + return bb; + } + if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER + bb.buffer = buffer.buffer; + bb.offset = buffer.byteOffset; + bb.limit = buffer.byteOffset + buffer.byteLength; + bb.view = new DataView(buffer.buffer); + } + } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.byteLength > 0) { + bb.buffer = buffer; + bb.offset = 0; + bb.limit = buffer.byteLength; + bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; + } + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (i=0; i>>= 0; + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); + } + var slice = this.slice(offset, offset + length); + if (relative) this.offset += length; + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + + // types/ints/int8 + + /** + * Writes an 8bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt8 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } + offset += 1; + var capacity0 = this.buffer.byteLength; + if (offset > capacity0) + this.resize((capacity0 *= 2) > offset ? capacity0 : offset); + offset -= 1; + this.view.setInt8(offset, value); + if (relative) this.offset += 1; + return this; + }; + + /** + * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + + /** + * Reads an 8bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt8 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var value = this.view.getInt8(offset); + if (relative) this.offset += 1; + return value; + }; + + /** + * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + + /** + * Writes an 8bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint8 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 1; + var capacity1 = this.buffer.byteLength; + if (offset > capacity1) + this.resize((capacity1 *= 2) > offset ? capacity1 : offset); + offset -= 1; + this.view.setUint8(offset, value); + if (relative) this.offset += 1; + return this; + }; + + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + + /** + * Reads an 8bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint8 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var value = this.view.getUint8(offset); + if (relative) this.offset += 1; + return value; + }; + + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + + // types/ints/int16 + + /** + * Writes a 16bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeInt16 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 2; + var capacity2 = this.buffer.byteLength; + if (offset > capacity2) + this.resize((capacity2 *= 2) > offset ? capacity2 : offset); + offset -= 2; + this.view.setInt16(offset, value, this.littleEndian); + if (relative) this.offset += 2; + return this; + }; + + /** + * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + + /** + * Reads a 16bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readInt16 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 2 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + } + var value = this.view.getInt16(offset, this.littleEndian); + if (relative) this.offset += 2; + return value; + }; + + /** + * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + + /** + * Writes a 16bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUint16 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 2; + var capacity3 = this.buffer.byteLength; + if (offset > capacity3) + this.resize((capacity3 *= 2) > offset ? capacity3 : offset); + offset -= 2; + this.view.setUint16(offset, value, this.littleEndian); + if (relative) this.offset += 2; + return this; + }; + + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + + /** + * Reads a 16bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUint16 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 2 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); + } + var value = this.view.getUint16(offset, this.littleEndian); + if (relative) this.offset += 2; + return value; + }; + + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + + // types/ints/int32 + + /** + * Writes a 32bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity4 = this.buffer.byteLength; + if (offset > capacity4) + this.resize((capacity4 *= 2) > offset ? capacity4 : offset); + offset -= 4; + this.view.setInt32(offset, value, this.littleEndian); + if (relative) this.offset += 4; + return this; + }; + + /** + * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + + /** + * Reads a 32bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = this.view.getInt32(offset, this.littleEndian); + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + + /** + * Writes a 32bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUint32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value >>>= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity5 = this.buffer.byteLength; + if (offset > capacity5) + this.resize((capacity5 *= 2) > offset ? capacity5 : offset); + offset -= 4; + this.view.setUint32(offset, value, this.littleEndian); + if (relative) this.offset += 4; + return this; + }; + + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + + /** + * Reads a 32bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = this.view.getUint32(offset, this.littleEndian); + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + + // types/ints/int64 + + if (Long) { /** - * Gets the accessor type. - * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * Writes a 64bit signed integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.accessor = function() { - return DataView; + ByteBufferPrototype.writeInt64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + offset += 8; + var capacity6 = this.buffer.byteLength; + if (offset > capacity6) + this.resize((capacity6 *= 2) > offset ? capacity6 : offset); + offset -= 8; + if (this.littleEndian) { + this.view.setInt32(offset , value.low , true); + this.view.setInt32(offset+4, value.high, true); + } else { + this.view.setInt32(offset , value.high, false); + this.view.setInt32(offset+4, value.low , false); + } + if (relative) this.offset += 8; + return this; }; + /** - * Allocates a new ByteBuffer backed by a buffer of the specified capacity. - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} + * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this * @expose */ - ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { - return new ByteBuffer(capacity, littleEndian, noAssert); - }; + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; /** - * Concatenates multiple ByteBuffers into one. - * @param {!Array.} buffers Buffers to concatenate - * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", - * defaults to "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - * to {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} Concatenated ByteBuffer + * Reads a 64bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { - if (typeof encoding === 'boolean' || typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - var capacity = 0; - for (var i=0, k=buffers.length, length; i 0) capacity += length; - } - if (capacity === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var bb = new ByteBuffer(capacity, littleEndian, noAssert), - bi; - var view = new Uint8Array(bb.buffer); - i=0; while (i>>= 0; + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - bb.limit = bb.offset; - bb.offset = 0; - return bb; + var value = this.littleEndian + ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) + : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), false); + if (relative) this.offset += 8; + return value; }; /** - * Tests if the specified type is a ByteBuffer. - * @param {*} bb ByteBuffer to test - * @returns {boolean} `true` if it is a ByteBuffer, otherwise `false` + * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBuffer.isByteBuffer = function(bb) { - return (bb && bb instanceof ByteBuffer) === true; - }; - /** - * Gets the backing buffer type. - * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) - * @expose - */ - ByteBuffer.type = function() { - return ArrayBuffer; - }; - /** - * Wraps a buffer or a string. Sets the allocated ByteBuffer's {@link ByteBuffer#offset} to `0` and its - * {@link ByteBuffer#limit} to the length of the wrapped data. - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string|!Array.} buffer Anything that can be wrapped - * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to - * "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` - * @expose - */ - ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { - if (typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') - encoding = "utf8"; - switch (encoding) { - case "base64": - return ByteBuffer.fromBase64(buffer, littleEndian); - case "hex": - return ByteBuffer.fromHex(buffer, littleEndian); - case "binary": - return ByteBuffer.fromBinary(buffer, littleEndian); - case "utf8": - return ByteBuffer.fromUTF8(buffer, littleEndian); - case "debug": - return ByteBuffer.fromDebug(buffer, littleEndian); - default: - throw Error("Unsupported encoding: "+encoding); - } - } - if (buffer === null || typeof buffer !== 'object') - throw TypeError("Illegal buffer"); - var bb; - if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBufferPrototype.clone.call(buffer); - bb.markedOffset = -1; - return bb; - } - if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER - bb.buffer = buffer.buffer; - bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.byteLength; - bb.view = new DataView(buffer.buffer); - } - } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.byteLength > 0) { - bb.buffer = buffer; - bb.offset = 0; - bb.limit = buffer.byteLength; - bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; - } - } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets - bb = new ByteBuffer(buffer.length, littleEndian, noAssert); - bb.limit = buffer.length; - for (i=0; i>>= 0; - if (offset < 0 || offset + length > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var slice = this.slice(offset, offset + length); - if (relative) this.offset += length; - return slice; - }; - - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; - - // types/ints/int8 + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; /** - * Writes an 8bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * Writes a 64bit unsigned integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. * @returns {!ByteBuffer} this * @expose */ - ByteBufferPrototype.writeInt8 = function(value, offset) { + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - offset += 1; - var capacity0 = this.buffer.byteLength; - if (offset > capacity0) - this.resize((capacity0 *= 2) > offset ? capacity0 : offset); - offset -= 1; - this.view.setInt8(offset, value); - if (relative) this.offset += 1; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + offset += 8; + var capacity7 = this.buffer.byteLength; + if (offset > capacity7) + this.resize((capacity7 *= 2) > offset ? capacity7 : offset); + offset -= 8; + if (this.littleEndian) { + this.view.setInt32(offset , value.low , true); + this.view.setInt32(offset+4, value.high, true); + } else { + this.view.setInt32(offset , value.high, false); + this.view.setInt32(offset+4, value.low , false); + } + if (relative) this.offset += 8; return this; }; /** - * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. * @returns {!ByteBuffer} this * @expose */ - ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; /** - * Reads an 8bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read + * Reads a 64bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBufferPrototype.readInt8 = function(offset) { + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); } - var value = this.view.getInt8(offset); - if (relative) this.offset += 1; + var value = this.littleEndian + ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) + : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), true); + if (relative) this.offset += 8; return value; }; /** - * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} * @expose */ - ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; - /** - * Writes an 8bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint8 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value >>>= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 1; - var capacity1 = this.buffer.byteLength; - if (offset > capacity1) - this.resize((capacity1 *= 2) > offset ? capacity1 : offset); - offset -= 1; - this.view.setUint8(offset, value); - if (relative) this.offset += 1; - return this; - }; + } // Long - /** - * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; - /** - * Reads an 8bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint8 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view.getUint8(offset); - if (relative) this.offset += 1; - return value; - }; + // types/floats/float32 - /** - * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + /** + * Writes a 32bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 4; + var capacity8 = this.buffer.byteLength; + if (offset > capacity8) + this.resize((capacity8 *= 2) > offset ? capacity8 : offset); + offset -= 4; + this.view.setFloat32(offset, value, this.littleEndian); + if (relative) this.offset += 4; + return this; + }; - // types/ints/int16 + /** + * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; - /** - * Writes a 16bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeInt16 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + /** + * Reads a 32bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var value = this.view.getFloat32(offset, this.littleEndian); + if (relative) this.offset += 4; + return value; + }; + + /** + * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + + // types/floats/float64 + + /** + * Writes a 64bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat64 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + offset += 8; + var capacity9 = this.buffer.byteLength; + if (offset > capacity9) + this.resize((capacity9 *= 2) > offset ? capacity9 : offset); + offset -= 8; + this.view.setFloat64(offset, value, this.littleEndian); + if (relative) this.offset += 8; + return this; + }; + + /** + * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + + /** + * Reads a 64bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat64 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 8 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); + } + var value = this.view.getFloat64(offset, this.littleEndian); + if (relative) this.offset += 8; + return value; + }; + + /** + * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + + + // types/varints/varint32 + + /** + * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT32_BYTES = 5; + + /** + * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. + * @param {number} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * @expose + */ + ByteBuffer.calculateVarint32 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + value = value >>> 0; + if (value < 1 << 7 ) return 1; + else if (value < 1 << 14) return 2; + else if (value < 1 << 21) return 3; + else if (value < 1 << 28) return 4; + else return 5; + }; + + /** + * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. + * @param {number} n Signed 32bit integer + * @returns {number} Unsigned zigzag encoded 32bit integer + * @expose + */ + ByteBuffer.zigZagEncode32 = function(n) { + return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Decodes a zigzag encoded signed 32bit integer. + * @param {number} n Unsigned zigzag encoded 32bit integer + * @returns {number} Signed 32bit integer + * @expose + */ + ByteBuffer.zigZagDecode32 = function(n) { + return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Writes a 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32 = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var size = ByteBuffer.calculateVarint32(value), + b; + offset += size; + var capacity10 = this.buffer.byteLength; + if (offset > capacity10) + this.resize((capacity10 *= 2) > offset ? capacity10 : offset); + offset -= size; + // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc + this.view.setUint8(offset, b = value | 0x80); + value >>>= 0; + if (value >= 1 << 7) { + b = (value >> 7) | 0x80; + this.view.setUint8(offset+1, b); + if (value >= 1 << 14) { + b = (value >> 14) | 0x80; + this.view.setUint8(offset+2, b); + if (value >= 1 << 21) { + b = (value >> 21) | 0x80; + this.view.setUint8(offset+3, b); + if (value >= 1 << 28) { + this.view.setUint8(offset+4, (value >> 28) & 0x0F); + size = 5; + } else { + this.view.setUint8(offset+3, b & 0x7F); + size = 4; + } + } else { + this.view.setUint8(offset+2, b & 0x7F); + size = 3; + } + } else { + this.view.setUint8(offset+1, b & 0x7F); + size = 2; } - offset += 2; - var capacity2 = this.buffer.byteLength; - if (offset > capacity2) - this.resize((capacity2 *= 2) > offset ? capacity2 : offset); - offset -= 2; - this.view.setInt16(offset, value, this.littleEndian); - if (relative) this.offset += 2; + } else { + this.view.setUint8(offset, b & 0x7F); + size = 1; + } + if (relative) { + this.offset += size; return this; - }; + } + return size; + }; - /** - * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + /** + * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { + return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + }; - /** - * Reads a 16bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readInt16 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = this.view.getInt16(offset, this.littleEndian); - if (relative) this.offset += 2; + /** + * Reads a 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. + * @expose + */ + ByteBufferPrototype.readVarint32 = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + // ref: src/google/protobuf/io/coded_stream.cc + var size = 0, + value = 0 >>> 0, + temp, + ioffset; + do { + ioffset = offset+size; + if (!this.noAssert && ioffset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + temp = this.view.getUint8(ioffset); + if (size < 5) + value |= ((temp&0x7F)<<(7*size)) >>> 0; + ++size; + } while ((temp & 0x80) === 0x80); + value = value | 0; // Make sure to discard the higher order bits + if (relative) { + this.offset += size; return value; + } + return { + "value": value, + "length": size }; + }; - /** - * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + /** + * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint32ZigZag = function(offset) { + var val = this.readVarint32(offset); + if (typeof val === 'object') + val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + else + val = ByteBuffer.zigZagDecode32(val); + return val; + }; + + // types/varints/varint64 + + if (Long) { /** - * Writes a 16bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds + * Maximum number of bytes required to store a 64bit base 128 variable-length integer. + * @type {number} + * @const * @expose */ - ByteBufferPrototype.writeUint16 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value >>>= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 2; - var capacity3 = this.buffer.byteLength; - if (offset > capacity3) - this.resize((capacity3 *= 2) > offset ? capacity3 : offset); - offset -= 2; - this.view.setUint16(offset, value, this.littleEndian); - if (relative) this.offset += 2; - return this; - }; + ByteBuffer.MAX_VARINT64_BYTES = 10; /** - * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds + * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. + * @param {number|!Long} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} * @expose */ - ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + ByteBuffer.calculateVarint64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + // ref: src/google/protobuf/io/coded_stream.cc + var part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + if (part2 == 0) { + if (part1 == 0) { + if (part0 < 1 << 14) + return part0 < 1 << 7 ? 1 : 2; + else + return part0 < 1 << 21 ? 3 : 4; + } else { + if (part1 < 1 << 14) + return part1 < 1 << 7 ? 5 : 6; + else + return part1 < 1 << 21 ? 7 : 8; + } + } else + return part2 < 1 << 7 ? 9 : 10; + }; /** - * Reads a 16bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds + * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. + * @param {number|!Long} value Signed long + * @returns {!Long} Unsigned zigzag encoded long * @expose */ - ByteBufferPrototype.readUint16 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 2 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = this.view.getUint16(offset, this.littleEndian); - if (relative) this.offset += 2; - return value; + ByteBuffer.zigZagEncode64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); }; /** - * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds + * Decodes a zigzag encoded signed 64bit integer. + * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number + * @returns {!Long} Signed long * @expose */ - ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; - - // types/ints/int32 + ByteBuffer.zigZagDecode64 = function(value) { + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); + }; /** - * Writes a 32bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * Writes a 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBufferPrototype.writeInt32 = function(value, offset) { + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; + if (typeof value === 'number') + value = Long.fromNumber(value); + else if (typeof value === 'string') + value = Long.fromString(value); + else if (!(value && value instanceof Long)) + throw TypeError("Illegal value: "+value+" (not an integer or Long)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); } - offset += 4; - var capacity4 = this.buffer.byteLength; - if (offset > capacity4) - this.resize((capacity4 *= 2) > offset ? capacity4 : offset); - offset -= 4; - this.view.setInt32(offset, value, this.littleEndian); - if (relative) this.offset += 4; - return this; + if (typeof value === 'number') + value = Long.fromNumber(value, false); + else if (typeof value === 'string') + value = Long.fromString(value, false); + else if (value.unsigned !== false) value = value.toSigned(); + var size = ByteBuffer.calculateVarint64(value), + part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + offset += size; + var capacity11 = this.buffer.byteLength; + if (offset > capacity11) + this.resize((capacity11 *= 2) > offset ? capacity11 : offset); + offset -= size; + switch (size) { + case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); + case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); + case 8 : this.view.setUint8(offset+7, size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F); + case 7 : this.view.setUint8(offset+6, size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F); + case 6 : this.view.setUint8(offset+5, size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F); + case 5 : this.view.setUint8(offset+4, size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F); + case 4 : this.view.setUint8(offset+3, size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F); + case 3 : this.view.setUint8(offset+2, size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F); + case 2 : this.view.setUint8(offset+1, size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F); + case 1 : this.view.setUint8(offset , size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F); + } + if (relative) { + this.offset += size; + return this; + } else { + return size; + } }; /** - * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * Writes a zig-zag encoded 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. * @expose */ - ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { + return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); + }; /** - * Reads a 32bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read + * Reads a 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint * @expose */ - ByteBufferPrototype.readInt32 = function(offset) { + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + // ref: src/google/protobuf/io/coded_stream.cc + var start = offset, + part0 = 0, + part1 = 0, + part2 = 0, + b = 0; + b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 14; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 21; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 14; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { + b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { + throw Error("Buffer overrun"); }}}}}}}}}} + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); + if (relative) { + this.offset = offset; + return value; + } else { + return { + 'value': value, + 'length': offset-start + }; } - var value = this.view.getInt32(offset, this.littleEndian); - if (relative) this.offset += 4; - return value; }; /** - * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read + * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint * @expose */ - ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; - - /** - * Writes a 32bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUint32 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value >>>= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 4; - var capacity5 = this.buffer.byteLength; - if (offset > capacity5) - this.resize((capacity5 *= 2) > offset ? capacity5 : offset); - offset -= 4; - this.view.setUint32(offset, value, this.littleEndian); - if (relative) this.offset += 4; - return this; + ByteBufferPrototype.readVarint64ZigZag = function(offset) { + var val = this.readVarint64(offset); + if (val && val['value'] instanceof Long) + val["value"] = ByteBuffer.zigZagDecode64(val["value"]); + else + val = ByteBuffer.zigZagDecode64(val); + return val; }; - /** - * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + } // Long - /** - * Reads a 32bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint32 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = this.view.getUint32(offset, this.littleEndian); - if (relative) this.offset += 4; - return value; - }; - /** - * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; - - // types/ints/int64 - - if (Long) { - - /** - * Writes a 64bit signed integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - else if (!(value && value instanceof Long)) - throw TypeError("Illegal value: "+value+" (not an integer or Long)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - offset += 8; - var capacity6 = this.buffer.byteLength; - if (offset > capacity6) - this.resize((capacity6 *= 2) > offset ? capacity6 : offset); - offset -= 8; - if (this.littleEndian) { - this.view.setInt32(offset , value.low , true); - this.view.setInt32(offset+4, value.high, true); - } else { - this.view.setInt32(offset , value.high, false); - this.view.setInt32(offset+4, value.low , false); - } - if (relative) this.offset += 8; - return this; - }; + // types/strings/cstring - /** - * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; - - /** - * Reads a 64bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readInt64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = this.littleEndian - ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) - : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), false); - if (relative) this.offset += 8; - return value; - }; + /** + * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + * characters itself. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * contained in `str` + 1 if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeCString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + var i, + k = str.length; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + for (i=0; i>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + offset += k+1; + var capacity12 = this.buffer.byteLength; + if (offset > capacity12) + this.resize((capacity12 *= 2) > offset ? capacity12 : offset); + offset -= k+1; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + this.view.setUint8(offset++, 0); + if (relative) { + this.offset = offset; + return this; + } + return k; + }; - /** - * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; - - /** - * Writes a 64bit unsigned integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - else if (!(value && value instanceof Long)) - throw TypeError("Illegal value: "+value+" (not an integer or Long)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - offset += 8; - var capacity7 = this.buffer.byteLength; - if (offset > capacity7) - this.resize((capacity7 *= 2) > offset ? capacity7 : offset); - offset -= 8; - if (this.littleEndian) { - this.view.setInt32(offset , value.low , true); - this.view.setInt32(offset+4, value.high, true); - } else { - this.view.setInt32(offset , value.high, false); - this.view.setInt32(offset+4, value.low , false); - } - if (relative) this.offset += 8; - return this; + /** + * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + * itself. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readCString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var start = offset, + temp; + // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + b = this.view.getUint8(offset++); + return b === 0 ? null : b; + }.bind(this), sd = stringDestination(), true); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start }; + } + }; - /** - * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. - * @function - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; - - /** - * Reads a 64bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUint64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = this.littleEndian - ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) - : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), true); - if (relative) this.offset += 8; - return value; - }; + // types/strings/istring - /** - * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + /** + * Writes a length as uint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeIString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var start = offset, + k; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + offset += 4+k; + var capacity13 = this.buffer.byteLength; + if (offset > capacity13) + this.resize((capacity13 *= 2) > offset ? capacity13 : offset); + offset -= 4+k; + this.view.setUint32(offset, k, this.littleEndian); + offset += 4; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start + 4 + k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; - } // Long + /** + * Reads a length as uint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readIString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 4 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + } + var temp = 0, + start = offset, + str; + temp = this.view.getUint32(offset, this.littleEndian); + offset += 4; + var k = offset + temp, + sd; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = stringDestination(), this.noAssert); + str = sd(); + if (relative) { + this.offset = offset; + return str; + } else { + return { + 'string': str, + 'length': offset - start + }; + } + }; + // types/strings/utf8string - // types/floats/float32 + /** + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_CHARS = 'c'; - /** - * Writes a 32bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat32 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 4; - var capacity8 = this.buffer.byteLength; - if (offset > capacity8) - this.resize((capacity8 *= 2) > offset ? capacity8 : offset); - offset -= 4; - this.view.setFloat32(offset, value, this.littleEndian); - if (relative) this.offset += 4; + /** + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_BYTES = 'b'; + + /** + * Writes an UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeUTF8String = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var k; + var start = offset; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + offset += k; + var capacity14 = this.buffer.byteLength; + if (offset > capacity14) + this.resize((capacity14 *= 2) > offset ? capacity14 : offset); + offset -= k; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (relative) { + this.offset = offset; return this; - }; + } + return offset - start; + }; - /** - * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; + /** + * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. + * @function + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; - /** - * Reads a 32bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat32 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; + /** + * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 characters + * @expose + */ + ByteBuffer.calculateUTF8Chars = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateUTF8Bytes = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; + }; + + /** + * Reads an UTF8 encoded string. + * @param {number} length Number of characters or bytes to read. + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { + if (typeof metrics === 'number') { + offset = metrics; + metrics = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; + if (!this.noAssert) { + if (typeof length !== 'number' || length % 1 !== 0) + throw TypeError("Illegal length: "+length+" (not an integer)"); + length |= 0; + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var i = 0, + start = offset, + sd; + if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser + sd = stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }.bind(this)); + if (i !== length) + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + } else if (metrics === ByteBuffer.METRICS_BYTES) { if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); + if (offset < 0 || offset + length > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); } - var value = this.view.getFloat32(offset, this.littleEndian); - if (relative) this.offset += 4; - return value; - }; + var k = offset + length; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = stringDestination(), this.noAssert); + if (offset !== k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + 'string': sd(), + 'length': offset - start + }; + } + } else + throw TypeError("Unsupported metrics: "+metrics); + }; - /** - * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + /** + * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. + * @function + * @param {number} length Number of characters or bytes to read + * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; - // types/floats/float64 + // types/strings/vstring - /** - * Writes a 64bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - offset += 8; - var capacity9 = this.buffer.byteLength; - if (offset > capacity9) - this.resize((capacity9 *= 2) > offset ? capacity9 : offset); - offset -= 8; - this.view.setFloat64(offset, value, this.littleEndian); - if (relative) this.offset += 8; + /** + * Writes a length as varint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeVString = function(str, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + var start = offset, + k, l; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); + offset += l+k; + var capacity15 = this.buffer.byteLength; + if (offset > capacity15) + this.resize((capacity15 *= 2) > offset ? capacity15 : offset); + offset -= l+k; + offset += this.writeVarint32(k, offset); + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start+k+l) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + if (relative) { + this.offset = offset; return this; - }; - - /** - * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + } + return offset - start; + }; - /** - * Reads a 64bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 8 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = this.view.getFloat64(offset, this.littleEndian); - if (relative) this.offset += 8; - return value; - }; + /** + * Reads a length as varint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readVString = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 1 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); + } + var temp = this.readVarint32(offset), + start = offset, + str; + offset += temp['length']; + temp = temp['value']; + var k = offset + temp, + sd = stringDestination(); + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd, this.noAssert); + str = sd(); + if (relative) { + this.offset = offset; + return str; + } else { + return { + 'string': str, + 'length': offset - start + }; + } + }; - /** - * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + /** + * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + * data's length. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` + * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` + */ + ByteBufferPrototype.append = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var length = source.limit - source.offset; + if (length <= 0) return this; // Nothing to append + offset += length; + var capacity16 = this.buffer.byteLength; + if (offset > capacity16) + this.resize((capacity16 *= 2) > offset ? capacity16 : offset); + offset -= length; + new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); + source.offset += length; + if (relative) this.offset += length; + return this; + }; - // types/varints/varint32 + /** + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#append + */ + ByteBufferPrototype.appendTo = function(target, offset) { + target.append(this, offset); + return this; + }; - /** - * Maximum number of bytes required to store a 32bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT32_BYTES = 5; + /** + * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + * disable them if your code already makes sure that everything is valid. + * @param {boolean} assert `true` to enable assertions, otherwise `false` + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.assert = function(assert) { + this.noAssert = !assert; + return this; + }; - /** - * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. - * @param {number} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} - * @expose - */ - ByteBuffer.calculateVarint32 = function(value) { - // ref: src/google/protobuf/io/coded_stream.cc - value = value >>> 0; - if (value < 1 << 7 ) return 1; - else if (value < 1 << 14) return 2; - else if (value < 1 << 21) return 3; - else if (value < 1 << 28) return 4; - else return 5; - }; + /** + * Gets the capacity of this ByteBuffer's backing buffer. + * @returns {number} Capacity of the backing buffer + * @expose + */ + ByteBufferPrototype.capacity = function() { + return this.buffer.byteLength; + }; - /** - * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. - * @param {number} n Signed 32bit integer - * @returns {number} Unsigned zigzag encoded 32bit integer - * @expose - */ - ByteBuffer.zigZagEncode32 = function(n) { - return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h - }; + /** + * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the + * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.clear = function() { + this.offset = 0; + this.limit = this.buffer.byteLength; + this.markedOffset = -1; + return this; + }; - /** - * Decodes a zigzag encoded signed 32bit integer. - * @param {number} n Unsigned zigzag encoded 32bit integer - * @returns {number} Signed 32bit integer - * @expose - */ - ByteBuffer.zigZagDecode32 = function(n) { - return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h - }; + /** + * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, + * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. + * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` + * @returns {!ByteBuffer} Cloned instance + * @expose + */ + ByteBufferPrototype.clone = function(copy) { + var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); + if (copy) { + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + new Uint8Array(bb.buffer).set(this.buffer); + bb.view = new DataView(bb.buffer); + } else { + bb.buffer = this.buffer; + bb.view = this.view; + } + bb.offset = this.offset; + bb.markedOffset = this.markedOffset; + bb.limit = this.limit; + return bb; + }; - /** - * Writes a 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var size = ByteBuffer.calculateVarint32(value), - b; - offset += size; - var capacity10 = this.buffer.byteLength; - if (offset > capacity10) - this.resize((capacity10 *= 2) > offset ? capacity10 : offset); - offset -= size; - // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.view.setUint8(offset, b = value | 0x80); - value >>>= 0; - if (value >= 1 << 7) { - b = (value >> 7) | 0x80; - this.view.setUint8(offset+1, b); - if (value >= 1 << 14) { - b = (value >> 14) | 0x80; - this.view.setUint8(offset+2, b); - if (value >= 1 << 21) { - b = (value >> 21) | 0x80; - this.view.setUint8(offset+3, b); - if (value >= 1 << 28) { - this.view.setUint8(offset+4, (value >> 28) & 0x0F); - size = 5; - } else { - this.view.setUint8(offset+3, b & 0x7F); - size = 4; - } - } else { - this.view.setUint8(offset+2, b & 0x7F); - size = 3; - } - } else { - this.view.setUint8(offset+1, b & 0x7F); - size = 2; - } - } else { - this.view.setUint8(offset, b & 0x7F); - size = 1; - } - if (relative) { - this.offset += size; - return this; - } - return size; - }; - - /** - * Writes a zig-zag encoded 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { - return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); - }; - - /** - * Reads a 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available - * to fully decode the varint. - * @expose - */ - ByteBufferPrototype.readVarint32 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - // ref: src/google/protobuf/io/coded_stream.cc - var size = 0, - value = 0 >>> 0, - temp, - ioffset; - do { - ioffset = offset+size; - if (!this.noAssert && ioffset > this.limit) { - var err = Error("Truncated"); - err['truncated'] = true; - throw err; - } - temp = this.view.getUint8(ioffset); - if (size < 5) - value |= ((temp&0x7F)<<(7*size)) >>> 0; - ++size; - } while ((temp & 0x80) === 0x80); - value = value | 0; // Make sure to discard the higher order bits - if (relative) { - this.offset += size; - return value; - } - return { - "value": value, - "length": size - }; - }; - - /** - * Reads a zig-zag encoded 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint32ZigZag = function(offset) { - var val = this.readVarint32(offset); - if (typeof val === 'object') - val["value"] = ByteBuffer.zigZagDecode32(val["value"]); - else - val = ByteBuffer.zigZagDecode32(val); - return val; - }; - - // types/varints/varint64 - - if (Long) { - - /** - * Maximum number of bytes required to store a 64bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT64_BYTES = 10; - - /** - * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. - * @param {number|!Long} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} - * @expose - */ - ByteBuffer.calculateVarint64 = function(value) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - // ref: src/google/protobuf/io/coded_stream.cc - var part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - if (part2 == 0) { - if (part1 == 0) { - if (part0 < 1 << 14) - return part0 < 1 << 7 ? 1 : 2; - else - return part0 < 1 << 21 ? 3 : 4; - } else { - if (part1 < 1 << 14) - return part1 < 1 << 7 ? 5 : 6; - else - return part1 < 1 << 21 ? 7 : 8; - } - } else - return part2 < 1 << 7 ? 9 : 10; - }; - - /** - * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. - * @param {number|!Long} value Signed long - * @returns {!Long} Unsigned zigzag encoded long - * @expose - */ - ByteBuffer.zigZagEncode64 = function(value) { - if (typeof value === 'number') - value = Long.fromNumber(value, false); - else if (typeof value === 'string') - value = Long.fromString(value, false); - else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); - }; - - /** - * Decodes a zigzag encoded signed 64bit integer. - * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number - * @returns {!Long} Signed long - * @expose - */ - ByteBuffer.zigZagDecode64 = function(value) { - if (typeof value === 'number') - value = Long.fromNumber(value, false); - else if (typeof value === 'string') - value = Long.fromString(value, false); - else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); - }; - - /** - * Writes a 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64 = function(value, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value === 'number') - value = Long.fromNumber(value); - else if (typeof value === 'string') - value = Long.fromString(value); - else if (!(value && value instanceof Long)) - throw TypeError("Illegal value: "+value+" (not an integer or Long)"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (typeof value === 'number') - value = Long.fromNumber(value, false); - else if (typeof value === 'string') - value = Long.fromString(value, false); - else if (value.unsigned !== false) value = value.toSigned(); - var size = ByteBuffer.calculateVarint64(value), - part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - offset += size; - var capacity11 = this.buffer.byteLength; - if (offset > capacity11) - this.resize((capacity11 *= 2) > offset ? capacity11 : offset); - offset -= size; - switch (size) { - case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); - case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); - case 8 : this.view.setUint8(offset+7, size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F); - case 7 : this.view.setUint8(offset+6, size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F); - case 6 : this.view.setUint8(offset+5, size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F); - case 5 : this.view.setUint8(offset+4, size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F); - case 4 : this.view.setUint8(offset+3, size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F); - case 3 : this.view.setUint8(offset+2, size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F); - case 2 : this.view.setUint8(offset+1, size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F); - case 1 : this.view.setUint8(offset , size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F); - } - if (relative) { - this.offset += size; - return this; - } else { - return size; - } - }; - - /** - * Writes a zig-zag encoded 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { - return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); - }; - - /** - * Reads a 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64 = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - // ref: src/google/protobuf/io/coded_stream.cc - var start = offset, - part0 = 0, - part1 = 0, - part2 = 0, - b = 0; - b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw Error("Buffer overrun"); }}}}}}}}}} - var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); - if (relative) { - this.offset = offset; - return value; - } else { - return { - 'value': value, - 'length': offset-start - }; - } - }; - - /** - * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64ZigZag = function(offset) { - var val = this.readVarint64(offset); - if (val && val['value'] instanceof Long) - val["value"] = ByteBuffer.zigZagDecode64(val["value"]); - else - val = ByteBuffer.zigZagDecode64(val); - return val; - }; - - } // Long - - - // types/strings/cstring - - /** - * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - * characters itself. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * contained in `str` + 1 if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeCString = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - var i, - k = str.length; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - for (i=0; i>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; - offset += k+1; - var capacity12 = this.buffer.byteLength; - if (offset > capacity12) - this.resize((capacity12 *= 2) > offset ? capacity12 : offset); - offset -= k+1; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - this.view.setUint8(offset++, 0); - if (relative) { - this.offset = offset; - return this; - } - return k; - }; - - /** - * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - * itself. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readCString = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var start = offset, - temp; - // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: - var sd, b = -1; - utfx.decodeUTF8toUTF16(function() { - if (b === 0) return null; - if (offset >= this.limit) - throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - b = this.view.getUint8(offset++); - return b === 0 ? null : b; - }.bind(this), sd = stringDestination(), true); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - }; - - // types/strings/istring - - /** - * Writes a length as uint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeIString = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; - offset += 4+k; - var capacity13 = this.buffer.byteLength; - if (offset > capacity13) - this.resize((capacity13 *= 2) > offset ? capacity13 : offset); - offset -= 4+k; - this.view.setUint32(offset, k, this.littleEndian); - offset += 4; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - if (offset !== start + 4 + k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as uint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readIString = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 4 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var temp = 0, - start = offset, - str; - temp = this.view.getUint32(offset, this.littleEndian); - offset += 4; - var k = offset + temp, - sd; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = stringDestination(), this.noAssert); - str = sd(); - if (relative) { - this.offset = offset; - return str; - } else { - return { - 'string': str, - 'length': offset - start - }; - } - }; - - // types/strings/utf8string - - /** - * Metrics representing number of UTF8 characters. Evaluates to `c`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_CHARS = 'c'; - - /** - * Metrics representing number of bytes. Evaluates to `b`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_BYTES = 'b'; - - /** - * Writes an UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeUTF8String = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var k; - var start = offset; - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; - offset += k; - var capacity14 = this.buffer.byteLength; - if (offset > capacity14) - this.resize((capacity14 *= 2) > offset ? capacity14 : offset); - offset -= k; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. - * @function - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; - - /** - * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 characters - * @expose - */ - ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[0]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateUTF8Bytes = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[1]; - }; - - /** - * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read. - * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { - if (typeof metrics === 'number') { - offset = metrics; - metrics = undefined; - } - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; - if (!this.noAssert) { - if (typeof length !== 'number' || length % 1 !== 0) - throw TypeError("Illegal length: "+length+" (not an integer)"); - length |= 0; - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var i = 0, - start = offset, - sd; - if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = stringDestination(); - utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; - }.bind(this), function(cp) { - ++i; utfx.UTF8toUTF16(cp, sd); - }.bind(this)); - if (i !== length) - throw RangeError("Illegal range: Truncated data, "+i+" == "+length); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - } else if (metrics === ByteBuffer.METRICS_BYTES) { - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + length > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var k = offset + length; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = stringDestination(), this.noAssert); - if (offset !== k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - 'string': sd(), - 'length': offset - start - }; - } - } else - throw TypeError("Unsupported metrics: "+metrics); - }; - - /** - * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. - * @function - * @param {number} length Number of characters or bytes to read - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; - - // types/strings/vstring - - /** - * Writes a length as varint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeVString = function(str, offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k, l; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; - l = ByteBuffer.calculateVarint32(k); - offset += l+k; - var capacity15 = this.buffer.byteLength; - if (offset > capacity15) - this.resize((capacity15 *= 2) > offset ? capacity15 : offset); - offset -= l+k; - offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - if (offset !== start+k+l) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as varint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readVString = function(offset) { - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 1 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var temp = this.readVarint32(offset), - start = offset, - str; - offset += temp['length']; - temp = temp['value']; - var k = offset + temp, - sd = stringDestination(); - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd, this.noAssert); - str = sd(); - if (relative) { - this.offset = offset; - return str; - } else { - return { - 'string': str, - 'length': offset - start - }; - } - }; - - - /** - * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - * data's length. - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` - * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` - */ - ByteBufferPrototype.append = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var length = source.limit - source.offset; - if (length <= 0) return this; // Nothing to append - offset += length; - var capacity16 = this.buffer.byteLength; - if (offset > capacity16) - this.resize((capacity16 *= 2) > offset ? capacity16 : offset); - offset -= length; - new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); - source.offset += length; - if (relative) this.offset += length; - return this; - }; - - /** - * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the - specified offset up to the length of this ByteBuffer's data. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#append - */ - ByteBufferPrototype.appendTo = function(target, offset) { - target.append(this, offset); - return this; - }; - - /** - * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - * disable them if your code already makes sure that everything is valid. - * @param {boolean} assert `true` to enable assertions, otherwise `false` - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.assert = function(assert) { - this.noAssert = !assert; - return this; - }; - - /** - * Gets the capacity of this ByteBuffer's backing buffer. - * @returns {number} Capacity of the backing buffer - * @expose - */ - ByteBufferPrototype.capacity = function() { - return this.buffer.byteLength; - }; - - /** - * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the - * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.clear = function() { - this.offset = 0; - this.limit = this.buffer.byteLength; - this.markedOffset = -1; - return this; - }; - - /** - * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, - * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. - * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` - * @returns {!ByteBuffer} Cloned instance - * @expose - */ - ByteBufferPrototype.clone = function(copy) { - var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); - if (copy) { - bb.buffer = new ArrayBuffer(this.buffer.byteLength); - new Uint8Array(bb.buffer).set(this.buffer); - bb.view = new DataView(bb.buffer); - } else { - bb.buffer = this.buffer; - bb.view = this.view; - } - bb.offset = this.offset; - bb.markedOffset = this.markedOffset; - bb.limit = this.limit; - return bb; - }; - - /** - * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes - * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and - * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.compact = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === 0 && end === this.buffer.byteLength) - return this; // Already compacted - var len = end - begin; - if (len === 0) { - this.buffer = EMPTY_BUFFER; - this.view = null; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = 0; - return this; - } - var buffer = new ArrayBuffer(len); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); - this.buffer = buffer; - this.view = new DataView(buffer); + /** + * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes + * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and + * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.compact = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === 0 && end === this.buffer.byteLength) + return this; // Already compacted + var len = end - begin; + if (len === 0) { + this.buffer = EMPTY_BUFFER; + this.view = null; if (this.markedOffset >= 0) this.markedOffset -= begin; this.offset = 0; - this.limit = len; + this.limit = 0; return this; - }; + } + var buffer = new ArrayBuffer(len); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); + this.buffer = buffer; + this.view = new DataView(buffer); + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = len; + return this; + }; - /** - * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Copy - * @expose - */ - ByteBufferPrototype.copy = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return new ByteBuffer(0, this.littleEndian, this.noAssert); - var capacity = end - begin, - bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); - bb.offset = 0; - bb.limit = capacity; - if (bb.markedOffset >= 0) bb.markedOffset -= begin; - this.copyTo(bb, 0, begin, end); - return bb; - }; + /** + * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Copy + * @expose + */ + ByteBufferPrototype.copy = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return new ByteBuffer(0, this.littleEndian, this.noAssert); + var capacity = end - begin, + bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); + bb.offset = 0; + bb.limit = capacity; + if (bb.markedOffset >= 0) bb.markedOffset -= begin; + this.copyTo(bb, 0, begin, end); + return bb; + }; - /** - * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} - * by the number of bytes copied if omitted. - * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the - * number of bytes copied if omitted. - * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { - var relative, - targetRelative; - if (!this.noAssert) { - if (!ByteBuffer.isByteBuffer(target)) - throw TypeError("Illegal target: Not a ByteBuffer"); - } - targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; - sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; - sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; + /** + * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} + * by the number of bytes copied if omitted. + * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the + * number of bytes copied if omitted. + * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + var relative, + targetRelative; + if (!this.noAssert) { + if (!ByteBuffer.isByteBuffer(target)) + throw TypeError("Illegal target: Not a ByteBuffer"); + } + targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; + sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; + sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; - if (targetOffset < 0 || targetOffset > target.buffer.byteLength) - throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); - if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) - throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); + if (targetOffset < 0 || targetOffset > target.buffer.byteLength) + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); + if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); - var len = sourceLimit - sourceOffset; - if (len === 0) - return target; // Nothing to copy + var len = sourceLimit - sourceOffset; + if (len === 0) + return target; // Nothing to copy - target.ensureCapacity(targetOffset + len); + target.ensureCapacity(targetOffset + len); - new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); + new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); - if (relative) this.offset += len; - if (targetRelative) target.offset += len; + if (relative) this.offset += len; + if (targetRelative) target.offset += len; - return this; - }; + return this; + }; - /** - * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the - * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - * the required capacity will be used instead. - * @param {number} capacity Required capacity - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.ensureCapacity = function(capacity) { - var current = this.buffer.byteLength; - if (current < capacity) - return this.resize((current *= 2) > capacity ? current : capacity); - return this; - }; + /** + * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the + * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + * the required capacity will be used instead. + * @param {number} capacity Required capacity + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.ensureCapacity = function(capacity) { + var current = this.buffer.byteLength; + if (current < capacity) + return this.resize((current *= 2) > capacity ? current : capacity); + return this; + }; - /** - * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. - * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} this - * @expose - * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes - */ - ByteBufferPrototype.fill = function(value, begin, end) { - var relative = typeof begin === 'undefined'; - if (relative) begin = this.offset; - if (typeof value === 'string' && value.length > 0) - value = value.charCodeAt(0); - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof value !== 'number' || value % 1 !== 0) - throw TypeError("Illegal value: "+value+" (not an integer)"); - value |= 0; - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin >= end) - return this; // Nothing to fill - while (begin < end) this.view.setUint8(begin++, value); - if (relative) this.offset = begin; - return this; - }; + /** + * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. + * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} this + * @expose + * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes + */ + ByteBufferPrototype.fill = function(value, begin, end) { + var relative = typeof begin === 'undefined'; + if (relative) begin = this.offset; + if (typeof value === 'string' && value.length > 0) + value = value.charCodeAt(0); + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof value !== 'number' || value % 1 !== 0) + throw TypeError("Illegal value: "+value+" (not an integer)"); + value |= 0; + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin >= end) + return this; // Nothing to fill + while (begin < end) this.view.setUint8(begin++, value); + if (relative) this.offset = begin; + return this; + }; - /** - * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and - * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.flip = function() { - this.limit = this.offset; - this.offset = 0; - return this; - }; - /** - * Marks an offset on this ByteBuffer to be used later. - * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. - * @returns {!ByteBuffer} this - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @see ByteBuffer#reset - * @expose - */ - ByteBufferPrototype.mark = function(offset) { - offset = typeof offset === 'undefined' ? this.offset : offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - this.markedOffset = offset; - return this; - }; - /** - * Sets the byte order. - * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.order = function(littleEndian) { - if (!this.noAssert) { - if (typeof littleEndian !== 'boolean') - throw TypeError("Illegal littleEndian: Not a boolean"); - } - this.littleEndian = !!littleEndian; - return this; - }; + /** + * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and + * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.flip = function() { + this.limit = this.offset; + this.offset = 0; + return this; + }; + /** + * Marks an offset on this ByteBuffer to be used later. + * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. + * @returns {!ByteBuffer} this + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @see ByteBuffer#reset + * @expose + */ + ByteBufferPrototype.mark = function(offset) { + offset = typeof offset === 'undefined' ? this.offset : offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + this.markedOffset = offset; + return this; + }; + /** + * Sets the byte order. + * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.order = function(littleEndian) { + if (!this.noAssert) { + if (typeof littleEndian !== 'boolean') + throw TypeError("Illegal littleEndian: Not a boolean"); + } + this.littleEndian = !!littleEndian; + return this; + }; - /** - * Switches (to) little endian byte order. - * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.LE = function(littleEndian) { - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; - return this; - }; + /** + * Switches (to) little endian byte order. + * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.LE = function(littleEndian) { + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; + return this; + }; - /** - * Switches (to) big endian byte order. - * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.BE = function(bigEndian) { - this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; - return this; - }; - /** - * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be - * modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` - * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` - */ - ByteBufferPrototype.prepend = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } - var relative = typeof offset === 'undefined'; - if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: "+offset+" (not an integer)"); - offset >>>= 0; - if (offset < 0 || offset + 0 > this.buffer.byteLength) - throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var len = source.limit - source.offset; - if (len <= 0) return this; // Nothing to prepend - var diff = len - offset; - if (diff > 0) { // Not enough space before offset, so resize + move - var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - var arrayView = new Uint8Array(buffer); - arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); - this.buffer = buffer; - this.view = new DataView(buffer); - this.offset += diff; - if (this.markedOffset >= 0) this.markedOffset += diff; - this.limit += diff; - offset += diff; - } else { - var arrayView = new Uint8Array(this.buffer); - } - arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); + /** + * Switches (to) big endian byte order. + * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.BE = function(bigEndian) { + this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; + return this; + }; + /** + * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be + * modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` + * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` + */ + ByteBufferPrototype.prepend = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var len = source.limit - source.offset; + if (len <= 0) return this; // Nothing to prepend + var diff = len - offset; + if (diff > 0) { // Not enough space before offset, so resize + move + var buffer = new ArrayBuffer(this.buffer.byteLength + diff); + var arrayView = new Uint8Array(buffer); + arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); + this.buffer = buffer; + this.view = new DataView(buffer); + this.offset += diff; + if (this.markedOffset >= 0) this.markedOffset += diff; + this.limit += diff; + offset += diff; + } else { + var arrayView = new Uint8Array(this.buffer); + } + arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); - source.offset = source.limit; - if (relative) - this.offset -= len; - return this; - }; + source.offset = source.limit; + if (relative) + this.offset -= len; + return this; + }; - /** - * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#prepend - */ - ByteBufferPrototype.prependTo = function(target, offset) { - target.prepend(this, offset); - return this; - }; - /** - * Prints debug information about this ByteBuffer's contents. - * @param {function(string)=} out Output function to call, defaults to console.log - * @expose - */ - ByteBufferPrototype.printDebug = function(out) { - if (typeof out !== 'function') out = console.log.bind(console); - out( - this.toString()+"\n"+ - "-------------------------------------------------------------------\n"+ - this.toDebug(/* columns */ true) - ); - }; + /** + * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#prepend + */ + ByteBufferPrototype.prependTo = function(target, offset) { + target.prepend(this, offset); + return this; + }; + /** + * Prints debug information about this ByteBuffer's contents. + * @param {function(string)=} out Output function to call, defaults to console.log + * @expose + */ + ByteBufferPrototype.printDebug = function(out) { + if (typeof out !== 'function') out = console.log.bind(console); + out( + this.toString()+"\n"+ + "-------------------------------------------------------------------\n"+ + this.toDebug(/* columns */ true) + ); + }; - /** - * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}, so this returns `limit - offset`. - * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. - * @expose - */ - ByteBufferPrototype.remaining = function() { - return this.limit - this.offset; - }; - /** - * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} - * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been - * marked, sets `offset = 0`. - * @returns {!ByteBuffer} this - * @see ByteBuffer#mark - * @expose - */ - ByteBufferPrototype.reset = function() { - if (this.markedOffset >= 0) { - this.offset = this.markedOffset; - this.markedOffset = -1; - } else { - this.offset = 0; - } - return this; - }; - /** - * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - * large or larger. - * @param {number} capacity Capacity required - * @returns {!ByteBuffer} this - * @throws {TypeError} If `capacity` is not a number - * @throws {RangeError} If `capacity < 0` - * @expose - */ - ByteBufferPrototype.resize = function(capacity) { - if (!this.noAssert) { - if (typeof capacity !== 'number' || capacity % 1 !== 0) - throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); - capacity |= 0; - if (capacity < 0) - throw RangeError("Illegal capacity: 0 <= "+capacity); - } - if (this.buffer.byteLength < capacity) { - var buffer = new ArrayBuffer(capacity); - new Uint8Array(buffer).set(new Uint8Array(this.buffer)); - this.buffer = buffer; - this.view = new DataView(buffer); - } - return this; - }; - /** - * Reverses this ByteBuffer's contents. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.reverse = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return this; // Nothing to reverse - Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); - this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? - return this; - }; - /** - * Skips the next `length` bytes. This will just advance - * @param {number} length Number of bytes to skip. May also be negative to move the offset back. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.skip = function(length) { - if (!this.noAssert) { - if (typeof length !== 'number' || length % 1 !== 0) - throw TypeError("Illegal length: "+length+" (not an integer)"); - length |= 0; - } - var offset = this.offset + length; - if (!this.noAssert) { - if (offset < 0 || offset > this.buffer.byteLength) - throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); - } - this.offset = offset; - return this; - }; + /** + * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}, so this returns `limit - offset`. + * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. + * @expose + */ + ByteBufferPrototype.remaining = function() { + return this.limit - this.offset; + }; + /** + * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} + * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been + * marked, sets `offset = 0`. + * @returns {!ByteBuffer} this + * @see ByteBuffer#mark + * @expose + */ + ByteBufferPrototype.reset = function() { + if (this.markedOffset >= 0) { + this.offset = this.markedOffset; + this.markedOffset = -1; + } else { + this.offset = 0; + } + return this; + }; + /** + * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + * large or larger. + * @param {number} capacity Capacity required + * @returns {!ByteBuffer} this + * @throws {TypeError} If `capacity` is not a number + * @throws {RangeError} If `capacity < 0` + * @expose + */ + ByteBufferPrototype.resize = function(capacity) { + if (!this.noAssert) { + if (typeof capacity !== 'number' || capacity % 1 !== 0) + throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); + capacity |= 0; + if (capacity < 0) + throw RangeError("Illegal capacity: 0 <= "+capacity); + } + if (this.buffer.byteLength < capacity) { + var buffer = new ArrayBuffer(capacity); + new Uint8Array(buffer).set(new Uint8Array(this.buffer)); + this.buffer = buffer; + this.view = new DataView(buffer); + } + return this; + }; + /** + * Reverses this ByteBuffer's contents. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.reverse = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return this; // Nothing to reverse + Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); + this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? + return this; + }; + /** + * Skips the next `length` bytes. This will just advance + * @param {number} length Number of bytes to skip. May also be negative to move the offset back. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.skip = function(length) { + if (!this.noAssert) { + if (typeof length !== 'number' || length % 1 !== 0) + throw TypeError("Illegal length: "+length+" (not an integer)"); + length |= 0; + } + var offset = this.offset + length; + if (!this.noAssert) { + if (offset < 0 || offset > this.buffer.byteLength) + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); + } + this.offset = offset; + return this; + }; + + /** + * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} + * @expose + */ + ByteBufferPrototype.slice = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var bb = this.clone(); + bb.offset = begin; + bb.limit = end; + return bb; + }; + /** + * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this + * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if + * possible. Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toBuffer = function(forceCopy) { + var offset = this.offset, + limit = this.limit; + if (offset > limit) { + var t = offset; + offset = limit; + limit = t; + } + if (!this.noAssert) { + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: Not an integer"); + offset >>>= 0; + if (typeof limit !== 'number' || limit % 1 !== 0) + throw TypeError("Illegal limit: Not an integer"); + limit >>>= 0; + if (offset < 0 || offset > limit || limit > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); + } + // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is + // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) + return this.buffer; + if (offset === limit) + return EMPTY_BUFFER; + var buffer = new ArrayBuffer(limit - offset); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); + return buffer; + }; + + /** + * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this + * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of + * {@link ByteBuffer#toBuffer}. + * @function + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. + * Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + + /** + * Converts the ByteBuffer's contents to a string. + * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows + * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with + * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {string} String representation + * @throws {Error} If `encoding` is invalid + * @expose + */ + ByteBufferPrototype.toString = function(encoding, begin, end) { + if (typeof encoding === 'undefined') + return "ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; + switch (encoding) { + case "utf8": + return this.toUTF8(begin, end); + case "base64": + return this.toBase64(begin, end); + case "hex": + return this.toHex(begin, end); + case "binary": + return this.toBinary(begin, end); + case "debug": + return this.toDebug(); + case "columns": + return this.toColumns(); + default: + throw Error("Unsupported encoding: "+encoding); + } + }; + + // lxiv-embeddable + + /** + * lxiv-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/lxiv for details + */ + var lxiv = function() { + "use strict"; /** - * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} - * @expose - */ - ByteBufferPrototype.slice = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var bb = this.clone(); - bb.offset = begin; - bb.limit = end; - return bb; - }; - /** - * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if - * possible. Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose + * lxiv namespace. + * @type {!Object.} + * @exports lxiv */ - ByteBufferPrototype.toBuffer = function(forceCopy) { - var offset = this.offset, - limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } - if (!this.noAssert) { - if (typeof offset !== 'number' || offset % 1 !== 0) - throw TypeError("Illegal offset: Not an integer"); - offset >>>= 0; - if (typeof limit !== 'number' || limit % 1 !== 0) - throw TypeError("Illegal limit: Not an integer"); - limit >>>= 0; - if (offset < 0 || offset > limit || limit > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); - } - // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is - // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) - return this.buffer; - if (offset === limit) - return EMPTY_BUFFER; - var buffer = new ArrayBuffer(limit - offset); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); - return buffer; - }; + var lxiv = {}; /** - * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of - * {@link ByteBuffer#toBuffer}. - * @function - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. - * Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose + * Character codes for output. + * @type {!Array.} + * @inner */ - ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + var aout = [ + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 + ]; /** - * Converts the ByteBuffer's contents to a string. - * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows - * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with - * highlighted offsets. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {string} String representation - * @throws {Error} If `encoding` is invalid - * @expose + * Character codes for input. + * @type {!Array.} + * @inner */ - ByteBufferPrototype.toString = function(encoding, begin, end) { - if (typeof encoding === 'undefined') - return "ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; - if (typeof encoding === 'number') - encoding = "utf8", - begin = encoding, - end = begin; - switch (encoding) { - case "utf8": - return this.toUTF8(begin, end); - case "base64": - return this.toBase64(begin, end); - case "hex": - return this.toHex(begin, end); - case "binary": - return this.toBinary(begin, end); - case "debug": - return this.toDebug(); - case "columns": - return this.toColumns(); - default: - throw Error("Unsupported encoding: "+encoding); + var ain = []; + for (var i=0, k=aout.length; i>2)&0x3f]); + t = (b&0x3)<<4; + if ((b = src()) !== null) { + t |= (b>>4)&0xf; + dst(aout[(t|((b>>4)&0xf))&0x3f]); + t = (b&0xf)<<2; + if ((b = src()) !== null) + dst(aout[(t|((b>>6)&0x3))&0x3f]), + dst(aout[b&0x3f]); + else + dst(aout[t&0x3f]), + dst(61); + } else + dst(aout[t&0x3f]), + dst(61), + dst(61); } }; - // lxiv-embeddable - /** - * lxiv-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/lxiv for details + * Decodes base64 char codes to bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + * @throws {Error} If a character code is invalid */ - var lxiv = function() { - "use strict"; - - /** - * lxiv namespace. - * @type {!Object.} - * @exports lxiv - */ - var lxiv = {}; - - /** - * Character codes for output. - * @type {!Array.} - * @inner - */ - var aout = [ - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 - ]; - - /** - * Character codes for input. - * @type {!Array.} - * @inner - */ - var ain = []; - for (var i=0, k=aout.length; i>2)&0x3f]); - t = (b&0x3)<<4; - if ((b = src()) !== null) { - t |= (b>>4)&0xf; - dst(aout[(t|((b>>4)&0xf))&0x3f]); - t = (b&0xf)<<2; - if ((b = src()) !== null) - dst(aout[(t|((b>>6)&0x3))&0x3f]), - dst(aout[b&0x3f]); - else - dst(aout[t&0x3f]), - dst(61); - } else - dst(aout[t&0x3f]), - dst(61), - dst(61); - } - }; - - /** - * Decodes base64 char codes to bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - * @throws {Error} If a character code is invalid - */ - lxiv.decode = function(src, dst) { - var c, t1, t2; - function fail(c) { - throw Error("Illegal character code: "+c); - } - while ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') fail(c); + lxiv.decode = function(src, dst) { + var c, t1, t2; + function fail(c) { + throw Error("Illegal character code: "+c); + } + while ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') fail(c); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') fail(c); + dst((t1<<2)>>>0|(t2&0x30)>>4); if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') fail(c); - dst((t1<<2)>>>0|(t2&0x30)>>4); + t1 = ain[c]; + if (typeof t1 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); if ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') + t2 = ain[c]; + if (typeof t2 === 'undefined') if (c === 61) break; else fail(c); - dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); - if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') - if (c === 61) break; else fail(c); - dst(((t1&0x3)<<6)>>>0|t2); - } + dst(((t1&0x3)<<6)>>>0|t2); } } } - }; - - /** - * Tests if a string is valid base64. - * @param {string} str String to test - * @returns {boolean} `true` if valid, otherwise `false` - */ - lxiv.test = function(str) { - return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); - }; - - return lxiv; - }(); - - // encodings/base64 - - /** - * Encodes this ByteBuffer's contents to a base64 encoded string. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. - * @returns {string} Base64 encoded string - * @expose - */ - ByteBufferPrototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); } - var sd; lxiv.encode(function() { - return begin < end ? this.view.getUint8(begin++) : null; - }.bind(this), sd = stringDestination()); - return sd(); }; /** - * Decodes a base64 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose + * Tests if a string is valid base64. + * @param {string} str String to test + * @returns {boolean} `true` if valid, otherwise `false` */ - ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); - } - var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), - i = 0; - lxiv.decode(stringSource(str), function(b) { - bb.view.setUint8(i++, b); - }); - bb.limit = i; - return bb; + lxiv.test = function(str) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); }; - /** - * Encodes a binary string to base64 like `window.btoa` does. - * @param {string} str Binary string - * @returns {string} Base64 encoded string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa - * @expose - */ - ByteBuffer.btoa = function(str) { - return ByteBuffer.fromBinary(str).toBase64(); - }; + return lxiv; + }(); - /** - * Decodes a base64 encoded string to binary like `window.atob` does. - * @param {string} b64 Base64 encoded string - * @returns {string} Binary string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob - * @expose - */ - ByteBuffer.atob = function(b64) { - return ByteBuffer.fromBase64(b64).toBinary(); - }; + // encodings/base64 + + /** + * Encodes this ByteBuffer's contents to a base64 encoded string. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. + * @returns {string} Base64 encoded string + * @expose + */ + ByteBufferPrototype.toBase64 = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var sd; lxiv.encode(function() { + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); + return sd(); + }; - // encodings/binary + /** + * Decodes a base64 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 4 !== 0) + throw TypeError("Illegal str: Length not a multiple of 4"); + } + var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; + return bb; + }; - /** - * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. - * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. - * @returns {string} Binary encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toBinary = function(begin, end) { - begin = typeof begin === 'undefined' ? this.offset : begin; - end = typeof end === 'undefined' ? this.limit : end; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return ""; - var cc = [], pt = []; - while (begin < end) { - cc.push(this.view.getUint8(begin++)); - if (cc.length >= 1024) - pt.push(String.fromCharCode.apply(String, cc)), - cc = []; - } - return pt.join('') + String.fromCharCode.apply(String, cc); - }; + /** + * Encodes a binary string to base64 like `window.btoa` does. + * @param {string} str Binary string + * @returns {string} Base64 encoded string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa + * @expose + */ + ByteBuffer.btoa = function(str) { + return ByteBuffer.fromBinary(str).toBase64(); + }; - /** - * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - } - var i = 0, k = str.length, charCode, - bb = new ByteBuffer(k, littleEndian, noAssert); - while (i 255) - throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); - bb.view.setUint8(i++, charCode); - } - bb.limit = k; - return bb; - }; + /** + * Decodes a base64 encoded string to binary like `window.atob` does. + * @param {string} b64 Base64 encoded string + * @returns {string} Binary string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob + * @expose + */ + ByteBuffer.atob = function(b64) { + return ByteBuffer.fromBase64(b64).toBinary(); + }; - // encodings/debug + // encodings/binary - /** - * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - * * `<` : offset, - * * `'` : markedOffset, - * * `>` : limit, - * * `|` : offset and limit, - * * `[` : offset and markedOffset, - * * `]` : markedOffset and limit, - * * `!` : offset, markedOffset and limit - * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` - * @returns {string|!Array.} Debug string or array of lines if `asArray = true` - * @expose - * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` - * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` - * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` - * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` - */ - ByteBufferPrototype.toDebug = function(columns) { - var i = -1, - k = this.buffer.byteLength, - b, - hex = "", - asc = "", - out = ""; - while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; - } - } - ++i; + /** + * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Binary encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toBinary = function(begin, end) { + begin = typeof begin === 'undefined' ? this.offset : begin; + end = typeof end === 'undefined' ? this.limit : end; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + if (begin === end) + return ""; + var cc = [], pt = []; + while (begin < end) { + cc.push(this.view.getUint8(begin++)); + if (cc.length >= 1024) + pt.push(String.fromCharCode.apply(String, cc)), + cc = []; + } + return pt.join('') + String.fromCharCode.apply(String, cc); + }; + + /** + * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + } + var i = 0, k = str.length, charCode, + bb = new ByteBuffer(k, littleEndian, noAssert); + while (i 255) + throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + bb.view.setUint8(i++, charCode); + } + bb.limit = k; + return bb; + }; + + // encodings/debug + + /** + * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + * * `<` : offset, + * * `'` : markedOffset, + * * `>` : limit, + * * `|` : offset and limit, + * * `[` : offset and markedOffset, + * * `]` : markedOffset and limit, + * * `!` : offset, markedOffset and limit + * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` + * @returns {string|!Array.} Debug string or array of lines if `asArray = true` + * @expose + * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` + * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` + * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` + * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` + */ + ByteBufferPrototype.toDebug = function(columns) { + var i = -1, + k = this.buffer.byteLength, + b, + hex = "", + asc = "", + out = ""; + while (i 0 && i % 16 === 0 && i !== k) { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; - hex = asc = ""; - } + asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; } - if (i === this.offset && i === this.limit) - hex += i === this.markedOffset ? "!" : "|"; - else if (i === this.offset) - hex += i === this.markedOffset ? "[" : "<"; - else if (i === this.limit) - hex += i === this.markedOffset ? "]" : ">"; - else - hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); } - if (columns && hex !== " ") { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; + ++i; + if (columns) { + if (i > 0 && i % 16 === 0 && i !== k) { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + hex = asc = ""; + } } - return columns ? out : hex; - }; + if (i === this.offset && i === this.limit) + hex += i === this.markedOffset ? "!" : "|"; + else if (i === this.offset) + hex += i === this.markedOffset ? "[" : "<"; + else if (i === this.limit) + hex += i === this.markedOffset ? "]" : ">"; + else + hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); + } + if (columns && hex !== " ") { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + } + return columns ? out : hex; + }; - /** - * Decodes a hex encoded string with marked offsets to a ByteBuffer. - * @param {string} str Debug string to decode (not be generated with `columns = true`) - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - * @see ByteBuffer#toDebug - */ - ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { - var k = str.length, - bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); - var i = 0, j = 0, ch, b, - rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? - fail = false; - while (i': - if (!noAssert) { - if (hl) { - fail = true; break; - } - hl = true; + ho = true; + } + bb.offset = j; + rs = false; + break; + case ']': + if (!noAssert) { + if (hl || hm) { + fail = true; break; } - bb.limit = j; - rs = false; - break; - case "'": - if (!noAssert) { - if (hm) { - fail = true; break; - } - hm = true; + hl = hm = true; + } + bb.limit = bb.markedOffset = j; + rs = false; + break; + case '>': + if (!noAssert) { + if (hl) { + fail = true; break; } - bb.markedOffset = j; - rs = false; - break; - case ' ': - rs = false; - break; - default: - if (!noAssert) { - if (rs) { - fail = true; break; - } + hl = true; + } + bb.limit = j; + rs = false; + break; + case "'": + if (!noAssert) { + if (hm) { + fail = true; break; } - b = parseInt(ch+str.charAt(i++), 16); - if (!noAssert) { - if (isNaN(b) || b < 0 || b > 255) - throw TypeError("Illegal str: Not a debug encoded string"); + hm = true; + } + bb.markedOffset = j; + rs = false; + break; + case ' ': + rs = false; + break; + default: + if (!noAssert) { + if (rs) { + fail = true; break; } - bb.view.setUint8(j++, b); - rs = true; - } - if (fail) - throw TypeError("Illegal str: Invalid symbol at "+i); - } - if (!noAssert) { - if (!ho || !hl) - throw TypeError("Illegal str: Missing offset or limit"); - if (j 255) + throw TypeError("Illegal str: Not a debug encoded string"); + } + bb.view.setUint8(j++, b); + rs = true; } - return bb; - }; + if (fail) + throw TypeError("Illegal str: Invalid symbol at "+i); + } + if (!noAssert) { + if (!ho || !hl) + throw TypeError("Illegal str: Missing offset or limit"); + if (j>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var out = new Array(end - begin), - b; - while (begin < end) { - b = this.view.getUint8(begin++); - if (b < 0x10) - out.push("0", b.toString(16)); - else out.push(b.toString(16)); - } - return out.join(''); - }; + /** + * Encodes this ByteBuffer's contents to a hex encoded string. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Hex encoded string + * @expose + */ + ByteBufferPrototype.toHex = function(begin, end) { + begin = typeof begin === 'undefined' ? this.offset : begin; + end = typeof end === 'undefined' ? this.limit : end; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var out = new Array(end - begin), + b; + while (begin < end) { + b = this.view.getUint8(begin++); + if (b < 0x10) + out.push("0", b.toString(16)); + else out.push(b.toString(16)); + } + return out.join(''); + }; - /** - * Decodes a hex encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromHex = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 2 !== 0) - throw TypeError("Illegal str: Length not a multiple of 2"); - } - var k = str.length, - bb = new ByteBuffer((k / 2) | 0, littleEndian), - b; - for (var i=0, j=0; i 255) - throw TypeError("Illegal str: Contains non-hex characters"); - bb.view.setUint8(j++, b); - } - bb.limit = j; - return bb; - }; + /** + * Decodes a hex encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromHex = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 2 !== 0) + throw TypeError("Illegal str: Length not a multiple of 2"); + } + var k = str.length, + bb = new ByteBuffer((k / 2) | 0, littleEndian), + b; + for (var i=0, j=0; i 255) + throw TypeError("Illegal str: Contains non-hex characters"); + bb.view.setUint8(j++, b); + } + bb.limit = j; + return bb; + }; - // utfx-embeddable + // utfx-embeddable + + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; /** - * utfx-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/utfx for details + * utfx namespace. + * @inner + * @type {!Object.} */ - var utfx = function() { - "use strict"; - - /** - * utfx namespace. - * @inner - * @type {!Object.} - */ - var utfx = {}; - - /** - * Maximum valid code point. - * @type {number} - * @const - */ - utfx.MAX_CODEPOINT = 0x10FFFF; - - /** - * Encodes UTF8 code points to UTF8 bytes. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte - */ - utfx.encodeUTF8 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, - src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp < 0x80) - dst(cp&0x7F); - else if (cp < 0x800) - dst(((cp>>6)&0x1F)|0xC0), - dst((cp&0x3F)|0x80); - else if (cp < 0x10000) - dst(((cp>>12)&0x0F)|0xE0), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - else - dst(((cp>>18)&0x07)|0xF0), - dst(((cp>>12)&0x3F)|0x80), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - cp = null; - } - }; + var utfx = {}; - /** - * Decodes UTF8 bytes to UTF8 code points. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the - * remaining bytes. - */ - utfx.decodeUTF8 = function(src, dst) { - var a, b, c, d, fail = function(b) { - b = b.slice(0, b.indexOf(null)); - var err = Error(b.toString()); - err.name = "TruncatedError"; - err['bytes'] = b; - throw err; - }; - while ((a = src()) !== null) { - if ((a&0x80) === 0) - dst(a); - else if ((a&0xE0) === 0xC0) - ((b = src()) === null) && fail([a, b]), - dst(((a&0x1F)<<6) | (b&0x3F)); - else if ((a&0xF0) === 0xE0) - ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), - dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); - else if ((a&0xF8) === 0xF0) - ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), - dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); - else throw RangeError("Illegal starting byte: "+a); - } + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; }; - - /** - * Converts UTF16 characters to UTF8 code points. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Code points destination as a function successively called with each converted code - * point. - */ - utfx.UTF16toUTF8 = function(src, dst) { - var c1, c2 = null; - while (true) { - if ((c1 = c2 !== null ? c2 : src()) === null) - break; - if (c1 >= 0xD800 && c1 <= 0xDFFF) { - if ((c2 = src()) !== null) { - if (c2 >= 0xDC00 && c2 <= 0xDFFF) { - dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); - c2 = null; continue; - } + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; } } - dst(c1); - } - if (c2 !== null) dst(c2); - }; - - /** - * Converts UTF8 code points to UTF16 characters. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a code point is out of range - */ - utfx.UTF8toUTF16 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp <= 0xFFFF) - dst(cp); - else - cp -= 0x10000, - dst((cp>>10)+0xD800), - dst((cp%0x400)+0xDC00); - cp = null; } - }; - - /** - * Converts and encodes UTF16 characters to UTF8 bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` - * if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - */ - utfx.encodeUTF16toUTF8 = function(src, dst) { - utfx.UTF16toUTF8(src, function(cp) { - utfx.encodeUTF8(cp, dst); - }); - }; - - /** - * Decodes and converts UTF8 bytes to UTF16 characters. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. - */ - utfx.decodeUTF8toUTF16 = function(src, dst) { - utfx.decodeUTF8(src, function(cp) { - utfx.UTF8toUTF16(cp, dst); - }); - }; - - /** - * Calculates the byte length of an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Byte length - */ - utfx.calculateCodePoint = function(cp) { - return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }; + dst(c1); + } + if (c2 !== null) dst(c2); + }; - /** - * Calculates the number of UTF8 bytes required to store UTF8 code points. - * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively - * `null` if there are no more code points left. - * @returns {number} The number of UTF8 bytes required - */ - utfx.calculateUTF8 = function(src) { - var cp, l=0; - while ((cp = src()) !== null) - l += utfx.calculateCodePoint(cp); - return l; - }; + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; - /** - * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. - * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. - */ - utfx.calculateUTF16asUTF8 = function(src) { - var n=0, l=0; - utfx.UTF16toUTF8(src, function(cp) { - ++n; l += utfx.calculateCodePoint(cp); - }); - return [n,l]; - }; + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; - return utfx; - }(); + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; - // encodings/utf8 + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; /** - * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded - * string. - * @returns {string} Hex encoded string - * @throws {RangeError} If `offset > limit` - * @expose + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required */ - ByteBufferPrototype.toUTF8 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var sd; try { - utfx.decodeUTF8toUTF16(function() { - return begin < end ? this.view.getUint8(begin++) : null; - }.bind(this), sd = stringDestination()); - } catch (e) { - if (begin !== end) - throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); - } - return sd(); + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += utfx.calculateCodePoint(cp); + return l; }; /** - * Decodes an UTF8 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. */ - ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), - i = 0; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - bb.view.setUint8(i++, b); + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += utfx.calculateCodePoint(cp); }); - bb.limit = i; - return bb; + return [n,l]; }; + return utfx; + }(); - return ByteBuffer; - } + // encodings/utf8 - /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) - module['exports'] = (function() { - var Long; try { Long = require("long"); } catch (e) {} - return loadByteBuffer(Long); - })(); - /* AMD */ else if (typeof define === 'function' && define["amd"]) - define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); - /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); + /** + * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded + * string. + * @returns {string} Hex encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toUTF8 = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { + if (typeof begin !== 'number' || begin % 1 !== 0) + throw TypeError("Illegal begin: Not an integer"); + begin >>>= 0; + if (typeof end !== 'number' || end % 1 !== 0) + throw TypeError("Illegal end: Not an integer"); + end >>>= 0; + if (begin < 0 || begin > end || end > this.buffer.byteLength) + throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); + } + var sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); + } catch (e) { + if (begin !== end) + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); + } + return sd(); + }; -})(this); + /** + * Decodes an UTF8 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { + if (!noAssert) + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; + return bb; + }; + + + return ByteBuffer; +}); diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index c4709b1..df1408c 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -4,10 +4,10 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -(function(s){function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?s:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b< -a.length?a.charCodeAt(b++):null}}function t(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+u.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0=== -(a&&a instanceof f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= +function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof +f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); @@ -41,47 +41,47 @@ b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeErro (this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e=0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++), d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d, length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(n(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=t(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== -typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(n(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+ -b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,h=b;d=l.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);b-=d;l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(n(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)"); -a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=t();l.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,m;e=l.a(n(a),this.noAssert)[1];m=f.calculateVarint32(e);b+=m+e;var g=this.buffer.byteLength; -b>g&&this.resize((g*=2)>b?g:b);b-=m+e;b+=this.writeVarint32(e,b);l.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+e+m)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+m));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=t();l.b(function(){return a>>=0;if(0>c|| +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;m.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== +typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=m.a(n(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;m.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,h=b;d=m.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);b-=d;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)"); +a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=s();m.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;m.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,l;e=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(e);b+=l+e;var g=this.buffer.byteLength; +b>g&&this.resize((g*=2)>b?g:b);b-=l+e;b+=this.writeVarint32(e,b);m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+e+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+l));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();m.b(function(){return a>>=0;if(0>c|| c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength}; e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&& -(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=s,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset= +(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset= 0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,m;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(m="undefined"===typeof b)?a.offset:b|0;c=(e= -"undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);m&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b= +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(e= +"undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);l&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b= this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer"); c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset); -if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer); return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return s;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+ -this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+ +this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, 112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&& (f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;v.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>= -0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"): -b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,m=0,g,k=!1,l=!1,n=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=m;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=m;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString()); +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>= +0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"): +b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,l=0,g=0;le||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString()); b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>= d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c= -0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a< -b?this.view.getUint8(a++):null}.bind(this),c=t())}catch(d){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(l.a(n(a),!0)[1],b,c),e=0;l.c(n(a),function(a){d.view.setUint8(e++,a)});d.limit=e;return d};return f}"function"===typeof require&&"object"===typeof module&&module&&"object"===typeof exports&&exports?module.exports=function(){var k;try{k=require("long")}catch(f){}return u(k)}(): -"function"===typeof define&&define.amd?define("ByteBuffer",["Long"],function(k){return u(k)}):(s.dcodeIO=s.dcodeIO||{}).ByteBuffer=u(s.dcodeIO.Long)})(this); +0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.b(function(){return a< +b?this.view.getUint8(a++):null}.bind(this),c=s())}catch(d){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(m.a(n(a),!0)[1],b,c),e=0;m.c(n(a),function(a){d.view.setUint8(e++,a)});d.limit=e;return d};return f} +if("function"===typeof define&&define.amd)define(["Long"],t);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){var x=module,y,z;try{z=require("long")}catch(A){}y=t(z);x.exports=y}else(this.dcodeIO=this.dcodeIO||{}).ByteBuffer=t(this.dcodeIO.Long); diff --git a/dist/ByteBufferAB_DataView.min.js.gz b/dist/ByteBufferAB_DataView.min.js.gz index 66161607c291af9b0ee760d39e3236bfdb6cc4e3..d2ff86f05c79a0d3c3ba6a434166dc7b072f4c84 100644 GIT binary patch delta 6725 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 b=d@q$e_-3%w|#NXg5UZF>uW{y6QTeBYVt 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 M2hIQ9VN;?20BG|mrvLx| diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index 43fdcc2..31d0e38 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":87, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["global","loadByteBuffer","Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","value","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","require","module","exports","define"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","value","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/src/ByteBufferAB.js b/src/ByteBufferAB.js index 27bb8b6..80d9ffc 100644 --- a/src/ByteBufferAB.js +++ b/src/ByteBufferAB.js @@ -21,29 +21,22 @@ * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // -(function(global) { - "use strict"; - - /** - * @param {function(new: Long, number, number, boolean=)=} Long - * @returns {function(new: ByteBuffer, number=, boolean=, boolean=)}} - * @inner - */ - function loadByteBuffer(Long) { - - //? include("ByteBuffer.js"); - - return ByteBuffer; - } +(function(global, factory) { - /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) + /* AMD */ if (typeof define === 'function' && define["amd"]) + define(["Long"], factory); + /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} - return loadByteBuffer(Long); + return factory(Long); })(); - /* AMD */ else if (typeof define === 'function' && define["amd"]) - define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); + +})(this, function(Long) { + "use strict"; + + //? include("ByteBuffer.js"); -})(this); + return ByteBuffer; +}); diff --git a/src/ByteBufferAB_DataView.js b/src/ByteBufferAB_DataView.js index 0f10b59..ae1943a 100644 --- a/src/ByteBufferAB_DataView.js +++ b/src/ByteBufferAB_DataView.js @@ -21,29 +21,22 @@ * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details */ // -(function(global) { - "use strict"; - - /** - * @param {function(new: Long, number, number, boolean=)=} Long - * @returns {function(new: ByteBuffer, number=, boolean=, boolean=)}} - * @inner - */ - function loadByteBuffer(Long) { - - //? include("ByteBuffer.js"); - - return ByteBuffer; - } +(function(global, factory) { - /* CommonJS */ if (typeof require === 'function' && typeof module === 'object' && module && typeof exports === 'object' && exports) + /* AMD */ if (typeof define === 'function' && define["amd"]) + define(["Long"], factory); + /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} - return loadByteBuffer(Long); + return factory(Long); })(); - /* AMD */ else if (typeof define === 'function' && define["amd"]) - define("ByteBuffer", ["Long"], function(Long) { return loadByteBuffer(Long); }); /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = loadByteBuffer(global["dcodeIO"]["Long"]); + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); + +})(this, function(Long) { + "use strict"; + + //? include("ByteBuffer.js"); -})(this); + return ByteBuffer; +}); diff --git a/tests/suite.js b/tests/suite.js index ab437cf..fe4b6d9 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -985,8 +985,7 @@ function makeSuite(ByteBuffer) { }); vm.runInNewContext(code, sandbox, "amd-sandbox"); test.ok(sandbox.define.called); - test.equal(sandbox.define.called[0], "ByteBuffer"); - test.equal(sandbox.define.called[1][0], "Long"); + test.equal(sandbox.define.called[0][0], "Long"); test.done(); }; From 87f7a3821baab76a2b4b4a521fe5e39e93cd90dd Mon Sep 17 00:00:00 2001 From: dcode Date: Wed, 17 Jun 2015 17:12:07 +0200 Subject: [PATCH 64/91] Also separate sources --- dist/ByteBufferAB.js | 3 +- dist/ByteBufferAB.min.js.gz | Bin 8321 -> 8321 bytes dist/ByteBufferAB.min.map | 2 +- dist/ByteBufferAB_DataView.js | 5 ++-- dist/ByteBufferAB_DataView.min.js | 2 +- dist/ByteBufferAB_DataView.min.js.gz | Bin 7669 -> 7664 bytes dist/ByteBufferAB_DataView.min.map | 2 +- scripts/build.js | 4 +-- src/ByteBuffer.js | 2 +- src/ByteBufferAB_DataView.js | 42 --------------------------- src/encodings/base64.js | 2 +- src/encodings/binary.js | 2 +- src/encodings/hex.js | 2 +- src/encodings/utf8.js | 2 +- src/{ByteBufferAB.js => wrap.js} | 7 +++-- 15 files changed, 17 insertions(+), 60 deletions(-) delete mode 100644 src/ByteBufferAB_DataView.js rename src/{ByteBufferAB.js => wrap.js} (93%) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 5d54108..fae995c 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -19,7 +19,7 @@ * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details - */ // + */ (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) @@ -3695,6 +3695,5 @@ return bb; }; - return ByteBuffer; }); diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 5a30f651a3065b9361245fddae9c1bf5d4de1de4..d708d7b3bdf7daba25dcf1eb071330d2859e084f 100644 GIT binary patch delta 15 WcmZp4Y; - * [BUILD] ByteBufferAB_DataView - Backing buffer: ArrayBuffer, Accessor: DataView + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details - */ // + */ (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) @@ -3400,6 +3400,5 @@ return bb; }; - return ByteBuffer; }); diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index df1408c..960139e 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -1,6 +1,6 @@ /* ByteBuffer.js (c) 2015 Daniel Wirtz - [BUILD] ByteBufferAB_DataView - Backing buffer: ArrayBuffer, Accessor: DataView + [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ diff --git a/dist/ByteBufferAB_DataView.min.js.gz b/dist/ByteBufferAB_DataView.min.js.gz index d2ff86f05c79a0d3c3ba6a434166dc7b072f4c84..8af7eb9594797b421dc9839cd219308d6e620501 100644 GIT binary patch delta 7500 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 W*tYg% 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 diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index 31d0e38..f213d75 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":87, -"mappings":"A;;;;;;AAkCS,QAAA,EAAQ,CAACA,CAAD,CAAO,CAeHC,QAAA,EAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAChC,WAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeD,CAAAI,iBADf,CAE4B,YAA5B,GAAI,MAAOF,EAAX,GACIA,CADJ,CACmBF,CAAAK,eADnB,CAEwB,YAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeH,CAAAM,iBADf,CAEA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,kBAAX,CAAN,CACJL,CAAA,CAAe,CAAEA,CAAAA,CACjBC,EAAA,CAAW,CAAEA,CAAAA,CALF,CAaf,IAAAK,OAAA,CAA2B,CAAb,GAAAP,CAAA,CAAiBQ,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBT,CAAhB,CAO9C,KAAAU,KAAA,CAAyB,CAAb,GAAAV,CAAA,CAAiB,IAAjB,CAAwB,IAAIW,QAAJ,CAAa,IAAAJ,OAAb,CASpC,KAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAad,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CApEsC,CA2J5Da,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf;AAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ,CAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CA1F7BxB,CAAAgC,QAAA,CAAqB,WAQrBhC,EAAAiC,cAAA,CAA2B,CAAA,CAQ3BjC,EAAAkC,WAAA,CAAwB,CAAA,CAOxBlC,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAkC,WAO5BlC,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAM1B,KAAIoC,EAAsBnC,CAAA+B,UAA1B,CAQItB,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CARnB,CAeIgB,EAAqBE,MAAAQ,aAsCzBpC,EAAAqC,SAAA,CAAsBC,QAAQ,EAAG,CAC7B,MAAO1B,SADsB,CAajCZ,EAAAuC,SAAA,CAAsBC,QAAQ,CAACvC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf;AAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAAyC,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoB1C,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAOyC,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACIzC,CAEA,CAFWD,CAEX,CADAA,CACA,CADe0C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAI5C,EAAW,CAAf,CACSiB,EAAE,CADX,CACc4B,EAAEH,CAAAxB,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0C4B,CAA1C,CAA6C,EAAE5B,CAA/C,CACSlB,CAAA+C,aAAA,CAAwBJ,CAAA,CAAQzB,CAAR,CAAxB,CAGL,GAFIyB,CAAA,CAAQzB,CAAR,CAEJ,CAFiBlB,CAAAgD,KAAA,CAAgBL,CAAA,CAAQzB,CAAR,CAAhB,CAA4B0B,CAA5B,CAEjB,EADAzB,CACA,CADSwB,CAAA,CAAQzB,CAAR,CAAAH,MACT,CAD4B4B,CAAA,CAAQzB,CAAR,CAAAL,OAC5B,CAAa,CAAb,CAAIM,CAAJ,GAAgBlB,CAAhB,EAA4BkB,CAA5B,CAEJ,IAAiB,CAAjB,GAAIlB,CAAJ,CACI,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACP8C,EAAAA,CAAK,IAAIjD,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAELQ,EAAAA,CAAO,IAAIuC,UAAJ,CAAeD,CAAAzC,OAAf,CACN,KAALU,CAAK,CAAH,CAAG,CAAOA,CAAP,CAAS4B,CAAT,CAAA,CACDK,CAEA,CAFKR,CAAA,CAAQzB,CAAA,EAAR,CAEL,CADAC,CACA,CADSgC,CAAApC,MACT,CADoBoC,CAAAtC,OACpB,CAAc,CAAd,EAAIM,CAAJ,GACAR,CAAAyC,IAAA,CAASC,CAAA,IAAIH,UAAJ,CAAeC,CAAA3C,OAAf,CAAA6C,UAAA,CAAmCF,CAAAtC,OAAnC,CAA8CsC,CAAApC,MAA9C,CAAT,CAAkEkC,CAAApC,OAAlE,CACA,CAAAoC,CAAApC,OAAA,EAAaM,CAFb,CAIJ8B,EAAAlC,MAAA,CAAWkC,CAAApC,OACXoC,EAAApC,OAAA,CAAY,CACZ,OAAOoC,EA3B6D,CAoCxEjD,EAAA+C,aAAA,CAA0BO,QAAQ,CAACL,CAAD,CAAK,CACnC,MAA4C,CAAA,CAA5C,IAAQA,CAAR,EAAcA,CAAd;AAA4BjD,CAA5B,CADmC,CAQvCA,EAAAuD,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAO9C,YADkB,CAgB7BV,EAAAgD,KAAA,CAAkBS,QAAQ,CAACjD,CAAD,CAASoC,CAAT,CAAmB1C,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAOyC,EAAX,GACIzC,CAEA,CAFWD,CAEX,CADAA,CACA,CADe0C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOrC,EAAX,CAGI,OAFwB,WAEhBoC,GAFJ,MAAOA,EAEHA,GADJA,CACIA,CADO,MACPA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAO5C,EAAA0D,WAAA,CAAsBlD,CAAtB,CAA8BN,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAA2D,QAAA,CAAmBnD,CAAnB,CAA2BN,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA4D,WAAA,CAAsBpD,CAAtB,CAA8BN,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA6D,SAAA,CAAoBrD,CAApB,CAA4BN,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA8D,UAAA,CAAqBtD,CAArB,CAA6BN,CAA7B,CACX,SACI,KAAM6D,MAAA,CAAM,wBAAN,CAA+BnB,CAA/B,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAIpC,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAMwD,UAAA,CAAU,gBAAV,CAAN,CAEJ,GAAIhE,CAAA+C,aAAA,CAAwBvC,CAAxB,CAAJ,CAGI,MAFAyC,EAEOA;AAFFd,CAAA8B,MAAAC,KAAA,CAA+B1D,CAA/B,CAEEyC,CADPA,CAAAnC,aACOmC,CADY,EACZA,CAAAA,CAEX,IAAIzC,CAAJ,WAAsB0C,WAAtB,CACID,CACA,CADK,IAAIjD,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIK,CAAAW,OAAJ,GACI8B,CAAAzC,OAGA,CAHYA,CAAAA,OAGZ,CAFAyC,CAAApC,OAEA,CAFYL,CAAA2D,WAEZ,CADAlB,CAAAlC,MACA,CADWP,CAAA2D,WACX,CAD+B3D,CAAA4D,WAC/B,CAAAnB,CAAAtC,KAAA,CAAU,IAAIC,QAAJ,CAAaJ,CAAAA,OAAb,CAJd,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACHuC,CACA,CADK,IAAIjD,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIK,CAAA4D,WAAJ,GACInB,CAAAzC,OAGA,CAHYA,CAGZ,CAFAyC,CAAApC,OAEA,CAFY,CAEZ,CADAoC,CAAAlC,MACA,CADWP,CAAA4D,WACX,CAAAnB,CAAAtC,KAAA,CAA8B,CAApB,CAAAH,CAAA4D,WAAA,CAAwB,IAAIxD,QAAJ,CAAaJ,CAAb,CAAxB,CAA+C,IAJ7D,CAFG,KAQA,IAA+C,gBAA/C,GAAI6D,MAAAtC,UAAAuC,SAAAJ,KAAA,CAA+B1D,CAA/B,CAAJ,CAGH,IAFAyC,CAEK,CAFA,IAAIjD,CAAJ,CAAeQ,CAAAW,OAAf,CAA8BjB,CAA9B,CAA4CC,CAA5C,CAEA,CADL8C,CAAAlC,MACK,CADMP,CAAAW,OACN,CAAAD,CAAA,CAAE,CAAP,CAAUA,CAAV,CAAYV,CAAAW,OAAZ,CAA2B,EAAED,CAA7B,CACI+B,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAjB,CAAoBV,CAAA,CAAOU,CAAP,CAApB,CAJD,KAMH,MAAM8C,UAAA,CAAU,gBAAV,CAAN;AACJ,MAAOf,EAvD0D,CAiErEd,EAAAqC,UAAA,CAAgCC,QAAQ,CAACtD,CAAD,CAASN,CAAT,CAAiB,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAA4D,WAApC,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAA4D,WAA/D,CAAN,CALY,CAOpB,IAAIO,EAAQ,IAAAA,MAAA,CAAW9D,CAAX,CAAmBA,CAAnB,CAA4BM,CAA5B,CACRuD,EAAJ,GAAc,IAAA7D,OAAd,EAA6BM,CAA7B,CACA,OAAOwD,EAZ8C,CA0BzDxC,EAAAyC,WAAA,CAAiCzC,CAAA0C,OAWjC1C,EAAA2C,UAAA,CAAgCC,QAAQ,CAACC,CAAD,CAAQnE,CAAR,CAAgB,CACpD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAIoE,EAAY,IAAAzE,OAAA4D,WACZvD,EAAJ,CAAaoE,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmBpE,CAAnB,CAA4BoE,CAA5B,CAAwCpE,CAApD,CAEJ,KAAAF,KAAAwE,QAAA,CADAtE,CACA,CADU,CACV,CAA0BmE,CAA1B,CACIN,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB6C,CA+BxDsB,EAAAiD,UAAA,CAAgCjD,CAAA2C,UAQhC3C,EAAAkD,SAAA,CAA+BC,QAAQ,CAACzE,CAAD,CAAS,CAC5C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAA4E,QAAA,CAAkB1E,CAAlB,CACR6D,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZqC,CAsBhD7C,EAAAqD,SAAA,CAA+BrD,CAAAkD,SAS/BlD,EAAAsD,WAAA,CAAiCC,QAAQ,CAACV,CAAD,CAAQnE,CAAR,CAAgB,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB;AAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAI8E,EAAY,IAAAnF,OAAA4D,WACZvD,EAAJ,CAAa8E,CAAb,EACI,IAAAT,OAAA,CAAY,CAACS,CAAD,EAAc,CAAd,EAAmB9E,CAAnB,CAA4B8E,CAA5B,CAAwC9E,CAApD,CAEJ,KAAAF,KAAA4D,SAAA,CADA1D,CACA,CADU,CACV,CAA2BmE,CAA3B,CACIN,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDsB,EAAAyD,WAAA,CAAiCzD,CAAAsD,WAQjCtD,EAAA0D,UAAA,CAAgCC,QAAQ,CAACjF,CAAD,CAAS,CAC7C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAAoF,SAAA,CAAmBlF,CAAnB,CACR6D,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZsC,CAsBjD7C,EAAA6D,UAAA,CAAgC7D,CAAA0D,UAYhC1D,EAAA8D,WAAA,CAAiCC,QAAQ,CAAClB,CAAD,CAAQnE,CAAR,CAAgB,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAIsF,EAAY,IAAA3F,OAAA4D,WACZvD,EAAJ,CAAasF,CAAb,EACI,IAAAjB,OAAA,CAAY,CAACiB,CAAD,EAAc,CAAd,EAAmBtF,CAAnB,CAA4BsF,CAA5B,CAAwCtF,CAApD,CAEJ,KAAAF,KAAAyF,SAAA,CADAvF,CACA,CADU,CACV,CAA2BmE,CAA3B,CAAkC,IAAA9E,aAAlC,CACIwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CAgCzDsB,EAAAkE,WAAA,CAAiClE,CAAA8D,WAUjC9D,EAAAmE,UAAA,CAAgCC,QAAQ,CAAC1F,CAAD,CAAS,CAC7C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAA6F,SAAA,CAAmB3F,CAAnB,CAA2B,IAAAX,aAA3B,CACRwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZsC,CAwBjD7C,EAAAsE,UAAA,CAAgCtE,CAAAmE,UAUhCnE,EAAAuE,YAAA,CAAkCC,QAAQ,CAAC3B,CAAD,CAAQnE,CAAR,CAAgB,CACtD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC;AAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAI+F,EAAY,IAAApG,OAAA4D,WACZvD,EAAJ,CAAa+F,CAAb,EACI,IAAA1B,OAAA,CAAY,CAAC0B,CAAD,EAAc,CAAd,EAAmB/F,CAAnB,CAA4B+F,CAA5B,CAAwC/F,CAApD,CAEJ,KAAAF,KAAAkG,UAAA,CADAhG,CACA,CADU,CACV,CAA4BmE,CAA5B,CAAmC,IAAA9E,aAAnC,CACIwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CAgC1DsB,EAAA2E,YAAA,CAAkC3E,CAAAuE,YAUlCvE,EAAA4E,WAAA,CAAiCC,QAAQ,CAACnG,CAAD,CAAS,CAC9C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN;AALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAAsG,UAAA,CAAoBpG,CAApB,CAA4B,IAAAX,aAA5B,CACRwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZuC,CAwBlD7C,EAAA+E,WAAA,CAAiC/E,CAAA4E,WAUjC5E,EAAAgF,WAAA,CAAiCC,QAAQ,CAACpC,CAAD,CAAQnE,CAAR,CAAgB,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA;AAAU,CACV,KAAIwG,EAAY,IAAA7G,OAAA4D,WACZvD,EAAJ,CAAawG,CAAb,EACI,IAAAnC,OAAA,CAAY,CAACmC,CAAD,EAAc,CAAd,EAAmBxG,CAAnB,CAA4BwG,CAA5B,CAAwCxG,CAApD,CAEJ,KAAAF,KAAA2G,SAAA,CADAzG,CACA,CADU,CACV,CAA2BmE,CAA3B,CAAkC,IAAA9E,aAAlC,CACIwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA6BzDsB,EAAAoF,SAAA,CAA+BpF,CAAAgF,WAQ/BhF,EAAAqF,UAAA,CAAgCC,QAAQ,CAAC5G,CAAD,CAAS,CAC7C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA2B,IAAAX,aAA3B,CACRwE;CAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZsC,CAqBjD7C,EAAAwF,QAAA,CAA8BxF,CAAAqF,UAQ9BrF,EAAAyF,YAAA,CAAkCC,QAAQ,CAAC7C,CAAD,CAAQnE,CAAR,CAAgB,CACtD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAUpBvD,CAAA,EAAU,CACV,KAAIiH,EAAY,IAAAtH,OAAA4D,WACZvD,EAAJ,CAAaiH,CAAb,EACI,IAAA5C,OAAA,CAAY,CAAC4C,CAAD;AAAc,CAAd,EAAmBjH,CAAnB,CAA4BiH,CAA5B,CAAwCjH,CAApD,CAEJ,KAAAF,KAAAoH,UAAA,CADAlH,CACA,CADU,CACV,CAA4BmE,CAA5B,CAAmC,IAAA9E,aAAnC,CACIwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA8B1DsB,EAAA6F,YAAA,CAAkC7F,CAAAyF,YAQlCzF,EAAA8F,WAAA,CAAiCC,QAAQ,CAACrH,CAAD,CAAS,CAC9C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAAwH,UAAA,CAAoBtH,CAApB,CAA4B,IAAAX,aAA5B,CACRwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZuC,CAsBlD7C,EAAAiG,WAAA;AAAiCjG,CAAA8F,WAI7BlI,EAAJ,GASIoC,CAAAkG,WA+JA,CA/JiCC,QAAQ,CAACtD,CAAD,CAAQnE,CAAR,CAAgB,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,CACIA,CAAA,CAAQjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BjF,EAA1B,CAAN,CACD,KAAMiE,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN;AAXY,CAaC,QAArB,GAAI,MAAOY,EAAX,CACIA,CADJ,CACYjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CAHZ,CAIAnE,EAAA,EAAU,CACV,KAAI4H,EAAY,IAAAjI,OAAA4D,WACZvD,EAAJ,CAAa4H,CAAb,EACI,IAAAvD,OAAA,CAAY,CAACuD,CAAD,EAAc,CAAd,EAAmB5H,CAAnB,CAA4B4H,CAA5B,CAAwC5H,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA6BmE,CAAA0D,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA/H,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA0B,CAA1B,CAA6BmE,CAAA2D,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAhI,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA6BmE,CAAA2D,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAhI,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA0B,CAA1B,CAA6BmE,CAAA0D,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOIhE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjC8C,CA+JzD,CApHAsB,CAAAyG,UAoHA,CApHgCzG,CAAAkG,WAoHhC,CA5GAlG,CAAA0G,UA4GA,CA5GgCC,QAAQ,CAACjI,CAAD,CAAS,CAC7C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAA9E,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAY,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAId,CAAJ,CAAS,IAAAY,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF6D,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAdsC,CA4GjD,CArFA7C,CAAA4G,SAqFA,CArF+B5G,CAAA0G,UAqF/B,CA5EA1G,CAAA6G,YA4EA,CA5EkCC,QAAQ,CAACjE,CAAD,CAAQnE,CAAR,CAAgB,CACtD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,CACIA,CAAA,CAAQjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA;AAAQjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BjF,EAA1B,CAAN,CACD,KAAMiE,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOY,EAAX,CACIA,CADJ,CACYjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CAHZ,CAIAnE,EAAA,EAAU,CACV,KAAIqI,EAAY,IAAA1I,OAAA4D,WACZvD,EAAJ,CAAaqI,CAAb,EACI,IAAAhE,OAAA,CAAY,CAACgE,CAAD,EAAc,CAAd,EAAmBrI,CAAnB,CAA4BqI,CAA5B,CAAwCrI,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA2G,SAAA,CAAmBzG,CAAnB;AAA6BmE,CAAA0D,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAA/H,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA0B,CAA1B,CAA6BmE,CAAA2D,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAhI,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA6BmE,CAAA2D,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAhI,KAAA2G,SAAA,CAAmBzG,CAAnB,CAA0B,CAA1B,CAA6BmE,CAAA0D,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOIhE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjC+C,CA4E1D,CAhCAsB,CAAAgH,YAgCA,CAhCkChH,CAAA6G,YAgClC,CAxBA7G,CAAAiH,WAwBA,CAxBiCC,QAAQ,CAACxI,CAAD,CAAS,CAC9C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAA9E,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAY,KAAA+G,SAAA,CAAmB7G,CAAnB;AAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAId,CAAJ,CAAS,IAAAY,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAA+G,SAAA,CAAmB7G,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACF6D,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAduC,CAwBlD,CAAA7C,CAAAmH,WAAA,CAAiCnH,CAAAiH,WAxKrC,CAsLAjH,EAAAoH,aAAA,CAAmCC,QAAQ,CAACxE,CAAD,CAAQnE,CAAR,CAAgB,CACvD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CASpBvD,CAAA,EAAU,CACV,KAAI4I,EAAY,IAAAjJ,OAAA4D,WACZvD,EAAJ,CAAa4I,CAAb,EACI,IAAAvE,OAAA,CAAY,CAACuE,CAAD,EAAc,CAAd,EAAmB5I,CAAnB,CAA4B4I,CAA5B,CAAwC5I,CAApD,CAEJ,KAAAF,KAAA+I,WAAA,CADA7I,CACA,CADU,CACV,CAA6BmE,CAA7B,CAAoC,IAAA9E,aAApC,CACIwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DsB,EAAAwH,WAAA,CAAiCxH,CAAAoH,aAQjCpH,EAAAyH,YAAA,CAAkCC,QAAQ,CAAChJ,CAAD,CAAS,CAC/C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN;AALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAAmJ,WAAA,CAAqBjJ,CAArB,CAA6B,IAAAX,aAA7B,CACRwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAOmE,EAZwC,CAsBnD7C,EAAA4H,UAAA,CAAgC5H,CAAAyH,YAWhCzH,EAAA6H,aAAA,CAAmCC,QAAQ,CAACjF,CAAD,CAAQnE,CAAR,CAAgB,CACvD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CASpBvD,CAAA,EAAU,CACV,KAAIqJ,EAAY,IAAA1J,OAAA4D,WACZvD;CAAJ,CAAaqJ,CAAb,EACI,IAAAhF,OAAA,CAAY,CAACgF,CAAD,EAAc,CAAd,EAAmBrJ,CAAnB,CAA4BqJ,CAA5B,CAAwCrJ,CAApD,CAEJ,KAAAF,KAAAwJ,WAAA,CADAtJ,CACA,CADU,CACV,CAA6BmE,CAA7B,CAAoC,IAAA9E,aAApC,CACIwE,EAAJ,GAAc,IAAA7D,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DsB,EAAAiI,YAAA,CAAkCjI,CAAA6H,aAQlC7H,EAAAkI,YAAA,CAAkCC,QAAQ,CAACzJ,CAAD,CAAS,CAC/C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOhBY,CAAAA,CAAQ,IAAArE,KAAA4J,WAAA,CAAqB1J,CAArB,CAA6B,IAAAX,aAA7B,CACRwE,EAAJ,GAAc,IAAA7D,OAAd;AAA6B,CAA7B,CACA,OAAOmE,EAZwC,CAsBnD7C,EAAAqI,WAAA,CAAiCrI,CAAAkI,YAWjCrK,EAAAyK,mBAAA,CAAgC,CAQhCzK,EAAA0K,kBAAA,CAA+BC,QAAQ,CAAC3F,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/ChF,EAAA4K,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxC9K,EAAA+K,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxC3I,EAAA8I,cAAA,CAAoCC,QAAQ,CAAClG,CAAD,CAAQnE,CAAR,CAAgB,CACxD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAHoC,IAapD+G,EAAOnL,CAAA0K,kBAAA,CAA6B1F,CAA7B,CAEXnE,EAAA,EAAUsK,CACV,KAAIC,EAAa,IAAA5K,OAAA4D,WACbvD,EAAJ,CAAauK,CAAb,EACI,IAAAlG,OAAA,CAAY,CAACkG,CAAD,EAAe,CAAf,EAAoBvK,CAApB,CAA6BuK,CAA7B,CAA0CvK,CAAtD,CACJA,EAAA,EAAUsK,CAEV,KAAAxK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA2BwK,CAA3B,CAA+BrG,CAA/B,CAAuC,GAAvC,CACAA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACIqG,CAEA,CAFKrG,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAArE,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BwK,CAA7B,CACA,CAAa,KAAb,EAAIrG,CAAJ,EACIqG,CAEA,CAFKrG,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAArE,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BwK,CAA7B,CACA,CAAa,OAAb,EAAIrG,CAAJ,EACIqG,CAEA,CAFKrG,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAArE,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BwK,CAA7B,CACA,CAAa,SAAb,EAAIrG,CAAJ,EACI,IAAArE,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA8BmE,CAA9B,EAAuC,EAAvC,CAA6C,EAA7C,CACA,CAAAmG,CAAA,CAAO,CAFX,GAII,IAAAxK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BwK,CAA7B;AAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CALX,CAHJ,GAWI,IAAAxK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BwK,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAAxK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA6BwK,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAAxK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA2BwK,CAA3B,CAA+B,GAA/B,CACA,CAAAF,CAAA,CAAO,CA1BX,CA4BA,OAAIzG,EAAJ,EACI,IAAA7D,OACO,EADQsK,CACR,CAAA,IAFX,EAIOA,CAvDiD,CAkE5DhJ,EAAAmJ,oBAAA,CAA0CC,QAAQ,CAACvG,CAAD,CAAQnE,CAAR,CAAgB,CAC9D,MAAO,KAAAoK,cAAA,CAAmBjL,CAAA4K,eAAA,CAA0B5F,CAA1B,CAAnB,CAAqDnE,CAArD,CADuD,CAclEsB,EAAAqJ,aAAA,CAAmCC,QAAQ,CAAC5K,CAAD,CAAS,CAChD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH4B,IAW5C+G,EAAO,CAXqC,CAY5CnG,EAAQ,CAZoC,CAa5C0G,CAEJ,GAAG,CACCC,CAAA,CAAU9K,CAAV,CAAiBsK,CACjB,IAAKhL,CAAA,IAAAA,SAAL,EAAsBwL,CAAtB,CAAgC,IAAA5K,MAAhC,CAGI,KAFI6K,EAEEA,CAFI7H,KAAA,CAAM,WAAN,CAEJ6H,CADNA,CAAA,UACMA,CADa,CAAA,CACbA,CAAAA,CAAN,CAEJF,CAAA,CAAO,IAAA/K,KAAAoF,SAAA,CAAmB4F,CAAnB,CACI,EAAX,CAAIR,CAAJ,GACInG,CADJ,GACe0G,CADf,CACoB,GADpB,GAC4B,CAD5B,CAC8BP,CAD9B,GACyC,CADzC,CAEA,GAAEA,CAVH,CAAH,MAW2B,GAX3B,IAWUO,CAXV,CAWiB,GAXjB,EAYA1G,EAAA,EAAgB,CAChB,OAAIN,EAAJ,EACI,IAAA7D,OACOmE,EADQmG,CACRnG,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAUmG,CAFP,CAhCyC,CA+CpDhJ,EAAA0J,mBAAA,CAAyCC,QAAQ,CAACjL,CAAD,CAAS,CAClDkL,CAAAA,CAAM,IAAAP,aAAA,CAAkB3K,CAAlB,CACS,SAAnB,GAAI,MAAOkL,EAAX,CACIA,CAAA,MADJ,CACmB/L,CAAA+K,eAAA,CAA0BgB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU/L,CAAA+K,eAAA,CAA0BgB,CAA1B,CACV,OAAOA,EAN+C,CAWtDhM,EAAJ,GAQIC,CAAAgM,mBAgMA,CAhMgC,EAgMhC,CAxLAhM,CAAAiM,kBAwLA,CAxL+BC,QAAQ,CAAClH,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CADZ;AAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CAHZ,CAD2C,KAMvCmH,EAAQnH,CAAAoH,MAAA,EAARD,GAA0B,CANa,CAOvCE,EAAQrH,CAAAsH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQvH,CAAAsH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EAtBW,CAwL/C,CAzJAvM,CAAAwM,eAyJA,CAzJ4BC,QAAQ,CAACzH,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA0H,SAFJ,GAE8B1H,CAF9B,CAEsCA,CAAA2H,SAAA,EAFtC,CAIL,OAAO3H,EAAA4H,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuB7H,CAAA8H,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EAPiC,CAyJ5C,CAzIA/M,CAAAgN,eAyIA,CAzI4BC,QAAQ,CAACjI,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYjF,CAAAwI,WAAA,CAAgBvD,CAAhB;AAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA0H,SAFJ,GAE8B1H,CAF9B,CAEsCA,CAAA2H,SAAA,EAFtC,CAIL,OAAO3H,EAAAsH,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgC7H,CAAAkI,IAAA,CAAUnN,CAAAoN,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EAPiC,CAyI5C,CAvHAxK,CAAAkL,cAuHA,CAvHoCC,QAAQ,CAACtI,CAAD,CAAQnE,CAAR,CAAgB,CACxD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,CACIA,CAAA,CAAQjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BjF,EAA1B,CAAN,CACD,KAAMiE,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOY,EAAX,CACIA,CADJ,CACYjF,CAAAwI,WAAA,CAAgBvD,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOjF,CAAAyI,WAAA,CAAgBxD,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA0H,SAFJ,GAE8B1H,CAF9B,CAEsCA,CAAA2H,SAAA,EAFtC,CAlBmD,KAqBpDxB,EAAOnL,CAAAiM,kBAAA,CAA6BjH,CAA7B,CArB6C,CAsBpDmH,EAAQnH,CAAAoH,MAAA,EAARD,GAA0B,CAtB0B,CAuBpDE,EAAQrH,CAAAsH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAvBG,CAwBpDE,EAAQvH,CAAAsH,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD1L,EAAA,EAAUsK,CACV,KAAIoC,EAAa,IAAA/M,OAAA4D,WACbvD,EAAJ,CAAa0M,CAAb,EACI,IAAArI,OAAA,CAAY,CAACqI,CAAD,EAAe,CAAf,EAAoB1M,CAApB,CAA6B0M,CAA7B,CAA0C1M,CAAtD,CACJA,EAAA,EAAUsK,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAAxK,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAA8B0L,CAA9B,GAAyC,CAAzC;AAA8C,CAA9C,CACT,MAAK,CAAL,CAAS,IAAA5L,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAcoB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA5L,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA1L,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA1L,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAckB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA1L,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAckB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA1L,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAxL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAxL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAsK,CAAA,CAAcgB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAAxL,KAAA4D,SAAA,CAAmB1D,CAAnB,CAAsC,CAAT,GAAAsK,CAAA,CAAcgB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CAVb,CAYA,MAAIzH,EAAJ;CACI,IAAA7D,OACO,EADQsK,CACR,CAAA,IAFX,EAIWA,CA9C6C,CAuH5D,CA7DAhJ,CAAAqL,oBA6DA,CA7D0CC,QAAQ,CAACzI,CAAD,CAAQnE,CAAR,CAAgB,CAC9D,MAAO,KAAAwM,cAAA,CAAmBrN,CAAAwM,eAAA,CAA0BxH,CAA1B,CAAnB,CAAqDnE,CAArD,CADuD,CA6DlE,CAhDAsB,CAAAuL,aAgDA,CAhDmCC,QAAQ,CAAC9M,CAAD,CAAS,CAChD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH4B,IAW5CwJ,EAAQ/M,CAXoC,CAY5CsL,EAAQ,CAZoC,CAa5CE,EAAQ,CAboC,CAc5CE,EAAQ,CAdoC,CAe5ClB,EAAK,CAfuC,CAgBhDA,EAAI,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAhB4C,CAgBdsL,EAAUd,CAAVc,CAAc,GAAa,IAAId,CAAJ,CAAQ,GAAR,GAC7DA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D;AAA/BsL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/BsL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/BsL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/BwL,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/BwL,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/BwL,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/BwL,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/B0L,CAA+B,CAArBlB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAA6D,CAA/B0L,CAA+B,GAArBlB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GADJ,CADA,CADA,CADA,CADA,CADA,CADA,CADA,CADJ,EAU7D,KAAMtH,MAAA,CAAM,gBAAN,CAAN,CACIiB,CAAAA,CAAQjF,CAAA8N,SAAA,CAAc1B,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD,CAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAI7H,EAAJ,EACI,IAAA7D,OACOmE,CADOnE,CACPmE,CAAAA,CAFX,EAIW,CACH,MAASA,CADN;AAEH,OAAUnE,CAAV,CAAiB+M,CAFd,CAhCqC,CAgDpD,CAAAzL,CAAA2L,mBAAA,CAAyCC,QAAQ,CAAClN,CAAD,CAAS,CAEtD,CADIkL,CACJ,CADU,IAAA2B,aAAA,CAAkB7M,CAAlB,CACV,GAAWkL,CAAA,MAAX,WAAmChM,EAAnC,CACIgM,CAAA,MADJ,CACmB/L,CAAAgN,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU/L,CAAAgN,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EAN+C,CAxM9D,CA+NA5J,EAAA6L,aAAA,CAAmCC,QAAQ,CAACC,CAAD,CAAMrN,CAAN,CAAc,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CAFqD,KAGjDK,CAHiD,CAIjD4B,EAAIoL,CAAA/M,OACR,IAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO+N,EAAX,CACI,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CACJ,IAAK9C,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAY4B,CAAZ,CAAe,EAAE5B,CAAjB,CACI,GAA0B,CAA1B,GAAIgN,CAAA9M,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAMX,WAAA,CAAW,uCAAX,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAXY,CAcpBtB,CAAA,CAAIqL,CAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJrN,EAAA,EAAUiC,CAAV,CAAY,CACRuL,EAAAA,CAAa,IAAA7N,OAAA4D,WACbvD,EAAJ,CAAawN,CAAb,EACI,IAAAnJ,OAAA,CAAY,CAACmJ,CAAD,EAAe,CAAf,EAAoBxN,CAApB,CAA6BwN,CAA7B,CAA0CxN,CAAtD,CACJA,EAAA,EAAUiC,CAAV,CAAY,CACZqL,EAAAG,EAAA,CAAuBtN,CAAA,CAAakN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA1K,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BwK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAA5N,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6B,CAA7B,CACA,OAAI6D,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA,IAFX,EAIOiC,CAjC8C,CA6CzDX,EAAAqM,YAAA,CAAkCC,QAAQ,CAAC5N,CAAD,CAAS,CAC/C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV;AAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH2B,IAU3CwJ,EAAQ/M,CAVmC,CAa3C6N,CAb2C,CAavCrD,EAAK,EACb8C,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAItD,CAAJ,CAAa,MAAO,KACpB,IAAIxK,CAAJ,EAAc,IAAAE,MAAd,CACI,KAAMR,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,KAApD,CAA0D,IAAAE,MAA1D,CAAN,CACJsK,CAAA,CAAI,IAAA1K,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CACJ,OAAa,EAAN,GAAAwK,CAAA,CAAU,IAAV,CAAiBA,CALM,CAAXkD,KAAA,CAMhB,IANgB,CAAvB,CAMcG,CANd,CAMmBrN,CAAA,EANnB,CAMwC,CAAA,CANxC,CAOA,OAAIqD,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA6N,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAU7N,CAAV,CAAmB+M,CAFhB,CAzBoC,CA2CnDzL,EAAAyM,aAAA,CAAmCC,QAAQ,CAACX,CAAD,CAAMrN,CAAN,CAAc,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB;AAAI,MAAO+N,EAAX,CACI,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CAHiC,IAYjDwJ,EAAQ/M,CAZyC,CAajDiC,CACJA,EAAA,CAAIqL,CAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAA6C,IAAA/N,SAA7C,CAAA,CAA4D,CAA5D,CACJU,EAAA,EAAU,CAAV,CAAYiC,CACZ,KAAIgM,EAAa,IAAAtO,OAAA4D,WACbvD,EAAJ,CAAaiO,CAAb,EACI,IAAA5J,OAAA,CAAY,CAAC4J,CAAD,EAAe,CAAf,EAAoBjO,CAApB,CAA6BiO,CAA7B,CAA0CjO,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYiC,CACZ,KAAAnC,KAAAoH,UAAA,CAAoBlH,CAApB,CAA4BiC,CAA5B,CAA+B,IAAA5C,aAA/B,CACAW,EAAA,EAAU,CACVsN,EAAAG,EAAA,CAAuBtN,CAAA,CAAakN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA1K,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BwK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAI1N,CAAJ,GAAe+M,CAAf,CAAuB,CAAvB,CAA2B9K,CAA3B,CACI,KAAMvC,WAAA,CAAW,iCAAX;AAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE,CAAnE,CAAqEiC,CAArE,EAAN,CACJ,MAAI4B,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB+M,CA/BqC,CA2CzDzL,EAAA4M,YAAA,CAAkCC,QAAQ,CAACnO,CAAD,CAAS,CAC/C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH2B,IAU3CsH,EAAO,CAVoC,CAW3CkC,EAAQ/M,CAXmC,CAa/C6K,EAAO,IAAA/K,KAAAwH,UAAA,CAAoBtH,CAApB,CAA4B,IAAAX,aAA5B,CACPW,EAAA,EAAU,CAdqC,KAe3CiC,EAAIjC,CAAJiC,CAAa4I,CAEjByC,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO9N,EAAA,CAASiC,CAAT,CAAa,IAAAnC,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX0N,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBrN,CAAA,EAFnB;AAEwC,IAAAlB,SAFxC,CAGA+N,EAAA,CAAMQ,CAAA,EACN,OAAIhK,EAAJ,EACI,IAAA7D,OACOqN,CADOrN,CACPqN,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUrN,CAAV,CAAmB+M,CAFhB,CAzBoC,CAwCnD5N,EAAAiP,cAAA,CAA2B,GAQ3BjP,EAAAkP,cAAA,CAA2B,GAS3B/M,EAAAgN,gBAAA,CAAsCC,QAAQ,CAAClB,CAAD,CAAMrN,CAAN,CAAc,CACxD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOpB,IAAItB,CAAJ,CACI8K,EAAQ/M,CACZiC,EAAA,CAAIqL,CAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJrN,EAAA,EAAUiC,CACV,KAAIuM,EAAa,IAAA7O,OAAA4D,WACbvD,EAAJ,CAAawO,CAAb,EACI,IAAAnK,OAAA,CAAY,CAACmK,CAAD;AAAe,CAAf,EAAoBxO,CAApB,CAA6BwO,CAA7B,CAA0CxO,CAAtD,CACJA,EAAA,EAAUiC,CACVqL,EAAAG,EAAA,CAAuBtN,CAAA,CAAakN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA1K,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BwK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAI7J,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB+M,CAzBwC,CAoC5DzL,EAAAmN,YAAA,CAAkCnN,CAAAgN,gBAUlCnP,EAAAuP,mBAAA,CAAgCC,QAAQ,CAACtB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9ClO,EAAAyP,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAe9C/L,EAAAwN,eAAA,CAAqCC,QAAQ,CAACzO,CAAD,CAAS0O,CAAT,CAAkBhP,CAAlB,CAA0B,CAC5C,QAAvB,GAAI,MAAOgP,EAAX,GACIhP,CACA,CADSgP,CACT,CAAAA,CAAA,CAAUhN,IAAAA,EAFd,CAIA,KAAI6B,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAOgP,EAAX,GAAoCA,CAApC,CAA8C7P,CAAAiP,cAA9C,CACA,IAAK9O,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM6C,UAAA,CAAU,kBAAV,CAA6B7C,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAON,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CARY,CAR+C,IAkB/DlD,EAAI,CAlB2D,CAmB/D0M,EAAQ/M,CAnBuD,CAoB/D6N,CACJ,IAAImB,CAAJ,GAAgB7P,CAAAiP,cAAhB,CAA0C,CACtCP,CAAA,CAAKrN,CAAA,EACL8M,EAAA2B,EAAA,CAAgB,QAAQ,EAAG,CACvB,MAAO5O,EAAA,CAAIC,CAAJ,EAAcN,CAAd,CAAuB,IAAAE,MAAvB,CAAoC,IAAAJ,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAApC,CAAmE,IADnD,CAAX0N,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAACwB,CAAD,CAAK,CACvB,EAAE7O,CAAGiN,EAAA6B,EAAA,CAAiBD,CAAjB,CAAqBrB,CAArB,CADkB,CAAbH,KAAA,CAEP,IAFO,CAFd,CAKA,IAAIrN,CAAJ,GAAUC,CAAV,CACI,KAAMZ,WAAA,CAAW,iCAAX,CAA6CW,CAA7C,CAA+C,MAA/C,CAAsDC,CAAtD,CAAN,CACJ,MAAIuD,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA6N,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAU7N,CAAV;AAAmB+M,CAFhB,CAb2B,CAkBnC,GAAIiC,CAAJ,GAAgB7P,CAAAkP,cAAhB,CAA0C,CAC7C,GAAK/O,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAA4D,WAApC,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAA4D,WAA/D,CAAN,CALY,CAOpB,IAAItB,EAAIjC,CAAJiC,CAAa3B,CACjBgN,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO9N,EAAA,CAASiC,CAAT,CAAa,IAAAnC,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX0N,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBrN,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGA,IAAIU,CAAJ,GAAeiC,CAAf,CACI,KAAMvC,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,CAA2DiC,CAA3D,CAAN,CACJ,MAAI4B,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA6N,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAU7N,CAAV,CAAmB+M,CAFhB,CAlBkC,CAwB7C,KAAM5J,UAAA,CAAU,uBAAV;AAAkC6L,CAAlC,CAAN,CA/D+D,CA8EvE1N,EAAA8N,WAAA,CAAiC9N,CAAAwN,eAajCxN,EAAA+N,aAAA,CAAmCC,QAAQ,CAACjC,CAAD,CAAMrN,CAAN,CAAc,CACrD,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO+N,EAAX,CACI,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CAPY,CAHiC,IAYjDwJ,EAAQ/M,CAZyC,CAajDiC,CAbiD,CAa9CsN,CACPtN,EAAA,CAAIqL,CAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAA6C,IAAA/N,SAA7C,CAAA,CAA4D,CAA5D,CACJiQ,EAAA,CAAIpQ,CAAA0K,kBAAA,CAA6B5H,CAA7B,CACJjC,EAAA,EAAUuP,CAAV,CAAYtN,CACZ,KAAIuN,EAAa,IAAA7P,OAAA4D,WACbvD;CAAJ,CAAawP,CAAb,EACI,IAAAnL,OAAA,CAAY,CAACmL,CAAD,EAAe,CAAf,EAAoBxP,CAApB,CAA6BwP,CAA7B,CAA0CxP,CAAtD,CACJA,EAAA,EAAUuP,CAAV,CAAYtN,CACZjC,EAAA,EAAU,IAAAoK,cAAA,CAAmBnI,CAAnB,CAAsBjC,CAAtB,CACVsN,EAAAG,EAAA,CAAuBtN,CAAA,CAAakN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA1K,KAAA4D,SAAA,CAAmB1D,CAAA,EAAnB,CAA6BwK,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAI1N,CAAJ,GAAe+M,CAAf,CAAqB9K,CAArB,CAAuBsN,CAAvB,CACI,KAAM7P,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmEiC,CAAnE,CAAqEsN,CAArE,EAAN,CACJ,MAAI1L,EAAJ,EACI,IAAA7D,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB+M,CA/BqC,CA2CzDzL,EAAAmO,YAAA,CAAkCC,QAAQ,CAAC1P,CAAD,CAAS,CAC/C,IAAI6D,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAH2B,IAU3CsH,EAAO,IAAAF,aAAA,CAAkB3K,CAAlB,CAVoC,CAW3C+M,EAAQ/M,CAEZA,EAAA,EAAU6K,CAAA,OACV,KAAAA,EAAOA,CAAA,MAAP,CACI5I,EAAIjC,CAAJiC,CAAa4I,CADjB,CAEIgD,EAAKrN,CAAA,EACT8M,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO9N,EAAA,CAASiC,CAAT,CAAa,IAAAnC,KAAAoF,SAAA,CAAmBlF,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX0N,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEkB,IAAAvO,SAFlB,CAGA+N,EAAA,CAAMQ,CAAA,EACN,OAAIhK,EAAJ,EACI,IAAA7D,OACOqN,CADOrN,CACPqN,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUrN,CAAV,CAAmB+M,CAFhB,CAzBoC,CA8CnDzL,EAAA0C,OAAA,CAA6B2L,QAAQ,CAACC,CAAD,CAAS7N,CAAT,CAAmB/B,CAAnB,CAA2B,CAC5D,GAAwB,QAAxB,GAAI,MAAO+B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI/B,CACA,CADS+B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI6B,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ;AAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOdqM,CAAN,WAAwBzQ,EAAxB,GACIyQ,CADJ,CACazQ,CAAAgD,KAAA,CAAgByN,CAAhB,CAAwB7N,CAAxB,CADb,CAEIzB,EAAAA,CAASsP,CAAA1P,MAATI,CAAwBsP,CAAA5P,OAC5B,IAAc,CAAd,EAAIM,CAAJ,CAAiB,MAAO,KACxBN,EAAA,EAAUM,CACV,KAAIuP,EAAa,IAAAlQ,OAAA4D,WACbvD,EAAJ,CAAa6P,CAAb,EACI,IAAAxL,OAAA,CAAY,CAACwL,CAAD,EAAe,CAAf,EAAoB7P,CAApB,CAA6B6P,CAA7B,CAA0C7P,CAAtD,CAEJuC,EAAA,IAAIF,UAAJ,CAAe,IAAA1C,OAAf,CADAK,CACA,CADUM,CACV,CAAAiC,KAAA,CAAwCC,CAAA,IAAIH,UAAJ,CAAeuN,CAAAjQ,OAAf,CAAA6C,UAAA,CAAuCoN,CAAA5P,OAAvC,CAAsD4P,CAAA1P,MAAtD,CAAxC,CACA0P,EAAA5P,OAAA,EAAiBM,CACbuD,EAAJ,GAAc,IAAA7D,OAAd,EAA6BM,CAA7B,CACA,OAAO,KA1BqD,CAuChEgB,EAAAwO,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAShQ,CAAT,CAAiB,CACpDgQ,CAAAhM,OAAA,CAAc,IAAd,CAAoBhE,CAApB,CACA,OAAO,KAF6C,CAYxDsB,EAAA2O,OAAA,CAA6BC,QAAQ,CAACD,CAAD,CAAS,CAC1C,IAAA3Q,SAAA,CAAgB,CAAC2Q,CACjB,OAAO,KAFmC,CAU9C3O,EAAAlC,SAAA,CAA+B+Q,QAAQ,EAAG,CACtC,MAAO,KAAAxQ,OAAA4D,WAD+B,CAU1CjC;CAAA8O,MAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAArQ,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAA4D,WACb,KAAAtD,aAAA,CAAqB,EACrB,OAAO,KAJ4B,CAcvCqB,EAAA8B,MAAA,CAA4BkN,QAAQ,CAACC,CAAD,CAAO,CACvC,IAAInO,EAAK,IAAIjD,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACLiR,EAAJ,EACInO,CAAAzC,OAEA,CAFY,IAAIE,WAAJ,CAAgB,IAAAF,OAAA4D,WAAhB,CAEZ,CADAhB,CAAA,IAAIF,UAAJ,CAAeD,CAAAzC,OAAf,CAAA4C,KAAA,CAA8B,IAAA5C,OAA9B,CACA,CAAAyC,CAAAtC,KAAA,CAAU,IAAIC,QAAJ,CAAaqC,CAAAzC,OAAb,CAHd,GAKIyC,CAAAzC,OACA,CADY,IAAAA,OACZ,CAAAyC,CAAAtC,KAAA,CAAU,IAAAA,KANd,CAQAsC,EAAApC,OAAA,CAAY,IAAAA,OACZoC,EAAAnC,aAAA,CAAkB,IAAAA,aAClBmC,EAAAlC,MAAA,CAAW,IAAAA,MACX,OAAOkC,EAbgC,CAyB3Cd,EAAAkP,QAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA1Q,OAA1C,CACmB,YAAnB,GAAI,MAAO2Q,EAAX;CAAgCA,CAAhC,CAAsC,IAAAzQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN,CACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAImN,CAAJ,EAAmBC,CAAnB,GAA2B,IAAAhR,OAAA4D,WAA3B,CACI,MAAO,KACX,KAAIqN,EAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ,GAAIE,CAAJ,CAMI,MALA,KAAAjR,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0CyQ,CAG1C,EADP,IAAAxQ,MACO,CAFP,IAAAF,OAEO;AAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgB+Q,CAAhB,CACbrO,EAAA,IAAIF,UAAJ,CAAe1C,CAAf,CAAA4C,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCkO,CAArC,CAA4CC,CAA5C,CAA3B,CACA,KAAAhR,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACa,EAAzB,EAAI,IAAAM,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDyQ,CAAjD,CACA,KAAA1Q,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa0Q,CACb,OAAO,KA/BwC,CA0CnDtP,EAAAiP,KAAA,CAA2BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACvB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA1Q,OAA1C,CACmB,YAAnB,GAAI,MAAO2Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAAzQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN;AACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAImN,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAIxR,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdiC,KAexCF,EAAWuR,CAAXvR,CAAiBsR,CAfuB,CAgBxCtO,EAAK,IAAIjD,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACT8C,EAAApC,OAAA,CAAY,CACZoC,EAAAlC,MAAA,CAAWd,CACY,EAAvB,EAAIgD,CAAAnC,aAAJ,GAA0BmC,CAAAnC,aAA1B,EAA6CyQ,CAA7C,CACA,KAAAI,OAAA,CAAY1O,CAAZ,CAAgB,CAAhB,CAAmBsO,CAAnB,CAA0BC,CAA1B,CACA,OAAOvO,EArBqC,CAoChDd,EAAAwP,OAAA,CAA6BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAC/ErN,CAD+E,CAE/EsN,CACJ,IAAK7R,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAA+C,aAAA,CAAwB8N,CAAxB,CADT,CAEQ,KAAM7M,UAAA,CAAU,kCAAV,CAAN,CAER6N,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAAhQ,OAAzD,CAAyEgR,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAACpN,CAAD;AAAoC,WAApC,GAAY,MAAOoN,EAAnB,EAAmD,IAAAjR,OAAnD,CAAiEiR,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAAhR,MAArC,CAAkDgR,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAArQ,OAAA4D,WAAvC,CACI,KAAM7D,WAAA,CAAW,6BAAX,CAAyCsR,CAAzC,CAAsD,MAAtD,CAA6DhB,CAAArQ,OAAA4D,WAA7D,CAAN,CACJ,GAAmB,CAAnB,CAAI0N,CAAJ,EAAwBC,CAAxB,CAAsC,IAAAvR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,6BAAX,CAAyCuR,CAAzC,CAAsD,MAAtD,CAA6D,IAAAtR,OAAA4D,WAA7D,CAAN,CAEJ,IAAIqN,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEArO,EAAA,IAAIF,UAAJ,CAAe2N,CAAArQ,OAAf,CAAA4C,KAAA,CAAkCC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCyO,CAArC,CAAmDC,CAAnD,CAAlC,CAAmGF,CAAnG,CAEInN,EAAJ,GAAc,IAAA7D,OAAd,EAA6B4Q,CAA7B,CACIO,EAAJ,GAAoBnB,CAAAhQ,OAApB,EAAqC4Q,CAArC,CAEA,OAAO,KA3B4E,CAsCvFtP,EAAA8P,eAAA,CAAqCC,QAAQ,CAACjS,CAAD,CAAW,CACpD,IAAIkS;AAAU,IAAA3R,OAAA4D,WACd,OAAI+N,EAAJ,CAAclS,CAAd,CACW,IAAAiF,OAAA,CAAY,CAACiN,CAAD,EAAY,CAAZ,EAAiBlS,CAAjB,CAA4BkS,CAA5B,CAAsClS,CAAlD,CADX,CAEO,IAJ6C,CAkBxDkC,EAAAiQ,KAAA,CAA2BC,QAAQ,CAACrN,CAAD,CAAQuM,CAAR,CAAeC,CAAf,CAAoB,CACnD,IAAI9M,EAA4B,WAA5BA,GAAW,MAAO6M,EAClB7M,EAAJ,GAAc6M,CAAd,CAAsB,IAAA1Q,OAAtB,CACqB,SAArB,GAAI,MAAOmE,EAAX,EAAgD,CAAhD,CAAiCA,CAAA7D,OAAjC,GACI6D,CADJ,CACYA,CAAA5D,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAOmQ,EAAX,GAAkCA,CAAlC,CAA0C,IAAA1Q,OAA1C,CACmB,YAAnB,GAAI,MAAO2Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAAzQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6E,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMhB,UAAA,CAAU,iBAAV,CAA4BgB,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAOuM,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN;AACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CAXY,CAapB,GAAImN,CAAJ,EAAaC,CAAb,CACI,MAAO,KACX,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAA7Q,KAAA4D,SAAA,CAAmBgN,CAAA,EAAnB,CAA4BvM,CAA5B,CAChBN,EAAJ,GAAc,IAAA7D,OAAd,CAA4B0Q,CAA5B,CACA,OAAO,KAxB4C,CAiCvDpP,EAAAmQ,KAAA,CAA2BC,QAAQ,EAAG,CAClC,IAAAxR,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH2B,CActCsB,EAAAqQ,KAAA,CAA2BC,QAAQ,CAAC5R,CAAD,CAAS,CACxCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOpB,IAAAtD,aAAA,CAAoBD,CACpB,OAAO,KAViC,CAkB5CsB,EAAAuQ,MAAA,CAA4BC,QAAQ,CAACzS,CAAD,CAAe,CAC/C,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM8D,UAAA,CAAU,qCAAV,CAAN,CAER,IAAA9D,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANwC,CAenDiC,EAAAyQ,GAAA,CAAyBC,QAAQ,CAAC3S,CAAD,CAAe,CAC5C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFqC,CAWhDiC,EAAA2Q,GAAA,CAAyBC,QAAQ,CAACC,CAAD,CAAY,CACzC,IAAA9S,aAAA,CAAyC,WAArB,GAAA,MAAO8S,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFkC,CAkB7C7Q,EAAA8Q,QAAA,CAA8BC,QAAQ,CAACzC,CAAD,CAAS7N,CAAT,CAAmB/B,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAO+B,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI/B,CACA,CADS+B,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI6B,EAA6B,WAA7BA,GAAW,MAAO7D,EAClB6D,EAAJ,GAAc7D,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,kBAAV,CAA6BnD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAA4D,WAA/B,CACI,KAAM7D,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAA4D,WAA1D,CAAN,CALY,CAOdqM,CAAN,WAAwBzQ,EAAxB,GACIyQ,CADJ,CACazQ,CAAAgD,KAAA,CAAgByN,CAAhB,CAAwB7N,CAAxB,CADb,CAEI6O,EAAAA,CAAMhB,CAAA1P,MAAN0Q,CAAqBhB,CAAA5P,OACzB,IAAW,CAAX,EAAI4Q,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAatS,CACjB,IAAW,CAAX,CAAIsS,CAAJ,CAAc,CACV,IAAI3S,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAA4D,WAAhB,CAAyC+O,CAAzC,CAAb,CACIC,EAAY,IAAIlQ,UAAJ,CAAe1C,CAAf,CAChB4S,EAAAhQ,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCxC,CAArC,CAA6C,IAAAL,OAAA4D,WAA7C,CAAd,CAAoFqN,CAApF,CACA,KAAAjR,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACZ;IAAAK,OAAA,EAAesS,CACU,EAAzB,EAAI,IAAArS,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDqS,CAAjD,CACA,KAAApS,MAAA,EAAcoS,CACdtS,EAAA,EAAUsS,CATA,CAAd,IAWQC,EAAJ,CAAgB,IAAIlQ,UAAJ,CAAe,IAAA1C,OAAf,CAEpB4S,EAAAhQ,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAeuN,CAAAjQ,OAAf,CAAA6C,UAAA,CAAuCoN,CAAA5P,OAAvC,CAAsD4P,CAAA1P,MAAtD,CAAd,CAAmFF,CAAnF,CAA4F4Q,CAA5F,CAEAhB,EAAA5P,OAAA,CAAgB4P,CAAA1P,MACZ2D,EAAJ,GACI,IAAA7D,OADJ,EACmB4Q,CADnB,CAEA,OAAO,KArCsD,CAmDjEtP,EAAAkR,UAAA,CAAgCC,QAAQ,CAACzC,CAAD,CAAShQ,CAAT,CAAiB,CACrDgQ,CAAAoC,QAAA,CAAe,IAAf,CAAqBpS,CAArB,CACA,OAAO,KAF8C,CASzDsB,EAAAoR,WAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAM,CACxB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAAC,IAAApF,KAAA,CAAiBmF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAAnP,SAAA,EADJ,CAEI,yEAFJ,CAGI,IAAAsP,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF2C,CAe/CzR,EAAA0R,UAAA,CAAgCC,QAAQ,EAAG,CACvC,MAAO,KAAA/S,MAAP;AAAoB,IAAAF,OADmB,CAW3CsB,EAAA4R,MAAA,CAA4BC,QAAQ,EAAG,CACV,CAAzB,EAAI,IAAAlT,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP4B,CAkBvCsB,EAAA+C,OAAA,CAA6B+O,QAAQ,CAAChU,CAAD,CAAW,CAC5C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAM+D,UAAA,CAAU,oBAAV,CAA+B/D,CAA/B,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,yBAAX,CAAqCN,CAArC,CAAN,CALY,CAOhB,IAAAO,OAAA4D,WAAJ,CAA6BnE,CAA7B,GACQO,CAGJ,CAHa,IAAIE,WAAJ,CAAgBT,CAAhB,CAGb,CAFAmD,CAAA,IAAIF,UAAJ,CAAe1C,CAAf,CAAA4C,KAAA,CAA2B,IAAIF,UAAJ,CAAe,IAAA1C,OAAf,CAA3B,CAEA,CADA,IAAAA,OACA,CADcA,CACd,CAAA,IAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CAJhB,CAMA,OAAO,KAdqC,CAuBhD2B,EAAA+R,QAAA,CAA8BC,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB;AAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA1Q,OAA1C,CACmB,YAAnB,GAAI,MAAO2Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAAzQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN,CACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAImN,CAAJ,GAAcC,CAAd,CACI,MAAO,KACX1P,MAAAC,UAAAmS,QAAAhQ,KAAA,CAA6Bb,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCkO,CAArC,CAA4CC,CAA5C,CAA7B,CACA,KAAA7Q,KAAA,CAAY,IAAIC,QAAJ,CAAa,IAAAJ,OAAb,CACZ;MAAO,KAjBwC,CAyBnD2B,EAAAiS,KAAA,CAA2BC,QAAQ,CAAClT,CAAD,CAAS,CACxC,GAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM6C,UAAA,CAAU,kBAAV,CAA6B7C,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIN,EAAS,IAAAA,OAATA,CAAuBM,CAC3B,IAAKhB,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQU,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAA4D,WAD/B,EAEQ,KAAM7D,WAAA,CAAW,uBAAX,CAAmC,IAAAM,OAAnC,CAA+C,KAA/C,CAAqDM,CAArD,CAA4D,MAA5D,CAAmE,IAAAX,OAAA4D,WAAnE,CAAN,CAER,IAAAvD,OAAA,CAAcA,CACd,OAAO,KAZiC,CAsB5CsB,EAAAwC,MAAA,CAA4B2P,QAAQ,CAAC/C,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA1Q,OAA1C,CACmB,YAAnB,GAAI,MAAO2Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAAzQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN;AACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN,CACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,IAAInB,EAAK,IAAAgB,MAAA,EACThB,EAAApC,OAAA,CAAY0Q,CACZtO,EAAAlC,MAAA,CAAWyQ,CACX,OAAOvO,EAhBsC,CA2BjDd,EAAAoS,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC3C5T,EAAS,IAAAA,OADkC,CAE3CE,EAAQ,IAAAA,MACZ,IAAIF,CAAJ,CAAaE,CAAb,CACI,IAAI2T,EAAI7T,CAAR,CACAA,EAASE,CADT,CAEAA,EAAQ2T,CAEZ,IAAKvU,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMmD,UAAA,CAAU,gCAAV,CAAN,CACJnD,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMiD,UAAA,CAAU,+BAAV,CAAN;AACJjD,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAA4D,WAA5C,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCM,CAAlC,CAAyC,MAAzC,CAAgDE,CAAhD,CAAsD,MAAtD,CAA6D,IAAAP,OAAA4D,WAA7D,CAAN,CARY,CAYpB,GAAKqQ,CAAAA,CAAL,EAA6B,CAA7B,GAAkB5T,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAA4D,WAA5C,CACI,MAAO,KAAA5D,OACX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EACPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACbuC,EAAA,IAAIF,UAAJ,CAAe1C,CAAf,CAAA4C,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAA1C,OAAf,CAAA6C,UAAA,CAAqCxC,CAArC,CAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EA1BwC,CAwCnD2B,EAAAwS,cAAA,CAAoCxS,CAAAoS,SAapCpS,EAAAmC,SAAA,CAA+BsQ,QAAQ,CAAChS,CAAD,CAAW2O,CAAX,CAAkBC,CAAlB,CAAuB,CAC1D,GAAwB,WAAxB,GAAI,MAAO5O,EAAX,CACI,MAAO,+BAAP,CAAuC,IAAA/B,OAAvC,CAAmD,gBAAnD,CAAoE,IAAAC,aAApE,CAAsF,SAAtF,CAAgG,IAAAC,MAAhG,CAA2G,YAA3G;AAAwH,IAAAd,SAAA,EAAxH,CAAwI,GACpH,SAAxB,GAAI,MAAO2C,EAAX,GAGI4O,CAHJ,CAEID,CAFJ,CACI3O,CADJ,CACe,MADf,CAIA,QAAQA,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAAiS,OAAA,CAAYtD,CAAZ,CAAmBC,CAAnB,CACX,MAAK,QAAL,CACI,MAAO,KAAAsD,SAAA,CAAcvD,CAAd,CAAqBC,CAArB,CACX,MAAK,KAAL,CACI,MAAO,KAAAuD,MAAA,CAAWxD,CAAX,CAAkBC,CAAlB,CACX,MAAK,QAAL,CACI,MAAO,KAAAwD,SAAA,CAAczD,CAAd,CAAqBC,CAArB,CACX,MAAK,OAAL,CACI,MAAO,KAAAoC,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAqB,EAAA,EACX,SACI,KAAMlR,MAAA,CAAM,wBAAN,CAA+BnB,CAA/B,CAAN,CAdR,CAP0D,CAgC9D,KAAIsS,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA,EAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG,CAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb,CAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC;AAGsC,GAHtC,CAG2C,GAH3C,CAGgD,GAHhD,CAGqD,GAHrD,CAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBSlU,EAAE,CApBX,CAoBc4B,EAAEqS,CAAAhU,OAAhB,CAA6BD,CAA7B,CAA+B4B,CAA/B,CAAkC,EAAE5B,CAApC,CACIkU,CAAA,CAAID,CAAA,CAAKjU,CAAL,CAAJ,CAAA,CAAeA,CASnBgU,EAAAG,EAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzBnK,CADyB,CACtBqJ,CACP,CAAuB,IAAvB,IAAQrJ,CAAR,CAAYkK,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAM9J,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADAqJ,CACA,EADKrJ,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASkK,CAAA,EAAT,GACIb,CAGA,EAHMrJ,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFAmK,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUrJ,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADAqJ,CACA,EADKrJ,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASkK,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUrJ,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAAmK,CAAA,CAAIL,CAAA,CAAK9J,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAIImK,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAc,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAc,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAO,EAAA,CAAcC,QAAQ,CAACH,CAAD,CAAMC,CAAN,CAAW,CAE7BG,QAASA,EAAI,CAACC,CAAD,CAAI,CACb,KAAM7R,MAAA,CAAM,0BAAN,CAAiC6R,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB,CACtBC,CADsB,CAClBC,CAIX,CAAuB,IAAvB,IAAQF,CAAR,CAAYL,CAAA,EAAZ,EAAA,CAGI,GAFAM,CAEI,CAFCT,CAAA,CAAIQ,CAAJ,CAED,CADc,WACd,GADA,MAAOC,EACP,EAD2BF,CAAA,CAAKC,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKL,CAAA,EAAL;CACAO,CAGI,CAHCV,CAAA,CAAIQ,CAAJ,CAGD,CAFc,WAEd,GAFA,MAAOE,EAEP,EAF2BH,CAAA,CAAKC,CAAL,CAE3B,CADJJ,CAAA,CAAKK,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAACF,CAAD,CAAKL,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBM,CAAA,CAAKT,CAAA,CAAIQ,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOC,EAAX,CACI,GAAU,EAAV,GAAID,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BJ,EAAA,EAAMM,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKD,CAAL,CAASL,CAAA,EAAT,EAA0B,CACtBO,CAAA,CAAKV,CAAA,CAAIQ,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOE,EAAX,CACI,GAAU,EAAV,GAAIF,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BJ,EAAA,EAAMK,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCZ,EAAAa,KAAA,CAAYC,QAAQ,CAAC9H,CAAD,CAAM,CACtB,MAAO,kEAAA6H,KAAA,CAAwE7H,CAAxE,CADe,CAI1B,OAAOgH,EAxGW,CAAX,EAoHX/S,EAAA2S,SAAA,CAA+BmB,QAAQ,CAAC1E,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAA1Q,OADZ,CAEmB,YAAnB,GAAI,MAAO2Q,EAAX,GACIA,CADJ,CACU,IAAAzQ,MADV,CAEA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN,CACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,IAAIsK,CAAIwG,EAAAG,EAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO9D,EAAA,CAAQC,CAAR,CAAc,IAAA7Q,KAAAoF,SAAA,CAAmBwL,CAAA,EAAnB,CAAd,CAA4C,IADxB,CAAXhD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWrN,CAAA,EAFX,CAGR,OAAOqN,EAAA,EAlByC,CA+BpD1O,EAAA0D,WAAA,CAAwBwS,QAAQ,CAAChI,CAAD,CAAMhO,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO+N,EAAX,CACI,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIkK,CAAA/M,OAAJ,CAAiB,CAAjB,CACI,KAAM6C,UAAA,CAAU,yCAAV,CAAN;AAJO,CAD2C,IAOtDf,EAAK,IAAIjD,CAAJ,CAAekO,CAAA/M,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BjB,CAA/B,CAA6CC,CAA7C,CAPiD,CAQtDe,EAAI,CACRgU,EAAAO,EAAA,CAAYzU,CAAA,CAAakN,CAAb,CAAZ,CAA+B,QAAQ,CAAC7C,CAAD,CAAI,CACvCpI,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAA,EAAjB,CAAsBmK,CAAtB,CADuC,CAA3C,CAGApI,EAAAlC,MAAA,CAAWG,CACX,OAAO+B,EAbmD,CAuB9DjD,EAAAmW,KAAA,CAAkBC,QAAQ,CAAClI,CAAD,CAAM,CAC5B,MAAOlO,EAAA4D,WAAA,CAAsBsK,CAAtB,CAAA4G,SAAA,EADqB,CAWhC9U,EAAAqW,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAOvW,EAAA0D,WAAA,CAAsB6S,CAAtB,CAAAvB,SAAA,EADqB,CAchC7S,EAAA6S,SAAA,CAA+BwB,QAAQ,CAACjF,CAAD,CAAQC,CAAR,CAAa,CAChDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA1Q,OAA/B,CAA6C0Q,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAAzQ,MAA7B,CAA0CyQ,CAChD,IAAKrR,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN,CACJwN,CAAA;AAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,GAAImN,CAAJ,GAAcC,CAAd,CACI,MAAO,EAEX,KAhBgD,IAe5CiF,EAAK,EAfuC,CAenCC,EAAK,EAClB,CAAOnF,CAAP,CAAeC,CAAf,CAAA,CACIiF,CAAA5U,KAAA,CAAQ,IAAAlB,KAAAoF,SAAA,CAAmBwL,CAAA,EAAnB,CAAR,CACA,CAAiB,IAAjB,EAAIkF,CAAAtV,OAAJ,GACIuV,CAAA7U,KAAA,CAAQD,MAAAQ,aAAAT,MAAA,CAA0BC,MAA1B,CAAkC6U,CAAlC,CAAR,CACA,CAAAA,CAAA,CAAK,EAFT,CAIJ,OAAOC,EAAAjV,KAAA,CAAQ,EAAR,CAAP,CAAqBG,MAAAQ,aAAAT,MAAA,CAA0BC,MAA1B,CAAkC6U,CAAlC,CAtB2B,CAmCpDzW,EAAA4D,WAAA,CAAwB+S,QAAQ,CAACzI,CAAD,CAAMhO,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO+N,EADf,CAEQ,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CAIR,IAP0D,IAKtD9C,EAAI,CALkD,CAK/C4B,EAAIoL,CAAA/M,OAL2C,CAMtD8B,EAAK,IAAIjD,CAAJ,CAAe8C,CAAf,CAAkB5C,CAAlB,CAAgCC,CAAhC,CACT,CAAOe,CAAP,CAAS4B,CAAT,CAAA,CAAY,CACR8T,CAAA,CAAW1I,CAAA9M,WAAA,CAAeF,CAAf,CACX,IAAKf,CAAAA,CAAL,EAA4B,GAA5B,CAAiByW,CAAjB,CACI,KAAMrW,WAAA,CAAW,sBAAX;AAAkCW,CAAlC,CAAoC,SAApC,CAA8C0V,CAA9C,CAAuD,SAAvD,CAAN,CACJ3T,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAA,EAAjB,CAAsB0V,CAAtB,CAJQ,CAMZ3T,CAAAlC,MAAA,CAAW+B,CACX,OAAOG,EAdmD,CAoC9Dd,EAAAyR,QAAA,CAA8BiD,QAAQ,CAACC,CAAD,CAAU,CAO5C,IAP4C,IACxC5V,EAAK,EADmC,CAExC4B,EAAI,IAAAtC,OAAA4D,WAFoC,CAGxCiH,CAHwC,CAIxC0L,EAAM,EAJkC,CAKxCC,EAAM,EALkC,CAMxCvD,EAAM,EACV,CAAOvS,CAAP,CAAS4B,CAAT,CAAA,CAAY,CACG,EAAX,GAAI5B,CAAJ,GACImK,CAGA,CAHI,IAAA1K,KAAAoF,SAAA,CAAmB7E,CAAnB,CAGJ,CAFc6V,CAEd,CAFQ,EAAR,CAAI1L,CAAJ,CAAc0L,CAAd,EAAqB,GAArB,CAAyB1L,CAAA/G,SAAA,CAAW,EAAX,CAAA2S,YAAA,EAAzB,EACKF,CADL,CACY1L,CAAA/G,SAAA,CAAW,EAAX,CAAA2S,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAA3L,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoBzJ,MAAAQ,aAAA,CAAoBiJ,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAQA,GAAEnK,CACF,IAAI4V,CAAJ,EACY,CADZ,CACQ5V,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuC4B,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAOiU,CAAA5V,OAAP,CAAA,CAA4B4V,CAAA,EAAO,GACnCtD,EAAA,EAAOsD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADA7V,CAAJ,GAAU,IAAAL,OAAV,EAAyBK,CAAzB,GAA+B,IAAAH,MAA/B,CACIgW,CADJ,EACW7V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESI,CAAJ,GAAU,IAAAL,OAAV,CACDkW,CADC,EACM7V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC;AAEII,CAAJ,GAAU,IAAAH,MAAV,CACDgW,CADC,EACM7V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGDiW,CAHC,EAGM7V,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAiCgW,CAAA,EAAkB,CAAlB,GAAY5V,CAAZ,EAAuBA,CAAvB,GAA6B4B,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAIgU,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAA5V,OAAP,CAAA,CAA4B4V,CAAA,EAAO,GACnCtD,EAAA,EAAOsD,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUrD,CAAV,CAAgBsD,CArCqB,CAmDhD/W,EAAA8D,UAAA,CAAuBoT,QAAQ,CAAChJ,CAAD,CAAMhO,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrD2C,EAAIoL,CAAA/M,OACJ8B,EAAAA,CAAK,IAAIjD,CAAJ,EAAiB8C,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B5C,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrDe,EAAI,CAHiD,CAG9CiW,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD7B,EAAO,CAAA,CACX,CAAOzU,CAAP,CAAS4B,CAAT,CAAA,CAAY,CACR,OAAQsU,CAAR,CAAalJ,CAAAuJ,OAAA,CAAWvW,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAImX,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB7B,CAAA,CAAO,CAAA,CAAM,MADG,CAGpB2B,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMfvU,CAAApC,OAAA,CAAYoC,CAAAnC,aAAZ,CAA8BmC,CAAAlC,MAA9B,CAAyCoW,CACzCE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKlX,CAAAA,CAAL,CAAe,CACX,GAAImX,CAAJ,EAAUE,CAAV,CAAc,CACV7B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd2B,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMfvU,CAAApC,OAAA,CAAYoC,CAAAlC,MAAZ,CAAuBoW,CACvBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKlX,CAAAA,CAAL,CAAe,CACX,GAAImX,CAAJ,EAAUC,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM;KADH,CAGd2B,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMftU,CAAApC,OAAA,CAAYoC,CAAAnC,aAAZ,CAA8BqW,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKlX,CAAAA,CAAL,CAAe,CACX,GAAImX,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR2B,CAAA,CAAK,CAAA,CAJM,CAMfrU,CAAApC,OAAA,CAAYsW,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKlX,CAAAA,CAAL,CAAe,CACX,GAAIqX,CAAJ,EAAUD,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd6B,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMftU,CAAAlC,MAAA,CAAWkC,CAAAnC,aAAX,CAA6BqW,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKlX,CAAAA,CAAL,CAAe,CACX,GAAIqX,CAAJ,CAAQ,CACJ7B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR6B,CAAA,CAAK,CAAA,CAJM,CAMfvU,CAAAlC,MAAA,CAAWoW,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKlX,CAAAA,CAAL,CAAe,CACX,GAAIoX,CAAJ,CAAQ,CACJ5B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR4B,CAAA,CAAK,CAAA,CAJM,CAMftU,CAAAnC,aAAA,CAAkBqW,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAKlX,CAAAA,CAAL,EACQkX,CADR,CACY,CACJ1B,CAAA,CAAO,CAAA,CAAM,MADT,CAIZtK,CAAA,CAAIqM,QAAA,CAASN,CAAT,CAAYlJ,CAAAuJ,OAAA,CAAWvW,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAKf,CAAAA,CAAL,GACQwX,KAAA,CAAMtM,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAMrH,UAAA,CAAU,yCAAV,CAAN,CAERf,CAAAtC,KAAA4D,SAAA,CAAiB4S,CAAA,EAAjB;AAAsB9L,CAAtB,CACAgM,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAI1B,CAAJ,CACI,KAAM3R,UAAA,CAAU,iCAAV,CAA4C9C,CAA5C,CAAN,CA1FI,CA4FZ,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAKmX,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAMxT,UAAA,CAAU,sCAAV,CAAN,CACJ,GAAImT,CAAJ,CAAMlU,CAAAzC,OAAA4D,WAAN,CACI,KAAMJ,UAAA,CAAU,uDAAV,CAAkEmT,CAAlE,CAAoE,KAApE,CAA0ErU,CAA1E,CAAN,CAJO,CAMf,MAAOG,EAzGkD,CAqH7Dd,EAAA4S,MAAA,CAA4B6C,QAAQ,CAACrG,CAAD,CAAQC,CAAR,CAAa,CAC7CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA1Q,OAA/B,CAA6C0Q,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAAzQ,MAA7B,CAA0CyQ,CAChD,IAAKrR,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN;AACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAYpB,IAf6C,IAazCqP,EAAU3R,KAAJ,CAAU0P,CAAV,CAAgBD,CAAhB,CAbmC,CAczClG,CACJ,CAAOkG,CAAP,CAAeC,CAAf,CAAA,CACInG,CACA,CADI,IAAA1K,KAAAoF,SAAA,CAAmBwL,CAAA,EAAnB,CACJ,CAAQ,EAAR,CAAIlG,CAAJ,CACIoI,CAAA5R,KAAA,CAAS,GAAT,CAAcwJ,CAAA/G,SAAA,CAAW,EAAX,CAAd,CADJ,CAEKmP,CAAA5R,KAAA,CAASwJ,CAAA/G,SAAA,CAAW,EAAX,CAAT,CAET,OAAOmP,EAAAhS,KAAA,CAAS,EAAT,CArBsC,CAkCjDzB,EAAA2D,QAAA,CAAqBkU,QAAQ,CAAC3J,CAAD,CAAMhO,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO+N,EAAX,CACI,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIkK,CAAA/M,OAAJ,CAAiB,CAAjB,CACI,KAAM6C,UAAA,CAAU,yCAAV,CAAN,CAJO,CADwC,IAOnDlB,EAAIoL,CAAA/M,OACJ8B,EAAAA,CAAK,IAAIjD,CAAJ,CAAgB8C,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4B5C,CAA5B,CAET,KAHA,IAEImL,CAFJ,CAGSnK,EAAE,CAHX,CAGciW,EAAE,CAAhB,CAAmBjW,CAAnB,CAAqB4B,CAArB,CAAwB5B,CAAxB,EAA2B,CAA3B,CAA8B,CAC1BmK,CAAA,CAAIqM,QAAA,CAASxJ,CAAA4J,UAAA,CAAc5W,CAAd;AAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAKf,CAAAA,CAAL,GACS,CAAA4X,QAAA,CAAS1M,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAMrH,UAAA,CAAU,0CAAV,CAAN,CACRf,CAAAtC,KAAA4D,SAAA,CAAiB4S,CAAA,EAAjB,CAAsB9L,CAAtB,CAL0B,CAO9BpI,CAAAlC,MAAA,CAAWoW,CACX,OAAOlU,EAlBgD,CA4B3D,KAAIkL,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,EAAgB,OAPV,CAeN,EAAa6J,QAAQ,CAACzC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAIzF,EAAK,IACU,SAAnB,GAAI,MAAOwF,EAAX,GACIxF,CACA,CADKwF,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAOxF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BwF,CAAA,EAA5B,EAAA,CACa,GAAT,CAAIxF,CAAJ,CACIyF,CAAA,CAAIzF,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACDyF,CAAA,CAAMzF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ,CACDyF,CAAA,CAAMzF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKDyF,CAAA,CAAMzF,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAAyF,CAAA,CAAMzF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAAyF,CAAA,CAAMzF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAAyF,CAAA,CAAKzF,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA,CAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,EAAakI,QAAQ,CAAC1C,CAAD,CAAMC,CAAN,CAAW,CACVG,QAAA,EAAQ,CAACtK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAA1G,MAAA,CAAQ,CAAR,CAAW0G,CAAA6M,QAAA,CAAU,IAAV,CAAX,CACJ,KAAItM,EAAM7H,KAAA,CAAMsH,CAAA/G,SAAA,EAAN,CACVsH;CAAAuM,KAAA,CAAW,gBACXvM,EAAA,MAAA,CAAeP,CACf,MAAMO,EAAN,CAL+B,CAOnC,IARiC,IAC7BwM,CAD6B,CAC1B/M,CAD0B,CACvBuK,CADuB,CACpByC,CAOb,CAAuB,IAAvB,IAAQD,CAAR,CAAY7C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAK6C,CAAL,CAAO,GAAP,EACI5C,CAAA,CAAI4C,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADE/M,CACF,CADMkK,CAAA,EACN,GAD0BI,CAAA,CAAK,CAACyC,CAAD,CAAI/M,CAAJ,CAAL,CAC1B,CAAAmK,CAAA,EAAM4C,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqB/M,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAK+M,CAAL,CAAO,GAAP,EACc,IACf,IADE/M,CACF,CADIkK,CAAA,EACJ,GADqC,IACrC,IADwBK,CACxB,CAD0BL,CAAA,EAC1B,GAD8CI,CAAA,CAAK,CAACyC,CAAD,CAAI/M,CAAJ,CAAOuK,CAAP,CAAL,CAC9C,CAAAJ,CAAA,EAAM4C,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuB/M,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCuK,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAKwC,CAAL,CAAO,GAAP,EACc,IACf,IADE/M,CACF,CADIkK,CAAA,EACJ,GADqC,IACrC,IADwBK,CACxB,CAD0BL,CAAA,EAC1B,GAD2D,IAC3D,IAD8C8C,CAC9C,CADgD9C,CAAA,EAChD,GADoEI,CAAA,CAAK,CAACyC,CAAD,CAAI/M,CAAJ,CAAOuK,CAAP,CAAUyC,CAAV,CAAL,CACpE,CAAA7C,CAAA,EAAM4C,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuB/M,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCuK,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDyC,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAM9X,WAAA,CAAW,yBAAX,CAAqC6X,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,EAAcE,QAAQ,CAAC/C,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9B+C,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmBjD,CAAA,EADjC,EAAA,CAGc,KAAV,EAAIgD,CAAJ,EAA0B,KAA1B;AAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACcjD,CAAA,EADd,GAEkB,KAFlB,EAEYiD,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGYhD,CAAA,CAAgB,IAAhB,EAAK+C,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQAhD,CAAA,CAAI+C,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiBhD,CAAA,CAAIgD,CAAJ,CAfiB,CA/E3B,CAwGN,EAAcC,QAAQ,CAAClD,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAIzF,EAAK,IACU,SAAnB,GAAI,MAAOwF,EAAX,GACIxF,CAAU,CAALwF,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAOxF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BwF,CAAA,EAA5B,EAAA,CACc,KAAV,EAAIxF,CAAJ,CACIyF,CAAA,CAAIzF,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADAyF,CAAA,EAAKzF,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAAyF,CAAA,CAAKzF,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,EAAoB2I,QAAQ,CAACnD,CAAD,CAAMC,CAAN,CAAW,CACxCrH,CAAAwK,EAAA,CAAiBpD,CAAjB,CAAsB,QAAQ,CAACxF,CAAD,CAAK,CAC/B5B,CAAAyK,EAAA,CAAgB7I,CAAhB,CAAoByF,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,EAAoBqD,QAAQ,CAACtD,CAAD,CAAMC,CAAN,CAAW,CACxCrH,CAAA2B,EAAA,CAAgByF,CAAhB,CAAqB,QAAQ,CAACxF,CAAD,CAAK,CAC9B5B,CAAA6B,EAAA,CAAiBD,CAAjB,CAAqByF,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,EAAqBsD,QAAQ,CAAC/I,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,EAAgBgJ,QAAQ,CAACxD,CAAD,CAAM,CAE/B,IAF+B,IAC3BxF,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAawF,CAAA,EAAb,EAAA,CACInF,CAAA,EAAKjC,CAAA6K,EAAA,CAAwBjJ,CAAxB,CACT,OAAOK,EAJwB,CAhKxB,CA6KN,EAAuB6I,QAAQ,CAAC1D,CAAD,CAAM,CAAA,IAClCzK;AAAE,CADgC,CAC7BsF,EAAE,CACXjC,EAAAwK,EAAA,CAAiBpD,CAAjB,CAAsB,QAAQ,CAACxF,CAAD,CAAK,CAC/B,EAAEjF,CAAGsF,EAAA,EAAKjC,CAAA6K,EAAA,CAAwBjJ,CAAxB,CADqB,CAAnC,CAGA,OAAO,CAACjF,CAAD,CAAGsF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOjC,EA7LW,CAAX,EAyMXhM,EAAA0S,OAAA,CAA6BqE,QAAQ,CAAC3H,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA1Q,OAA1C,CACmB,YAAnB,GAAI,MAAO2Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAAzQ,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOoR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMvN,UAAA,CAAU,+BAAV,CAAN,CACJuN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMxN,UAAA,CAAU,6BAAV,CAAN,CACJwN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAhR,OAAA4D,WAAtC,CACI,KAAM7D,WAAA,CAAW,sBAAX,CAAkCgR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAhR,OAAA4D,WAA1D,CAAN,CARY,CAUpB,IAAIsK,CAAI,IAAI,CACRP,CAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO4C,EAAA;AAAQC,CAAR,CAAc,IAAA7Q,KAAAoF,SAAA,CAAmBwL,CAAA,EAAnB,CAAd,CAA4C,IADrB,CAAXhD,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBrN,CAAA,EAFnB,CADQ,CAIV,MAAO8X,CAAP,CAAU,CACR,GAAI5H,CAAJ,GAAcC,CAAd,CACI,KAAMjR,WAAA,CAAW,iCAAX,CAA6CgR,CAA7C,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CAFI,CAIZ,MAAO9C,EAAA,EArBuC,CAkClD1O,EAAA6D,SAAA,CAAsBuV,QAAQ,CAAClL,CAAD,CAAMhO,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO+N,EADf,CAEQ,KAAMlK,UAAA,CAAU,2BAAV,CAAN,CAHgD,IAIpDf,EAAK,IAAIjD,CAAJ,CAAemO,CAAAC,EAAA,CAA0BpN,CAAA,CAAakN,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsEhO,CAAtE,CAAoFC,CAApF,CAJ+C,CAKpDe,EAAI,CACRiN,EAAAG,EAAA,CAAuBtN,CAAA,CAAakN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClDpI,CAAAtC,KAAA4D,SAAA,CAAiBrD,CAAA,EAAjB,CAAsBmK,CAAtB,CADkD,CAAtD,CAGApI,EAAAlC,MAAA,CAAWG,CACX,OAAO+B,EAViD,CAc5D,OAAOjD,EAzyGa;AAVV,GAAsB,UAAtB,GAAI,MAAOqZ,OAAX,EAAoCA,MAAA,IAApC,CACNA,MAAA,CAAO,CAAC,MAAD,CAAP,CAAiBC,CAAjB,CADM,KAEU,IAAuB,UAAvB,GAAI,MAAOC,QAAX,EAAuD,QAAvD,GAAqC,MAAOC,OAA5C,EAAmEA,MAAnE,EAA6EA,MAAA,QAA7E,CAAA,CAChBA,IAAAA,EAAAA,MAAAA,CAAoB,CAApBA,CACQzZ,CAAM,IAAI,CAAEA,CAAA,CAAOwZ,OAAA,CAAQ,MAAR,CAAT,CAA4B,MAAOJ,CAAP,CAAU,EACpD,CAAA,CAAOG,CAAA,CAAQvZ,CAAR,CAFXyZ,EAAA,QAAA,CAAoB,CADJ,CAAA,IAMhB,CAELC,IAFM,QAAD,CAELA,IAF0B,QAArB,EAA0C,EAA1C,YAAA,CAA8DH,CAAA,CAEnEG,IAF2E,QAAA,KAAR;", +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], "names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","value","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/scripts/build.js b/scripts/build.js index a5c6f55..b517e68 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -96,7 +96,7 @@ delete scope.BUFFERVIEW; console.log("Building ByteBufferAB with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( path.join(distDir, "ByteBufferAB.js"), - MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferAB.js")), filename, scope) + MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap.js")), filename, scope) ); // Build alternative browser ByteBuffer using a DataView @@ -105,7 +105,7 @@ scope.DATAVIEW = true; console.log("Building ByteBufferAB_DataView with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( path.join(distDir, "ByteBufferAB_DataView.js"), - MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferAB_DataView.js")), filename, scope) + MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap.js")), filename, scope) ); // Update bower.json diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 7f4fbd5..5f5f90e 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -214,4 +214,4 @@ var ByteBufferPrototype = ByteBuffer.prototype; //? if (ENCODINGS) { //? include("encodings/*.js"); -//? } +//? } \ No newline at end of file diff --git a/src/ByteBufferAB_DataView.js b/src/ByteBufferAB_DataView.js deleted file mode 100644 index ae1943a..0000000 --- a/src/ByteBufferAB_DataView.js +++ /dev/null @@ -1,42 +0,0 @@ -/* - Copyright 2013-2014 Daniel Wirtz - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ -//? NODE = false; DATAVIEW = true; - -/** - * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB_DataView - Backing buffer: ArrayBuffer, Accessor: DataView - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details - */ // -(function(global, factory) { - - /* AMD */ if (typeof define === 'function' && define["amd"]) - define(["Long"], factory); - /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) - module['exports'] = (function() { - var Long; try { Long = require("long"); } catch (e) {} - return factory(Long); - })(); - /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); - -})(this, function(Long) { - "use strict"; - - //? include("ByteBuffer.js"); - - return ByteBuffer; -}); diff --git a/src/encodings/base64.js b/src/encodings/base64.js index 5b55ebc..347ec0d 100644 --- a/src/encodings/base64.js +++ b/src/encodings/base64.js @@ -94,4 +94,4 @@ ByteBuffer.atob = function(b64) { return ByteBuffer.fromBase64(b64).toBinary(); }; -//? } +//? } \ No newline at end of file diff --git a/src/encodings/binary.js b/src/encodings/binary.js index 9fbf4b5..7eec7a1 100644 --- a/src/encodings/binary.js +++ b/src/encodings/binary.js @@ -90,4 +90,4 @@ ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { return bb; }; -//? } +//? } \ No newline at end of file diff --git a/src/encodings/hex.js b/src/encodings/hex.js index 986c18f..5a0cbcf 100644 --- a/src/encodings/hex.js +++ b/src/encodings/hex.js @@ -74,4 +74,4 @@ ByteBuffer.fromHex = function(str, littleEndian, noAssert) { return bb; }; -//? } +//? } \ No newline at end of file diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index b9d28db..0107fee 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -70,4 +70,4 @@ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { return bb; }; -//? } +//? } \ No newline at end of file diff --git a/src/ByteBufferAB.js b/src/wrap.js similarity index 93% rename from src/ByteBufferAB.js rename to src/wrap.js index 80d9ffc..ddeb526 100644 --- a/src/ByteBufferAB.js +++ b/src/wrap.js @@ -13,14 +13,16 @@ See the License for the specific language governing permissions and limitations under the License. */ -//? NODE = false; DATAVIEW = false; /** * @license ByteBuffer.js (c) 2015 Daniel Wirtz +//? if (DATAVIEW) + * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView +//? else * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/ByteBuffer.js for details - */ // + */ (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) @@ -37,6 +39,5 @@ "use strict"; //? include("ByteBuffer.js"); - return ByteBuffer; }); From e5e94adb20ae6fa06412cdf6e28567bee52edd8e Mon Sep 17 00:00:00 2001 From: dcode Date: Sun, 21 Jun 2015 01:01:28 +0200 Subject: [PATCH 65/91] Separate node/browser wrappers --- dist/ByteBufferAB.min.js.gz | Bin 8321 -> 8321 bytes dist/ByteBufferAB_DataView.min.js.gz | Bin 7664 -> 7664 bytes dist/ByteBufferNB.js | 2 +- package.json | 89 +++++++++++++++----------- scripts/build.js | 2 +- src/{ByteBufferNB.js => wrap_node.js} | 2 +- tests/bench.js | 78 ++++++++++++++++++++++ 7 files changed, 131 insertions(+), 42 deletions(-) rename src/{ByteBufferNB.js => wrap_node.js} (98%) create mode 100644 tests/bench.js diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index d708d7b3bdf7daba25dcf1eb071330d2859e084f..bdd3a31c48af58b85225fba15ab2da096a8864b7 100644 GIT binary patch delta 16 XcmZp4Y;@Q^jJDmpV delta 16 Xcmexh{lS`DzMF%Cv9EC>`%75>H0uTC diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 76c4d9d..dff4f53 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -24,7 +24,7 @@ module.exports = (function() { "use strict"; var buffer = require("buffer"), - Buffer = buffer['Buffer'], + Buffer = buffer["Buffer"], Long = require("long"), memcpy = null; try { memcpy = require("memcpy"); } catch (e) {} diff --git a/package.json b/package.json index fff31d6..12ceb4d 100644 --- a/package.json +++ b/package.json @@ -1,41 +1,52 @@ { - "name": "bytebuffer", - "version": "4.0.0-pre", - "author": "Daniel Wirtz ", - "description": "The swiss army knife for binary data in JavaScript.", - "main": "index.js", - "browser": "dist/ByteBufferAB.js", - "repository": { - "type": "git", - "url": "https://github.com/dcodeIO/ByteBuffer.js.git" - }, - "bugs": { - "url": "https://github.com/dcodeIO/ByteBuffer.js/issues" - }, - "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], - "dependencies": { - "long": "~2 >=2.2.3", - "bufferview": "~1" - }, - "devDependencies": { - "utfx": "~1", - "lxiv": "~0.2", - "testjs": "~1", - "metascript": "~0", - "closurecompiler": "~1" - }, - "license": "Apache-2.0", - "engines": { - "node": ">=0.8" - }, - "scripts": { - "prepublish": "npm test", - "test": "node node_modules/testjs/bin/testjs tests/suite.js", - "make": "npm run-script build && npm run-script compile && npm run-script compress && npm test", - "build": "node scripts/build.js", - "compile": "npm run-script compileAB && npm run-script compileAB_DataView", - "compileAB": "ccjs dist/ByteBufferAB.js --create_source_map=dist/ByteBufferAB.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB.min.js", - "compileAB_DataView": "ccjs dist/ByteBufferAB_DataView.js --create_source_map=dist/ByteBufferAB_DataView.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB_DataView.min.js", - "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz && gzip -c -9 dist/ByteBufferAB_DataView.min.js > dist/ByteBufferAB_DataView.min.js.gz" - } + "name": "bytebuffer", + "version": "4.0.0-pre", + "author": "Daniel Wirtz ", + "description": "The swiss army knife for binary data in JavaScript.", + "main": "index.js", + "browser": "dist/ByteBufferAB.js", + "repository": { + "type": "git", + "url": "https://github.com/dcodeIO/ByteBuffer.js.git" + }, + "bugs": { + "url": "https://github.com/dcodeIO/ByteBuffer.js/issues" + }, + "keywords": [ + "net", + "array", + "buffer", + "arraybuffer", + "typed array", + "bytebuffer", + "json", + "websocket", + "webrtc" + ], + "dependencies": { + "long": "~2 >=2.2.3", + "bufferview": "~1" + }, + "devDependencies": { + "closurecompiler": "~1", + "lxiv": "~0.2", + "metascript": "~0", + "pretty-hrtime": "^1.0.0", + "testjs": "~1", + "utfx": "~1" + }, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + }, + "scripts": { + "prepublish": "npm test", + "test": "node node_modules/testjs/bin/testjs tests/suite.js", + "make": "npm run-script build && npm run-script compile && npm run-script compress && npm test", + "build": "node scripts/build.js", + "compile": "npm run-script compileAB && npm run-script compileAB_DataView", + "compileAB": "ccjs dist/ByteBufferAB.js --create_source_map=dist/ByteBufferAB.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB.min.js", + "compileAB_DataView": "ccjs dist/ByteBufferAB_DataView.js --create_source_map=dist/ByteBufferAB_DataView.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB_DataView.min.js", + "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz && gzip -c -9 dist/ByteBufferAB_DataView.min.js > dist/ByteBufferAB_DataView.min.js.gz" + } } diff --git a/scripts/build.js b/scripts/build.js index b517e68..59c1b02 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -86,7 +86,7 @@ scope.NODE = true; console.log("Building ByteBufferNB with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( path.join(distDir, "ByteBufferNB.js"), - MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "ByteBufferNB.js")), filename, scope, srcDir) + MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap_node.js")), filename, scope, srcDir) ); // Build browser ByteBuffer using Typed Arrays diff --git a/src/ByteBufferNB.js b/src/wrap_node.js similarity index 98% rename from src/ByteBufferNB.js rename to src/wrap_node.js index aaaaf4a..c65ca85 100644 --- a/src/ByteBufferNB.js +++ b/src/wrap_node.js @@ -25,7 +25,7 @@ module.exports = (function() { "use strict"; var buffer = require("buffer"), - Buffer = buffer['Buffer'], + Buffer = buffer["Buffer"], //? if (BUFFERVIEW) BufferView = require("bufferview"), Long = require("long"), diff --git a/tests/bench.js b/tests/bench.js new file mode 100644 index 0000000..172ec01 --- /dev/null +++ b/tests/bench.js @@ -0,0 +1,78 @@ +var ByteBuffer = require("../index.js"), + prettyHrTime = require("pretty-hrtime"); + +var impls = [ + { name: "ByteBufferNB", impl: ByteBuffer.ByteBufferNB }, + { name: "ByteBufferAB", impl: ByteBuffer.ByteBufferAB }, + { name: "ByteBufferAB_DataView", impl: ByteBuffer.ByteBufferAB_DataView } +]; + +var bench = {}; + +bench["allocate"] = function(ByteBuffer, n) { + n = n || 10000; + for (var i=0; i Date: Thu, 25 Jun 2015 02:44:03 +0200 Subject: [PATCH 66/91] Add 'duck type check' for isByteBuffer, see #52. Alias calculateUTF8Bytes as calculateString --- dist/ByteBufferAB.js | 32 ++++- dist/ByteBufferAB.min.js | 167 ++++++++++++++------------- dist/ByteBufferAB.min.js.gz | Bin 8321 -> 8375 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferAB_DataView.js | 32 ++++- dist/ByteBufferAB_DataView.min.js | 160 ++++++++++++------------- dist/ByteBufferAB_DataView.min.js.gz | Bin 7664 -> 7721 bytes dist/ByteBufferAB_DataView.min.map | 4 +- dist/ByteBufferNB.js | 30 ++++- src/ByteBuffer.js | 15 +++ src/methods/static/isByteBuffer.js | 2 +- src/methods/static/wrap.js | 2 +- src/types/strings/utf8string.js | 15 ++- tests/bench.js | 7 ++ tests/suite.js | 14 ++- 15 files changed, 298 insertions(+), 188 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index fae995c..ec3ffa2 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -179,6 +179,21 @@ */ var ByteBufferPrototype = ByteBuffer.prototype; + /** + * An indicator used to reliably determine if an object is a ByteBuffer or not. + * @type {boolean} + * @const + * @expose + * @private + */ + ByteBufferPrototype.__isByteBuffer__; + + Object.defineProperty(ByteBuffer.prototype, "__isByteBuffer__", { + value: true, + enumerable: false, + configurable: false + }); + // helpers /** @@ -295,7 +310,7 @@ * @expose */ ByteBuffer.isByteBuffer = function(bb) { - return (bb && bb instanceof ByteBuffer) === true; + return (bb && bb["__isByteBuffer__"]) === true; }; /** * Gets the backing buffer type. @@ -369,7 +384,7 @@ } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets bb = new ByteBuffer(buffer.length, littleEndian, noAssert); bb.limit = buffer.length; - for (i=0; ia)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= -b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a instanceof g)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&& -(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+ -" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+= -1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b); -b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian? -(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeInt=f.writeInt32;f.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% -1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};f.readInt=f.readInt32;f.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]= -a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeUInt32=f.writeUint32;f.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+ -2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};f.readUInt32=f.readUint32;k&&(f.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]= -e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeLong=f.writeInt64,f.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0); -a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255, -this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian? -(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&& -(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a& -1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b); -b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128===(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value= -g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!== -a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& -a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>> -0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]= -1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&& -(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<< -21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*= -2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+ -a+" < "+this.limit);e=this.view[a++];return 0===e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+=4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d}; -f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>> -0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a), -this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; -if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength}; -f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d); -e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0> -b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b; -d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this}; -f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ -c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+ -this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone(); -c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v; -a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, -c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4& -15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61=== -e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(), -a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l= -!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r= -!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")}; -g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63); -else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296), -c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a, +b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b= +new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4); +return this};f.writeInt=f.writeInt32;f.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+ +3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};f.readInt=f.readInt32;f.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeUInt32=f.writeUint32;f.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};f.readUInt32=f.readUint32;k&&(f.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a); +else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8; +var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeLong=f.writeInt64,f.readInt64= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+ +1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4, +this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= +this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; +f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian, +52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= +function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a, +b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128=== +(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128> +c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a? +a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!== +d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++], +e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag= +function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0; +if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+ +1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0===e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+=4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+ +2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d};f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); +}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]}; +g.calculateString=g.calculateUTF8Bytes;f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ +this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a),this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c? +(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*= +2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength};f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)): +(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ +b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d);e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a, +b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h); +a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian= +"undefined"!==typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; +f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ +")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, +116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== +typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| +a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b=== +this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| +b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; +b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& +56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c; +d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return 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 N-vHnUA31NW0023WL>vGB literal 8321 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 8f86c9b..2ec8841 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":92, -"mappings":"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", +"lineCount":93, +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","Object","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index 4124d2c..4307e84 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -179,6 +179,21 @@ */ var ByteBufferPrototype = ByteBuffer.prototype; + /** + * An indicator used to reliably determine if an object is a ByteBuffer or not. + * @type {boolean} + * @const + * @expose + * @private + */ + ByteBufferPrototype.__isByteBuffer__; + + Object.defineProperty(ByteBuffer.prototype, "__isByteBuffer__", { + value: true, + enumerable: false, + configurable: false + }); + // helpers /** @@ -296,7 +311,7 @@ * @expose */ ByteBuffer.isByteBuffer = function(bb) { - return (bb && bb instanceof ByteBuffer) === true; + return (bb && bb["__isByteBuffer__"]) === true; }; /** * Gets the backing buffer type. @@ -370,7 +385,7 @@ } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets bb = new ByteBuffer(buffer.length, littleEndian, noAssert); bb.limit = buffer.length; - for (i=0; ia)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a instanceof -f)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b= -e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+ -" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength); -}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+= -4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian); -b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*= -2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32= -e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a= -k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b, -a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a, -!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); -}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+= -8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d& -127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a): -"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a, -!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7& -1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c? -(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e=0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++), -d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d, -length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;m.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!== -typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=m.a(n(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+ -b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;m.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,h=b;d=m.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);b-=d;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)"); -a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=s();m.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;m.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,l;e=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(e);b+=l+e;var g=this.buffer.byteLength; -b>g&&this.resize((g*=2)>b?g:b);b-=l+e;b+=this.writeVarint32(e,b);m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+e+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+l));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();m.b(function(){return a>>=0;if(0>c|| -c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength}; -e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&& -(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset= -0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(e= -"undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);l&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b= -this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset); -if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer); -return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+ -this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, -112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&& -(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>= -0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"): -b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,l=0,g=0;le||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString()); -b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>= -d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c= -0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.b(function(){return a< -b?this.view.getUint8(a++):null}.bind(this),c=s())}catch(d){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(m.a(n(a),!0)[1],b,c),e=0;m.c(n(a),function(a){d.view.setUint8(e++,a)});d.limit=e;return d};return f} -if("function"===typeof define&&define.amd)define(["Long"],t);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){var x=module,y,z;try{z=require("long")}catch(A){}y=t(z);x.exports=y}else(this.dcodeIO=this.dcodeIO||{}).ByteBuffer=t(this.dcodeIO.Long); +null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+v.apply(String,a);1024=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset), +b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+ +b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes= +e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& +(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ +0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== +typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; +if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+ +3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES= +10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, +f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*= +2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128: +h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= +0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); +d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;m.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=m.a(n(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.c(n(a),function(a){this.view.setUint8(b++, +a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= +a+c;m.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, +h=b;d=m.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};f.calculateString=f.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&& +(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=s();m.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;m.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}var d=b,e,l;e=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(e);b+=l+e;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+e;b+=this.writeVarint32(e,b);m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+e+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+l));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();m.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, +b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; +b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= +b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); +b=(l="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);l&&(a.offset+= +g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, +b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, +b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); +b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+ +this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, +83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, +h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= +this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== +this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), +16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,l=0,g=0;le||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? +c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, +g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, +c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.b(function(){return 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 literal 7664 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 eAj|eS?U(x>*tYg Date: Thu, 25 Jun 2015 15:49:09 +0200 Subject: [PATCH 67/91] Commented bench.js --- scripts/build.js | 2 +- tests/bench.js | 14 ++++++++++++++ tests/buffer_utfx.js | 35 ----------------------------------- 3 files changed, 15 insertions(+), 36 deletions(-) delete mode 100644 tests/buffer_utfx.js diff --git a/scripts/build.js b/scripts/build.js index 59c1b02..a0e9502 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -72,7 +72,7 @@ var scope = { ALIASES : true, // Include aliases like writeByte, writeShort .. BUFFERVIEW : false, // Include BufferView as ByteBuffer#view under node - INLINE : true, // Inline whatever possible for maximum performance + INLINE : true, // Inline any assertion code VERBOSE_MS : false // Include MetaScript details as comments }; diff --git a/tests/bench.js b/tests/bench.js index 1f4c206..06e23cc 100644 --- a/tests/bench.js +++ b/tests/bench.js @@ -1,3 +1,17 @@ +// a simple benchmark utility comparing performance between the different builds. + +// Uint8Array observations (compared to node Buffers) +// - seems to be pretty much equal for byte ops + +// DataView observations (compared to Uint8Array): +// - allocation is about 2 times slower +// - writing is about 5 times (int32) to 10 times (varint) slower +// - reading is about 3 times slower + +// UTF8 encoding observations (compared to node's string/buffer API) +// - the longer the string, the poorer is read/write performance +// - either utfx doesn't cut it yet, or node's bindings simply outperform everything js here + var ByteBuffer = require("../index.js"), prettyHrTime = require("pretty-hrtime"); diff --git a/tests/buffer_utfx.js b/tests/buffer_utfx.js deleted file mode 100644 index cac13ab..0000000 --- a/tests/buffer_utfx.js +++ /dev/null @@ -1,35 +0,0 @@ -// This file compares encoding speed of an intermediate node Buffer with using utfx directly. -// Turns out that utfx is about 2.4 times faster when writing while buffers are about 2.4 times faster when reading. -// EDIT: This seems to be true for small strings (<=11 bytes) only. - -var utfx = require("utfx"); - -var sample = "hello world"; - -(function() { - console.time("Buffer write"); - for (var i=0; i<100000; ++i) - new Buffer(sample, "utf8"); - console.timeEnd("Buffer write"); - var buf = new Buffer(sample, "utf8"); - console.time("Buffer read"); - for (i=0; i<100000; ++i) - buf.toString("utf8"); - console.timeEnd("Buffer read"); -})(); - -(function() { - console.time("utfx write"); - for (var i=0; i<100000; ++i) - utfx.encodeUTF16toUTF8(utfx.stringSource(sample), function(b) {}); - console.timeEnd("utfx write"); - var arr = new Buffer(sample, "utf8"); - console.time("utfx read"); - for (i=0; i<100000; ++i) { - var j=0; - utfx.decodeUTF8toUTF16(function() { - return j < arr.length ? arr[j++] : null; - }, function(c) {}); - } - console.timeEnd("utfx read"); -})(); From cf838b3f716505b998fe3fe09535a8224b8e1450 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 25 Jun 2015 16:24:07 +0200 Subject: [PATCH 68/91] utfx 1.0.1 --- dist/ByteBufferAB.js | 6 +-- dist/ByteBufferAB.min.js | 22 +++++----- dist/ByteBufferAB.min.js.gz | Bin 8375 -> 8386 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferAB_DataView.js | 6 +-- dist/ByteBufferAB_DataView.min.js | 62 +++++++++++++-------------- dist/ByteBufferAB_DataView.min.js.gz | Bin 7721 -> 7722 bytes dist/ByteBufferAB_DataView.min.map | 4 +- dist/ByteBufferNB.js | 6 +-- package.json | 2 +- src/ByteBuffer.js | 2 +- 11 files changed, 57 insertions(+), 57 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index ec3ffa2..0c8c2ea 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -188,7 +188,7 @@ */ ByteBufferPrototype.__isByteBuffer__; - Object.defineProperty(ByteBuffer.prototype, "__isByteBuffer__", { + Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { value: true, enumerable: false, configurable: false @@ -3640,7 +3640,7 @@ utfx.calculateUTF8 = function(src) { var cp, l=0; while ((cp = src()) !== null) - l += utfx.calculateCodePoint(cp); + l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; return l; }; @@ -3653,7 +3653,7 @@ utfx.calculateUTF16asUTF8 = function(src) { var n=0, l=0; utfx.UTF16toUTF8(src, function(cp) { - ++n; l += utfx.calculateCodePoint(cp); + ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; }); return [n,l]; }; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 49e25e5..27fff05 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -7,9 +7,9 @@ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= -b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a, -b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b= +b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b, +c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b= new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ @@ -54,7 +54,7 @@ if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an i }var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]}; g.calculateString=g.calculateUTF8Bytes;f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ -this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.g(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a),this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c? (this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ ")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, -116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== +116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| +a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b=== this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; +(!isFinite(e)||0>e||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& -56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b,c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c; -d+=a.f(b)});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c= +0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); +}var c;try{l.b(function(){return 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 2ec8841..35e2ea5 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":93, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","calculateCodePoint","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index 4307e84..e7fd05f 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -188,7 +188,7 @@ */ ByteBufferPrototype.__isByteBuffer__; - Object.defineProperty(ByteBuffer.prototype, "__isByteBuffer__", { + Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { value: true, enumerable: false, configurable: false @@ -3345,7 +3345,7 @@ utfx.calculateUTF8 = function(src) { var cp, l=0; while ((cp = src()) !== null) - l += utfx.calculateCodePoint(cp); + l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; return l; }; @@ -3358,7 +3358,7 @@ utfx.calculateUTF16asUTF8 = function(src) { var n=0, l=0; utfx.UTF16toUTF8(src, function(cp) { - ++n; l += utfx.calculateCodePoint(cp); + ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; }); return [n,l]; }; diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index 85c41dc..460fa52 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -4,11 +4,11 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset), -b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+ -b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= +b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== +a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes= e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& (this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); @@ -41,47 +41,47 @@ if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an i h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= 0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;m.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=m.a(n(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.c(n(a),function(a){this.view.setUint8(b++, +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= -a+c;m.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, -h=b;d=m.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};f.calculateString=f.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&& -(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=s();m.g(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;m.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, +h=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};f.calculateString=f.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&& +(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=s();l.f(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var d=b,e,l;e=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(e);b+=l+e;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+e;b+=this.writeVarint32(e,b);m.c(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+e+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+l));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();m.b(function(){return ag&&this.resize((g*=2)>b?g:b);b-=e+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+h+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); -b=(l="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);l&&(a.offset+= +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); +b=(n="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);n&&(a.offset+= g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, -b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+ this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, -83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.h=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, +83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= -this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.i(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== -this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), -16);if(!c&&(isNaN(g)||0>g||255d?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== +this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), +16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,l=0,g=0;le||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? -c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},g:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, -g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.j(b,c)})},b:function(b, -c){a.g(b,function(b){a.e(b,c)})},f:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(b){for(var c,d=0;null!==(c=b());)d+=a.f(c);return d},a:function(b){var c=0,d=0;a.d(b,function(b){++c;d+=a.f(b)});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.b(function(){return ae||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? +c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, +g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b, +c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aPavp%^90d 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 F007wHlw$w@ delta 5470 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 UrEmM}3 Date: Thu, 25 Jun 2015 17:41:04 +0200 Subject: [PATCH 69/91] Remove transparent flipping / always leave proper flipping to the user, 4.0.0 --- bower.json | 2 +- dist/ByteBufferAB.js | 14 ++-------- dist/ByteBufferAB.min.js | 14 +++++----- dist/ByteBufferAB.min.js.gz | Bin 8386 -> 8378 bytes dist/ByteBufferAB.min.map | 4 +-- dist/ByteBufferAB_DataView.js | 14 ++-------- dist/ByteBufferAB_DataView.min.js | 40 +++++++++++++-------------- dist/ByteBufferAB_DataView.min.js.gz | Bin 7722 -> 7700 bytes dist/ByteBufferAB_DataView.min.map | 4 +-- dist/ByteBufferNB.js | 19 ++----------- package.json | 2 +- src/methods/toBuffer.js | 21 ++------------ tests/suite.js | 2 ++ 13 files changed, 47 insertions(+), 89 deletions(-) diff --git a/bower.json b/bower.json index 7b12fc5..235d0c5 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "4.0.0-pre", + "version": "4.0.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 0c8c2ea..cdaf822 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "4.0.0-pre"; + ByteBuffer.VERSION = "4.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2881,8 +2881,7 @@ }; /** * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if * possible. Defaults to `false` * @returns {!ArrayBuffer} Contents as an ArrayBuffer @@ -2891,11 +2890,6 @@ ByteBufferPrototype.toBuffer = function(forceCopy) { var offset = this.offset, limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); @@ -2919,9 +2913,7 @@ /** * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of - * {@link ByteBuffer#toBuffer}. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. * @function * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. * Defaults to `false` diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 27fff05..8d09582 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -7,12 +7,12 @@ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= -b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b, -c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b= -new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& +(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ " (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); @@ -72,7 +72,7 @@ e),h=new Uint8Array(f);h.set(this.view.subarray(c,this.buffer.byteLength),b);thi this.toDebug(!0))};f.remaining=function(){return this.limit-this.offset};f.reset=function(){0<=this.markedOffset?(this.offset=this.markedOffset,this.markedOffset=-1):this.offset=0;return this};f.resize=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal capacity: "+a+" (not an integer)");a|=0;if(0>a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ ")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, 116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz index 749d6e5a19ace2bfc508f54733672d0880627139..1a755cb1a87b473cdbd6ce148c5fc8f499cee7d7 100644 GIT binary patch literal 8378 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 QGz6Xh0?LXuQ+BNY01^jW%K!iX literal 8386 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 YG-QDE)yE_L-G-p^UuWU;R*|g$0DM7N=Kufz diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 35e2ea5..6d17f63 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":93, -"mappings":"A;;;;;;AAkCS,QAAA,EAAQ,CAACA,CAAD,CAAO,CAeHC,QAAA,EAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAChC,WAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeD,CAAAI,iBADf,CAE4B,YAA5B,GAAI,MAAOF,EAAX,GACIA,CADJ,CACmBF,CAAAK,eADnB,CAEwB,YAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeH,CAAAM,iBADf,CAEA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,kBAAX,CAAN,CACJL,CAAA,CAAe,CAAEA,CAAAA,CACjBC,EAAA,CAAW,CAAEA,CAAAA,CALF,CAaf,IAAAK,OAAA,CAA2B,CAAb,GAAAP,CAAA,CAAiBQ,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBT,CAAhB,CAO9C,KAAAU,KAAA,CAAyB,CAAb,GAAAV,CAAA,CAAiB,IAAjB,CAAwB,IAAIW,UAAJ,CAAe,IAAAJ,OAAf,CASpC,KAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAad,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CApEsC,CA0K5Da,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf;AAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ,CAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CA29B7BQ,QAASA,EAAY,CAACxB,CAAD,CAASK,CAAT,CAAiBoB,CAAjB,CAAuBC,CAAvB,CAA6BC,CAA7B,CAAqC,CAAA,IAC/CC,CACHC,EAAAA,CAAgB,CAAhBA,CAAOF,CAAPE,CAAoBH,CAApBG,CAA2B,CAFuB,KAGlDC,GAAQ,CAARA,EAAaD,CAAbC,EAAqB,CAH6B,CAIlDC,EAAQD,CAARC,EAAgB,CAJkC,CAKlDC,EAAS,EACTtB,EAAAA,CAAIe,CAAA,CAAQE,CAAR,CAAiB,CAAjB,CAAsB,CANwB,KAOlDM,EAAIR,CAAA,CAAQ,EAAR,CAAY,CAPkC,CAQlDhB,EAAIT,CAAA,CAAOK,CAAP,CAAgBK,CAAhB,CAERA,EAAA,EAAKuB,CAELC,EAAA,CAAIzB,CAAJ,EAAU,CAAV,EAAgB,CAACuB,CAAjB,EAA2B,CAC3BvB,EAAA,GAAO,CAACuB,CAER,KADAA,CACA,EADSH,CACT,CAAe,CAAf,CAAOG,CAAP,CAAkBE,CAAA,CAAQ,GAAR,CAAIA,CAAJ,CAAclC,CAAA,CAAOK,CAAP,CAAgBK,CAAhB,CAAd,CAAkCA,CAAlC,EAAuCuB,CAAvC,CAA0CD,CAA1C,EAAmD,CAArE,EAEAJ,CAAA,CAAIM,CAAJ,EAAU,CAAV,EAAgB,CAACF,CAAjB,EAA2B,CAC3BE,EAAA,GAAO,CAACF,CAER,KADAA,CACA,EADSN,CACT,CAAe,CAAf,CAAOM,CAAP,CAAkBJ,CAAA,CAAQ,GAAR,CAAIA,CAAJ,CAAc5B,CAAA,CAAOK,CAAP,CAAgBK,CAAhB,CAAd,CAAkCA,CAAlC,EAAuCuB,CAAvC,CAA0CD,CAA1C,EAAmD,CAArE,EAEA,GAAU,CAAV,GAAIE,CAAJ,CACIA,CAAA,CAAI,CAAJ,CAAQH,CADZ,KAEO,CAAA,GAAIG,CAAJ,GAAUJ,CAAV,CACH,MAAOF,EAAA,CAAIO,GAAJ,CAA0BC,QAA1B,EAAY3B,CAAA,CAAK,EAAL;AAAS,CAArB,CAEPmB,EAAA,EAAQS,IAAAC,IAAA,CAAS,CAAT,CAAYZ,CAAZ,CACRQ,EAAA,EAAQH,CAJL,CAMP,OAAQtB,CAAA,CAAK,EAAL,CAAS,CAAjB,EAAsBmB,CAAtB,CAA0BS,IAAAC,IAAA,CAAS,CAAT,CAAYJ,CAAZ,CAAgBR,CAAhB,CA9B4B,CA2C1Da,QAASA,EAAa,CAACvC,CAAD,CAASwC,CAAT,CAAgBnC,CAAhB,CAAwBoB,CAAxB,CAA8BC,CAA9B,CAAoCC,CAApC,CAA4C,CAAA,IACpDc,CADoD,CAE1DZ,EAAgB,CAAhBA,CAAOF,CAAPE,CAAoBH,CAApBG,CAA2B,CAF+B,CAG1DC,GAAQ,CAARA,EAAaD,CAAbC,EAAqB,CAHqC,CAI1DC,EAAQD,CAARC,EAAgB,CAJ0C,CAK1DW,EAAe,EAAT,GAAAhB,CAAA,CAAcW,IAAAC,IAAA,CAAS,CAAT,CAAa,GAAb,CAAd,CAAiCD,IAAAC,IAAA,CAAS,CAAT,CAAa,GAAb,CAAjC,CAAoD,CAC1D5B,EAAAA,CAAIe,CAAA,CAAO,CAAP,CAAYE,CAAZ,CAAqB,CANiC,KAO1DM,EAAIR,CAAA,CAAO,CAAP,CAAY,EAP0C,CAQ1DhB,EAAY,CAAR,CAAA+B,CAAA,EAAwB,CAAxB,GAAcA,CAAd,EAAyC,CAAzC,CAA6B,CAA7B,CAAiCA,CAAjC,CAA8C,CAA9C,CAAkD,CAE1DA,EAAA,CAAQH,IAAAM,IAAA,CAASH,CAAT,CAEJI,MAAA,CAAMJ,CAAN,CAAJ,EAA8BJ,QAA9B,GAAoBI,CAApB,EACIZ,CACA,CADIgB,KAAA,CAAMJ,CAAN,CAAA,CAAe,CAAf,CAAmB,CACvB,CAAAN,CAAA,CAAIJ,CAFR,GAIII,CAeA,CAfIG,IAAAQ,MAAA,CAAWR,IAAAS,IAAA,CAASN,CAAT,CAAX,CAA6BH,IAAAU,IAA7B,CAeJ,CAdoC,CAcpC,CAdIP,CAcJ,EAdaC,CAcb,CAdiBJ,IAAAC,IAAA,CAAS,CAAT,CAAY,CAACJ,CAAb,CAcjB,IAbIA,CAAA,EACA,CAAAO,CAAA,EAAK,CAYT,EATID,CASJ,CAViB,CAAjB,EAAIN,CAAJ,CAAQH,CAAR,CACIS,CADJ,CACaE,CADb,CACkBD,CADlB,CAGID,CAHJ,CAGaE,CAHb,CAGkBL,IAAAC,IAAA,CAAS,CAAT,CAAY,CAAZ,CAAgBP,CAAhB,CAOlB,CALiB,CAKjB,EALIS,CAKJ,CALYC,CAKZ,GAJIP,CAAA,EACA,CAAAO,CAAA,EAAK,CAGT,EAAIP,CAAJ,CAAQH,CAAR,EAAiBD,CAAjB,EACIF,CACA,CADI,CACJ,CAAAM,CAAA,CAAIJ,CAFR,EAGwB,CAAjB,EAAII,CAAJ,CAAQH,CAAR,EACHH,CACA,EADKY,CACL,CADaC,CACb,CADiB,CACjB,EADsBJ,IAAAC,IAAA,CAAS,CAAT,CAAYZ,CAAZ,CACtB,CAAAQ,CAAA,EAAQH,CAFL,GAIHH,CACA,CADIY,CACJ,CADYH,IAAAC,IAAA,CAAS,CAAT,CAAYP,CAAZ,CAAoB,CAApB,CACZ,CADqCM,IAAAC,IAAA,CAAS,CAAT,CAAYZ,CAAZ,CACrC,CAAAQ,CAAA,CAAI,CALD,CAtBX,CA+BA,KAAA,CAAe,CAAf,EAAOR,CAAP,CAAkB1B,CAAA,CAAOK,CAAP,CAAgBK,CAAhB,CAAA;AAAqBkB,CAArB,CAAyB,GAAzB,CAA+BlB,CAA/B,EAAoCuB,CAApC,CAAuCL,CAAvC,EAA4C,GAA5C,CAAiDF,CAAjD,EAAyD,CAA3E,EAEAQ,CAAA,CAAKA,CAAL,EAAUR,CAAV,CAAkBE,CAElB,KADAC,CACA,EADQH,CACR,CAAc,CAAd,CAAOG,CAAP,CAAiB7B,CAAA,CAAOK,CAAP,CAAgBK,CAAhB,CAAA,CAAqBwB,CAArB,CAAyB,GAAzB,CAA+BxB,CAA/B,EAAoCuB,CAApC,CAAuCC,CAAvC,EAA4C,GAA5C,CAAiDL,CAAjD,EAAyD,CAA1E,EAEA7B,CAAA,CAAOK,CAAP,CAAgBK,CAAhB,CAAoBuB,CAApB,CAAA,EAA8B,GAA9B,CAA0BxB,CAjDoC,CA/mClEjB,CAAAwD,QAAA,CAAqB,WAQrBxD,EAAAyD,cAAA,CAA2B,CAAA,CAQ3BzD,EAAA0D,WAAA,CAAwB,CAAA,CAOxB1D,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAA0D,WAO5B1D,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAM1B,KAAI4D,EAAsB3D,CAAA+B,UAW1B6B,OAAAC,eAAA,CAAsBF,CAAtB,CAA2C,kBAA3C,CAA+D,CAC3DX,MAAO,CAAA,CADoD,CAE3Dc,WAAY,CAAA,CAF+C,CAG3DC,aAAc,CAAA,CAH6C,CAA/D,CAYA,KAAItD,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAAnB,CAOIgB,EAAqBE,MAAAoC,aAsCzBhE,EAAAiE,SAAA,CAAsBC,QAAQ,EAAG,CAC7B,MAAOtD,WADsB,CAajCZ,EAAAmE,SAAA,CAAsBC,QAAQ,CAACnE,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAAqE,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoBtE,CAApB;AAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAOqE,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACIrE,CAEA,CAFWD,CAEX,CADAA,CACA,CADesE,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAIxE,EAAW,CAAf,CACSiB,EAAE,CADX,CACcwD,EAAEH,CAAApD,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0CwD,CAA1C,CAA6C,EAAExD,CAA/C,CACSlB,CAAA2E,aAAA,CAAwBJ,CAAA,CAAQrD,CAAR,CAAxB,CAGL,GAFIqD,CAAA,CAAQrD,CAAR,CAEJ,CAFiBlB,CAAA4E,KAAA,CAAgBL,CAAA,CAAQrD,CAAR,CAAhB,CAA4BsD,CAA5B,CAEjB,EADArD,CACA,CADSoD,CAAA,CAAQrD,CAAR,CAAAH,MACT,CAD4BwD,CAAA,CAAQrD,CAAR,CAAAL,OAC5B,CAAa,CAAb,CAAIM,CAAJ,GAAgBlB,CAAhB,EAA4BkB,CAA5B,CAEJ,IAAiB,CAAjB,GAAIlB,CAAJ,CACI,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACP0E,EAAAA,CAAK,IAAI7E,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAEJ,KAALe,CAAK,CAAH,CAAG,CAAOA,CAAP,CAASwD,CAAT,CAAA,CACDI,CAEA,CAFKP,CAAA,CAAQrD,CAAA,EAAR,CAEL,CADAC,CACA,CADS2D,CAAA/D,MACT,CADoB+D,CAAAjE,OACpB,CAAc,CAAd,EAAIM,CAAJ,GACA0D,CAAAlE,KAAAoE,IAAA,CAAYD,CAAAnE,KAAAqE,SAAA,CAAiBF,CAAAjE,OAAjB,CAA4BiE,CAAA/D,MAA5B,CAAZ,CAAmD8D,CAAAhE,OAAnD,CACA,CAAAgE,CAAAhE,OAAA,EAAaM,CAFb,CAIJ0D,EAAA9D,MAAA,CAAW8D,CAAAhE,OACXgE,EAAAhE,OAAA,CAAY,CACZ,OAAOgE,EA1B6D,CAmCxE7E,EAAA2E,aAAA,CAA0BM,QAAQ,CAACJ,CAAD,CAAK,CACnC,MAA0C,CAAA,CAA1C,IAAQA,CAAR,EAAcA,CAAA,iBAAd,CADmC,CAQvC7E,EAAAkF,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAOzE,YADkB,CAgB7BV,EAAA4E,KAAA,CAAkBQ,QAAQ,CAAC5E,CAAD,CAASgE,CAAT;AAAmBtE,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAOqE,EAAX,GACIrE,CAEA,CAFWD,CAEX,CADAA,CACA,CADesE,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOjE,EAAX,CAGI,OAFwB,WAEhBgE,GAFJ,MAAOA,EAEHA,GADJA,CACIA,CADO,MACPA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAOxE,EAAAqF,WAAA,CAAsB7E,CAAtB,CAA8BN,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAAsF,QAAA,CAAmB9E,CAAnB,CAA2BN,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAAuF,WAAA,CAAsB/E,CAAtB,CAA8BN,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAAwF,SAAA,CAAoBhF,CAApB,CAA4BN,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAAyF,UAAA,CAAqBjF,CAArB,CAA6BN,CAA7B,CACX,SACI,KAAMwF,MAAA,CAAM,wBAAN,CAA+BlB,CAA/B,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAIhE,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAMmF,UAAA,CAAU,gBAAV,CAAN,CAEJ,GAAI3F,CAAA2E,aAAA,CAAwBnE,CAAxB,CAAJ,CAGI,MAFAqE,EAEOA,CAFFlB,CAAAiC,MAAAC,KAAA,CAA+BrF,CAA/B,CAEEqE,CADPA,CAAA/D,aACO+D,CADY,EACZA,CAAAA,CAEX,IAAIrE,CAAJ,WAAsBI,WAAtB,CACIiE,CACA;AADK,IAAI7E,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIK,CAAAW,OAAJ,GACI0D,CAAArE,OAGA,CAHYA,CAAAA,OAGZ,CAFAqE,CAAAhE,OAEA,CAFYL,CAAAsF,WAEZ,CADAjB,CAAA9D,MACA,CADWP,CAAAsF,WACX,CAD+BtF,CAAAuF,WAC/B,CAAAlB,CAAAlE,KAAA,CAAU,IAAIC,UAAJ,CAAeJ,CAAAA,OAAf,CAJd,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACHmE,CACA,CADK,IAAI7E,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIK,CAAAuF,WAAJ,GACIlB,CAAArE,OAGA,CAHYA,CAGZ,CAFAqE,CAAAhE,OAEA,CAFY,CAEZ,CADAgE,CAAA9D,MACA,CADWP,CAAAuF,WACX,CAAAlB,CAAAlE,KAAA,CAA8B,CAApB,CAAAH,CAAAuF,WAAA,CAAwB,IAAInF,UAAJ,CAAeJ,CAAf,CAAxB,CAAiD,IAJ/D,CAFG,KAQA,IAA+C,gBAA/C,GAAIoD,MAAA7B,UAAAiE,SAAAH,KAAA,CAA+BrF,CAA/B,CAAJ,CAGH,IAFAqE,CAES3D,CAFJ,IAAIlB,CAAJ,CAAeQ,CAAAW,OAAf,CAA8BjB,CAA9B,CAA4CC,CAA5C,CAEIe,CADT2D,CAAA9D,MACSG,CADEV,CAAAW,OACFD,CAAAA,CAAAA,CAAE,CAAX,CAAcA,CAAd,CAAgBV,CAAAW,OAAhB,CAA+B,EAAED,CAAjC,CACI2D,CAAAlE,KAAA,CAAQO,CAAR,CAAA,CAAaV,CAAA,CAAOU,CAAP,CAJd,KAMH,MAAMyE,UAAA,CAAU,gBAAV,CAAN,CACJ,MAAOd,EAvD0D,CAiErElB,EAAAsC,UAAA,CAAgCC,QAAQ,CAAC/E,CAAD,CAASN,CAAT,CAAiB,CACrD,IAAIsF;AAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAAuF,WAApC,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAAuF,WAA/D,CAAN,CALY,CAOpB,IAAIK,EAAQ,IAAAA,MAAA,CAAWvF,CAAX,CAAmBA,CAAnB,CAA4BM,CAA5B,CACRgF,EAAJ,GAAc,IAAAtF,OAAd,EAA6BM,CAA7B,CACA,OAAOiF,EAZ8C,CA0BzDzC,EAAA0C,WAAA,CAAiC1C,CAAA2C,OAWjC3C,EAAA4C,UAAA,CAAgCC,QAAQ,CAACxD,CAAD,CAAQnC,CAAR,CAAgB,CACpD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV;AAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAUpBlF,CAAA,EAAU,CACV,KAAI4F,EAAY,IAAAjG,OAAAuF,WACZlF,EAAJ,CAAa4F,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmB5F,CAAnB,CAA4B4F,CAA5B,CAAwC5F,CAApD,CAEJ,KAAAF,KAAA,CADAE,CACA,CADU,CACV,CAAA,CAAoBmC,CAChBmD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB6C,CA+BxD8C,EAAAgD,UAAA,CAAgChD,CAAA4C,UAQhC5C,EAAAiD,SAAA,CAA+BC,QAAQ,CAAChG,CAAD,CAAS,CAC5C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV;AAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOhB/C,CAAAA,CAAQ,IAAArC,KAAA,CAAUE,CAAV,CACW,IAAvB,IAAKmC,CAAL,CAAa,GAAb,IAA6BA,CAA7B,CAAqC,EAAE,GAAF,CAASA,CAAT,CAAiB,CAAjB,CAArC,CACImD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAbqC,CAuBhDW,EAAAmD,SAAA,CAA+BnD,CAAAiD,SAS/BjD,EAAAoD,WAAA,CAAiCC,QAAQ,CAAChE,CAAD,CAAQnC,CAAR,CAAgB,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B;AAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAUpBlF,CAAA,EAAU,CACV,KAAIoG,EAAY,IAAAzG,OAAAuF,WACZlF,EAAJ,CAAaoG,CAAb,EACI,IAAAP,OAAA,CAAY,CAACO,CAAD,EAAc,CAAd,EAAmBpG,CAAnB,CAA4BoG,CAA5B,CAAwCpG,CAApD,CAEJ,KAAAF,KAAA,CADAE,CACA,CADU,CACV,CAAA,CAAoBmC,CAChBmD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzD8C,EAAAuD,WAAA,CAAiCvD,CAAAoD,WAQjCpD,EAAAwD,UAAA,CAAgCC,QAAQ,CAACvG,CAAD,CAAS,CAC7C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOhB/C,CAAAA,CAAQ,IAAArC,KAAA,CAAUE,CAAV,CACRsF,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAZsC,CAsBjDW,EAAA0D,UAAA,CAAgC1D,CAAAwD,UAYhCxD,EAAA2D,WAAA,CAAiCC,QAAQ,CAACvE,CAAD,CAAQnC,CAAR,CAAgB,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN;AARY,CAUpBlF,CAAA,EAAU,CACV,KAAI2G,EAAY,IAAAhH,OAAAuF,WACZlF,EAAJ,CAAa2G,CAAb,EACI,IAAAd,OAAA,CAAY,CAACc,CAAD,EAAc,CAAd,EAAmB3G,CAAnB,CAA4B2G,CAA5B,CAAwC3G,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,EADuBmC,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAA,CAAuBmC,CAAvB,CAA+B,GAFnC,GAII,IAAArC,KAAA,CAAUE,CAAV,CACA,EADuBmC,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuBmC,CAAvB,CAA+B,GALnC,CAOImD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA1B8C,CAsCzD8C,EAAA8D,WAAA,CAAiC9D,CAAA2D,WAUjC3D,EAAA+D,UAAA,CAAgCC,QAAQ,CAAC9G,CAAD,CAAS,CAC7C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOpB,IAAI/C,EAAQ,CACR,KAAA9C,aAAJ,EACI8C,CACA,CADS,IAAArC,KAAA,CAAUE,CAAV,CACT,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAT,EAAgC,CAFpC,GAIImC,CACA,CADS,IAAArC,KAAA,CAAUE,CAAV,CACT,EADgC,CAChC,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CALb,CAOyB,MAAzB,IAAKmC,CAAL,CAAa,KAAb,IAAiCA,CAAjC,CAAyC,EAAE,KAAF,CAAWA,CAAX,CAAmB,CAAnB,CAAzC,CACImD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EApBsC,CAgCjDW,EAAAiE,UAAA,CAAgCjE,CAAA+D,UAUhC/D,EAAAkE,YAAA,CAAkCC,QAAQ,CAAC9E,CAAD,CAAQnC,CAAR,CAAgB,CACtD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAUpBlF,CAAA,EAAU,CACV,KAAIkH,EAAY,IAAAvH,OAAAuF,WACZlF,EAAJ,CAAakH,CAAb,EACI,IAAArB,OAAA,CAAY,CAACqB,CAAD,EAAc,CAAd,EAAmBlH,CAAnB,CAA4BkH,CAA5B,CAAwClH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,EADuBmC,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAA,CAAuBmC,CAAvB,CAA+B,GAFnC,GAII,IAAArC,KAAA,CAAUE,CAAV,CACA,EADuBmC,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuBmC,CAAvB,CAA+B,GALnC,CAOImD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA1B+C,CAsC1D8C,EAAAqE,YAAA,CAAkCrE,CAAAkE,YAUlClE,EAAAsE,WAAA,CAAiCC,QAAQ,CAACrH,CAAD,CAAS,CAC9C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV;AAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOpB,IAAI/C,EAAQ,CACR,KAAA9C,aAAJ,EACI8C,CACA,CADS,IAAArC,KAAA,CAAUE,CAAV,CACT,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAT,EAAgC,CAFpC,GAIImC,CACA,CADS,IAAArC,KAAA,CAAUE,CAAV,CACT,EADgC,CAChC,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CALb,CAOIsF,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAnBuC,CA+BlDW,EAAAwE,WAAA,CAAiCxE,CAAAsE,WAUjCtE,EAAAyE,WAAA,CAAiCC,QAAQ,CAACrF,CAAD,CAAQnC,CAAR,CAAgB,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB;AAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAUpBlF,CAAA,EAAU,CACV,KAAIyH,EAAY,IAAA9H,OAAAuF,WACZlF,EAAJ,CAAayH,CAAb,EACI,IAAA5B,OAAA,CAAY,CAAC4B,CAAD,EAAc,CAAd,EAAmBzH,CAAnB,CAA4ByH,CAA5B,CAAwCzH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGA,CAHuBmC,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuBmC,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuBmC,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAA,CAAuBmC,CAAvB,CAAuC,GAJ3C,GAMI,IAAArC,KAAA,CAAUE,CAAV,CAGA,CAHuBmC,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuBmC,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuBmC,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuBmC,CAAvB,CAAuC,GAT3C,CAWImD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA;MAAO,KA9B8C,CAuCzD8C,EAAA4E,SAAA,CAA+B5E,CAAAyE,WAQ/BzE,EAAA6E,UAAA,CAAgCC,QAAQ,CAAC5H,CAAD,CAAS,CAC7C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOpB,IAAI/C,EAAQ,CACR,KAAA9C,aAAJ,EACI8C,CAGA,CAHS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAmC,CAEA,EAFS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAmC,CACA,EADS,IAAArC,KAAA,CAAUE,CAAV,CACT,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAT,EAAgC,EAAhC,GAAuC,CAJ3C,GAMImC,CAGA,CAHS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAmC,CAEA,EAFS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAmC,CACA,EADS,IAAArC,KAAA,CAAUE,CAAV;AAAiB,CAAjB,CACT,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAT,EAAgC,EAAhC,GAAuC,CAT3C,CAYIsF,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAFAmC,EAEA,CAFS,CAtBoC,CAiCjDW,EAAA+E,QAAA,CAA8B/E,CAAA6E,UAQ9B7E,EAAAgF,YAAA,CAAkCC,QAAQ,CAAC5F,CAAD,CAAQnC,CAAR,CAAgB,CACtD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAUpBlF,CAAA,EAAU,CACV,KAAIgI,EAAY,IAAArI,OAAAuF,WACZlF;CAAJ,CAAagI,CAAb,EACI,IAAAnC,OAAA,CAAY,CAACmC,CAAD,EAAc,CAAd,EAAmBhI,CAAnB,CAA4BgI,CAA5B,CAAwChI,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGA,CAHuBmC,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuBmC,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuBmC,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAA,CAAuBmC,CAAvB,CAAuC,GAJ3C,GAMI,IAAArC,KAAA,CAAUE,CAAV,CAGA,CAHuBmC,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuBmC,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuBmC,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuBmC,CAAvB,CAAuC,GAT3C,CAWImD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA9B+C,CAwC1D8C,EAAAmF,YAAA,CAAkCnF,CAAAgF,YAQlChF,EAAAoF,WAAA,CAAiCC,QAAQ,CAACnI,CAAD,CAAS,CAC9C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb;AAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOpB,IAAI/C,EAAQ,CACR,KAAA9C,aAAJ,EACI8C,CAGA,CAHS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAmC,CAEA,EAFS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAmC,CACA,EADS,IAAArC,KAAA,CAAUE,CAAV,CACT,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAT,EAAgC,EAAhC,GAAuC,CAJ3C,GAMImC,CAGA,CAHS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAmC,CAEA,EAFS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAmC,CACA,EADS,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACT,CAAAmC,CAAA,EAAS,IAAArC,KAAA,CAAUE,CAAV,CAAT,EAAgC,EAAhC,GAAuC,CAT3C,CAWIsF,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAvBuC,CAiClDW,EAAAsF,WAAA,CAAiCtF,CAAAoF,WAI7BhJ,EAAJ,GASI4D,CAAAuF,WAyOA,CAzOiCC,QAAQ,CAACnG,CAAD,CAAQnC,CAAR,CAAgB,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,CACIA,CAAA,CAAQjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CADZ;IAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BjD,EAA1B,CAAN,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO/C,EAAX,CACIA,CADJ,CACYjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CAHZ,CAIAnC,EAAA,EAAU,CACV,KAAIyI,EAAY,IAAA9I,OAAAuF,WACZlF,EAAJ,CAAayI,CAAb,EACI,IAAA5C,OAAA,CAAY,CAAC4C,CAAD,EAAc,CAAd,EAAmBzI,CAAnB,CAA4ByI,CAA5B,CAAwCzI,CAApD,CACJA,EAAA,EAAU,CACN0I;IAAAA,EAAKvG,CAAAwG,IAALD,CACAE,EAAKzG,CAAA0G,KACL,KAAAxJ,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAQA,CARuB0I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAOA,CAPuB0I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAMA,CANuB0I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA5I,KAAA,CAAUE,CAAV,CAKA,CALuB0I,CAKvB,CALoC,GAKpC,CAJA1I,CAIA,EAJU,CAIV,CAHA,IAAAF,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGA,CAHuB4I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuB4I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuB4I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA9I,KAAA,CAAUE,CAAV,CAAA,CAAuB4I,CAAvB,CAAoC,GATxC,GAWI,IAAA9I,KAAA,CAAUE,CAAV,CAQA,CARuB4I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAOA,CAPuB4I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAMA,CANuB4I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAKA,CALuB4I,CAKvB,CALoC,GAKpC,CAJA5I,CAIA,EAJU,CAIV,CAHA,IAAAF,KAAA,CAAUE,CAAV,CAGA,CAHuB0I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuB0I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuB0I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuB0I,CAAvB,CAAoC,GAnBxC,CAqBIpD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjD8C,CAyOzD,CA9KA8C,CAAAgG,UA8KA,CA9KgChG,CAAAuF,WA8KhC,CAtKAvF,CAAAiG,UAsKA;AAtKgCC,QAAQ,CAAChJ,CAAD,CAAS,CAC7C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAHyB,IAUzCwD,EAAK,CAVoC,CAWzCE,EAAK,CACL,KAAAvJ,aAAJ,EACIqJ,CAQA,CARM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA0I,CAOA,EAPM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA0I,CAMA,EANM,IAAA5I,KAAA,CAAUE,CAAV,CAMN,CALA0I,CAKA,EALM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA4I,CAGA,CAHM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA4I,CAEA,EAFM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA4I,CACA,EADM,IAAA9I,KAAA,CAAUE,CAAV,CACN,CAAA4I,CAAA,EAAM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CATxC,GAWI4I,CAQA,CARM,IAAA9I,KAAA,CAAUE,CAAV;AAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA4I,CAOA,EAPM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA4I,CAMA,EANM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAMN,CALA4I,CAKA,EALM,IAAA9I,KAAA,CAAUE,CAAV,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA0I,CAGA,CAHM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA0I,CAEA,EAFM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA0I,CACA,EADM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACN,CAAA0I,CAAA,EAAM,IAAA5I,KAAA,CAAUE,CAAV,CAAN,EAA6B,EAA7B,GAAoC,CAnBxC,CAqBImC,EAAAA,CAAQ,IAAIjD,CAAJ,CAASwJ,CAAT,CAAaE,CAAb,CAAiB,CAAA,CAAjB,CACRtD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAnCsC,CAsKjD,CA1HAW,CAAAmG,SA0HA,CA1H+BnG,CAAAiG,UA0H/B,CAjHAjG,CAAAoG,YAiHA,CAjHkCC,QAAQ,CAAChH,CAAD,CAAQnC,CAAR,CAAgB,CACtD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,CACIA,CAAA,CAAQjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BjD,EAA1B,CAAN,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,2BAAlC,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO/C,EAAX,CACIA,CADJ,CACYjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CAHZ,CAIAnC,EAAA,EAAU,CACV,KAAIoJ,EAAY,IAAAzJ,OAAAuF,WACZlF,EAAJ,CAAaoJ,CAAb,EACI,IAAAvD,OAAA,CAAY,CAACuD,CAAD,EAAc,CAAd,EAAmBpJ,CAAnB,CAA4BoJ,CAA5B,CAAwCpJ,CAApD,CACJA,EAAA,EAAU,CACN0I,KAAAA,EAAKvG,CAAAwG,IAALD,CACAE,EAAKzG,CAAA0G,KACL,KAAAxJ,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAQA,CARuB0I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAOA,CAPuB0I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAMA,CANuB0I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA5I,KAAA,CAAUE,CAAV,CAKA,CALuB0I,CAKvB,CALoC,GAKpC,CAJA1I,CAIA,EAJU,CAIV;AAHA,IAAAF,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGA,CAHuB4I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuB4I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuB4I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA9I,KAAA,CAAUE,CAAV,CAAA,CAAuB4I,CAAvB,CAAoC,GATxC,GAWI,IAAA9I,KAAA,CAAUE,CAAV,CAQA,CARuB4I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAOA,CAPuB4I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAMA,CANuB4I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAKA,CALuB4I,CAKvB,CALoC,GAKpC,CAJA5I,CAIA,EAJU,CAIV,CAHA,IAAAF,KAAA,CAAUE,CAAV,CAGA,CAHuB0I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuB0I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuB0I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuB0I,CAAvB,CAAoC,GAnBxC,CAqBIpD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjD+C,CAiH1D,CArDA8C,CAAAuG,YAqDA,CArDkCvG,CAAAoG,YAqDlC,CA7CApG,CAAAwG,WA6CA,CA7CiCC,QAAQ,CAACvJ,CAAD,CAAS,CAC9C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV;AAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAH0B,IAU1CwD,EAAK,CAVqC,CAW1CE,EAAK,CACL,KAAAvJ,aAAJ,EACIqJ,CAQA,CARM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA0I,CAOA,EAPM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA0I,CAMA,EANM,IAAA5I,KAAA,CAAUE,CAAV,CAMN,CALA0I,CAKA,EALM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA4I,CAGA,CAHM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA4I,CAEA,EAFM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA4I,CACA,EADM,IAAA9I,KAAA,CAAUE,CAAV,CACN,CAAA4I,CAAA,EAAM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CATxC,GAWI4I,CAQA,CARM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA4I,CAOA,EAPM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA4I,CAMA,EANM,IAAA9I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAMN,CALA4I,CAKA,EALM,IAAA9I,KAAA,CAAUE,CAAV,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA0I,CAGA,CAHM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA0I,CAEA,EAFM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA0I,CACA,EADM,IAAA5I,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACN,CAAA0I,CAAA;AAAM,IAAA5I,KAAA,CAAUE,CAAV,CAAN,EAA6B,EAA7B,GAAoC,CAnBxC,CAqBImC,EAAAA,CAAQ,IAAIjD,CAAJ,CAASwJ,CAAT,CAAaE,CAAb,CAAiB,CAAA,CAAjB,CACRtD,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAnCuC,CA6ClD,CAAAW,CAAA0G,WAAA,CAAiC1G,CAAAwG,WAlPrC,CAmYAxG,EAAA2G,aAAA,CAAmCC,QAAQ,CAACvH,CAAD,CAAQnC,CAAR,CAAgB,CACvD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAPY,CASpBlF,CAAA,EAAU,CACV,KAAI2J,EAAY,IAAAhK,OAAAuF,WACZlF;CAAJ,CAAa2J,CAAb,EACI,IAAA9D,OAAA,CAAY,CAAC8D,CAAD,EAAc,CAAd,EAAmB3J,CAAnB,CAA4B2J,CAA5B,CAAwC3J,CAApD,CAEJkC,EAAA,CAAc,IAAApC,KAAd,CAAyBqC,CAAzB,CADAnC,CACA,CADU,CACV,CAAwC,IAAAX,aAAxC,CAA2D,EAA3D,CAA+D,CAA/D,CACIiG,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3D8C,EAAA8G,WAAA,CAAiC9G,CAAA2G,aAQjC3G,EAAA+G,YAAA,CAAkCC,QAAQ,CAAC9J,CAAD,CAAS,CAC/C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOhB/C,CAAAA,CAAQhB,CAAA,CAAa,IAAArB,KAAb,CAAwBE,CAAxB,CAAgC,IAAAX,aAAhC,CAAmD,EAAnD,CAAuD,CAAvD,CACRiG,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAZwC,CAsBnDW;CAAAiH,UAAA,CAAgCjH,CAAA+G,YAWhC/G,EAAAkH,aAAA,CAAmCC,QAAQ,CAAC9H,CAAD,CAAQnC,CAAR,CAAgB,CACvD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAPY,CASpBlF,CAAA,EAAU,CACV,KAAIkK,EAAY,IAAAvK,OAAAuF,WACZlF,EAAJ,CAAakK,CAAb,EACI,IAAArE,OAAA,CAAY,CAACqE,CAAD,EAAc,CAAd,EAAmBlK,CAAnB,CAA4BkK,CAA5B,CAAwClK,CAApD,CAEJkC,EAAA,CAAc,IAAApC,KAAd,CAAyBqC,CAAzB,CADAnC,CACA,CADU,CACV,CAAwC,IAAAX,aAAxC;AAA2D,EAA3D,CAA+D,CAA/D,CACIiG,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3D8C,EAAAqH,YAAA,CAAkCrH,CAAAkH,aAQlClH,EAAAsH,YAAA,CAAkCC,QAAQ,CAACrK,CAAD,CAAS,CAC/C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOhB/C,CAAAA,CAAQhB,CAAA,CAAa,IAAArB,KAAb,CAAwBE,CAAxB,CAAgC,IAAAX,aAAhC,CAAmD,EAAnD,CAAuD,CAAvD,CACRiG,EAAJ,GAAc,IAAAtF,OAAd,EAA6B,CAA7B,CACA,OAAOmC,EAZwC,CAsBnDW,EAAAwH,WAAA,CAAiCxH,CAAAsH,YAWjCjL,EAAAoL,mBAAA,CAAgC,CAQhCpL,EAAAqL,kBAAA;AAA+BC,QAAQ,CAACtI,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/ChD,EAAAuL,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxCzL,EAAA0L,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxC9H,EAAAiI,cAAA,CAAoCC,QAAQ,CAAC7I,CAAD,CAAQnC,CAAR,CAAgB,CACxD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAHoC,IAapD+F,EAAO9L,CAAAqL,kBAAA,CAA6BrI,CAA7B,CAEXnC,EAAA,EAAUiL,CACV,KAAIC,EAAa,IAAAvL,OAAAuF,WACblF,EAAJ,CAAakL,CAAb,EACI,IAAArF,OAAA,CAAY,CAACqF,CAAD,EAAe,CAAf,EAAoBlL,CAApB,CAA6BkL,CAA7B,CAA0ClL,CAAtD,CACJA,EAAA,EAAUiL,CAEV,KAAAnL,KAAA,CAAUE,CAAV,CAAA,CAAoBmL,CAApB,CAAwBhJ,CAAxB,CAAgC,GAChCA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACIgJ,CAEA,CAFKhJ,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADsBmL,CACtB,CAAa,KAAb,EAAIhJ,CAAJ,EACIgJ,CAEA,CAFKhJ,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADsBmL,CACtB,CAAa,OAAb,EAAIhJ,CAAJ,EACIgJ,CAEA,CAFKhJ,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADsBmL,CACtB,CAAa,SAAb,EAAIhJ,CAAJ,EACI,IAAArC,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuBmC,CACvB,EADgC,EAChC,CADsC,EACtC,CAAA8I,CAAA,CAAO,CAFX,GAII,IAAAnL,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADsBmL,CACtB,CAD0B,GAC1B,CAAAF,CAAA,CAAO,CALX,CAHJ,GAWI,IAAAnL,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADsBmL,CACtB,CAD0B,GAC1B,CAAAF,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAAnL,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADsBmL,CACtB,CAD0B,GAC1B,CAAAF,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAAnL,KAAA,CAAUE,CAAV,CACA,CADoBmL,CACpB,CADwB,GACxB,CAAAF,CAAA,CAAO,CA1BX,CA4BA,OAAI3F,EAAJ,EACI,IAAAtF,OACO,EADQiL,CACR,CAAA,IAFX,EAIOA,CAvDiD,CAkE5DnI,EAAAsI,oBAAA,CAA0CC,QAAQ,CAAClJ,CAAD;AAAQnC,CAAR,CAAgB,CAC9D,MAAO,KAAA+K,cAAA,CAAmB5L,CAAAuL,eAAA,CAA0BvI,CAA1B,CAAnB,CAAqDnC,CAArD,CADuD,CAclE8C,EAAAwI,aAAA,CAAmCC,QAAQ,CAACvL,CAAD,CAAS,CAChD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAH4B,IAW5C+F,EAAO,CAXqC,CAY5C9I,EAAQ,CAZoC,CAa5CqJ,CAEJ,GAAG,CACCC,CAAA,CAAUzL,CAAV,CAAiBiL,CACjB,IAAK3L,CAAA,IAAAA,SAAL,EAAsBmM,CAAtB,CAAgC,IAAAvL,MAAhC,CAGI,KAFIwL,EAEEA,CAFI7G,KAAA,CAAM,WAAN,CAEJ6G,CADNA,CAAA,UACMA,CADa,CAAA,CACbA,CAAAA,CAAN,CAEJF,CAAA,CAAO,IAAA1L,KAAA,CAAU2L,CAAV,CACI,EAAX,CAAIR,CAAJ,GACI9I,CADJ,GACeqJ,CADf,CACoB,GADpB,GAC4B,CAD5B,CAC8BP,CAD9B,GACyC,CADzC,CAEA,GAAEA,CAVH,CAAH,MAW2B,GAX3B;CAWUO,CAXV,CAWiB,GAXjB,EAYArJ,EAAA,EAAgB,CAChB,OAAImD,EAAJ,EACI,IAAAtF,OACOmC,EADQ8I,CACR9I,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAU8I,CAFP,CAhCyC,CA+CpDnI,EAAA6I,mBAAA,CAAyCC,QAAQ,CAAC5L,CAAD,CAAS,CAClD6L,CAAAA,CAAM,IAAAP,aAAA,CAAkBtL,CAAlB,CACS,SAAnB,GAAI,MAAO6L,EAAX,CACIA,CAAA,MADJ,CACmB1M,CAAA0L,eAAA,CAA0BgB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU1M,CAAA0L,eAAA,CAA0BgB,CAA1B,CACV,OAAOA,EAN+C,CAWtD3M,EAAJ,GAQIC,CAAA2M,mBAgMA,CAhMgC,EAgMhC,CAxLA3M,CAAA4M,kBAwLA,CAxL+BC,QAAQ,CAAC7J,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CAHZ,CAD2C,KAMvC8J,EAAQ9J,CAAA+J,MAAA,EAARD,GAA0B,CANa,CAOvCE,EAAQhK,CAAAiK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQlK,CAAAiK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR;AAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EAtBW,CAwL/C,CAzJAlN,CAAAmN,eAyJA,CAzJ4BC,QAAQ,CAACpK,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAqK,SAFJ,GAE8BrK,CAF9B,CAEsCA,CAAAsK,SAAA,EAFtC,CAIL,OAAOtK,EAAAuK,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuBxK,CAAAyK,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EAPiC,CAyJ5C,CAzIA1N,CAAA2N,eAyIA,CAzI4BC,QAAQ,CAAC5K,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAqK,SAFJ,GAE8BrK,CAF9B,CAEsCA,CAAAsK,SAAA,EAFtC,CAIL,OAAOtK,EAAAiK,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgCxK,CAAA6K,IAAA,CAAU9N,CAAA+N,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EAPiC,CAyI5C,CAvHA3J,CAAAqK,cAuHA,CAvHoCC,QAAQ,CAACjL,CAAD,CAAQnC,CAAR,CAAgB,CACxD,IAAIsF,EAA6B,WAA7BA;AAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,CACIA,CAAA,CAAQjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BjD,EAA1B,CAAN,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOnC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO/C,EAAX,CACIA,CADJ,CACYjD,CAAAqJ,WAAA,CAAgBpG,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX;AACDA,CADC,CACOjD,CAAAsJ,WAAA,CAAgBrG,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAqK,SAFJ,GAE8BrK,CAF9B,CAEsCA,CAAAsK,SAAA,EAFtC,CAlBmD,KAqBpDxB,EAAO9L,CAAA4M,kBAAA,CAA6B5J,CAA7B,CArB6C,CAsBpD8J,EAAQ9J,CAAA+J,MAAA,EAARD,GAA0B,CAtB0B,CAuBpDE,EAAQhK,CAAAiK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAvBG,CAwBpDE,EAAQlK,CAAAiK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDrM,EAAA,EAAUiL,CACV,KAAIoC,EAAa,IAAA1N,OAAAuF,WACblF,EAAJ,CAAaqN,CAAb,EACI,IAAAxH,OAAA,CAAY,CAACwH,CAAD,EAAe,CAAf,EAAoBrN,CAApB,CAA6BqN,CAA7B,CAA0CrN,CAAtD,CACJA,EAAA,EAAUiL,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAAnL,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuBqM,CAAvB,GAAkC,CAAlC,CAAuC,CAChD,MAAK,CAAL,CAAS,IAAAvM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAcoB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAvM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAArM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAArM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAckB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAArM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT;AAAAiL,CAAA,CAAckB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAArM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnM,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAcgB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnM,KAAA,CAAUE,CAAV,CAAA,CAA+B,CAAT,GAAAiL,CAAA,CAAcgB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAVzF,CAYA,MAAI3G,EAAJ,EACI,IAAAtF,OACO,EADQiL,CACR,CAAA,IAFX,EAIWA,CA9C6C,CAuH5D,CA7DAnI,CAAAwK,oBA6DA,CA7D0CC,QAAQ,CAACpL,CAAD,CAAQnC,CAAR,CAAgB,CAC9D,MAAO,KAAAmN,cAAA,CAAmBhO,CAAAmN,eAAA,CAA0BnK,CAA1B,CAAnB,CAAqDnC,CAArD,CADuD,CA6DlE,CAhDA8C,CAAA0K,aAgDA,CAhDmCC,QAAQ,CAACzN,CAAD,CAAS,CAChD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAH4B,IAW5CwI,EAAQ1N,CAXoC,CAY5CiM,EAAQ,CAZoC,CAa5CE,EAAQ,CAboC,CAc5CE,EAAQ,CAdoC,CAe5ClB,EAAK,CAfuC,CAgBhDA,EAAI,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAhB4C,CAgBvBiM,EAAUd,CAAVc,CAAc,GAAa,IAAKd,CAAL,CAAS,GAAT,GACpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BiM,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAD3C,IAEpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BiM,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAF3C,IAGpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BiM,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAH3C,IAIpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BmM,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAJ3C,IAKpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD;AAA/BmM,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAL3C,IAMpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BmM,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAN3C,IAOpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BmM,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAP3C,IAQpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BqM,CAA+B,CAArBlB,CAAqB,CAAjB,GAAiB,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAR3C,IASpDA,CAAwD,CAApD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAoD,CAA/BqM,CAA+B,GAArBlB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA7L,SAAf,EAA6C,WAA7C,GAAgC,MAAO6L,EAT3C,EAUpD,KAAMtG,MAAA,CAAM,gBAAN,CAAN,CACI1C,CAAAA,CAAQjD,CAAAyO,SAAA,CAAc1B,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD,CAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAI/G,EAAJ,EACI,IAAAtF,OACOmC,CADOnC,CACPmC,CAAAA,CAFX,EAIW,CACH,MAASA,CADN,CAEH,OAAUnC,CAAV,CAAiB0N,CAFd,CAhCqC,CAgDpD,CAAA5K,CAAA8K,mBAAA;AAAyCC,QAAQ,CAAC7N,CAAD,CAAS,CAEtD,CADI6L,CACJ,CADU,IAAA2B,aAAA,CAAkBxN,CAAlB,CACV,GAAW6L,CAAA,MAAX,WAAmC3M,EAAnC,CACI2M,CAAA,MADJ,CACmB1M,CAAA2N,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGU1M,CAAA2N,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EAN+C,CAxM9D,CA+NA/I,EAAAgL,aAAA,CAAmCC,QAAQ,CAACC,CAAD,CAAMhO,CAAN,CAAc,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CAFqD,KAGjDK,CAHiD,CAIjDwD,EAAImK,CAAA1N,OACR,IAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO0O,EAAX,CACI,KAAMlJ,UAAA,CAAU,2BAAV,CAAN,CACJ,IAAKzE,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYwD,CAAZ,CAAe,EAAExD,CAAjB,CACI,GAA0B,CAA1B,GAAI2N,CAAAzN,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAMX,WAAA,CAAW,uCAAX,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ;GAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAXY,CAcpBrB,CAAA,CAAIoK,CAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJhO,EAAA,EAAU6D,CAAV,CAAY,CACRsK,EAAAA,CAAa,IAAAxO,OAAAuF,WACblF,EAAJ,CAAamO,CAAb,EACI,IAAAtI,OAAA,CAAY,CAACsI,CAAD,EAAe,CAAf,EAAoBnO,CAApB,CAA6BmO,CAA7B,CAA0CnO,CAAtD,CACJA,EAAA,EAAU6D,CAAV,CAAY,CACZoK,EAAAG,EAAA,CAAuBjO,CAAA,CAAa6N,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAA,CAAsBmL,CAD4B,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAAvO,KAAA,CAAUE,CAAA,EAAV,CAAA,CAAsB,CACtB,OAAIsF,EAAJ,EACI,IAAAtF,OACO,CADOA,CACP,CAAA,IAFX,EAIO6D,CAjC8C,CA6CzDf,EAAAwL,YAAA,CAAkCC,QAAQ,CAACvO,CAAD,CAAS,CAC/C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB;AAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAH2B,IAU3CwI,EAAQ1N,CAVmC,CAa3CwO,CAb2C,CAavCrD,EAAK,EACb8C,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAItD,CAAJ,CAAa,MAAO,KACpB,IAAInL,CAAJ,EAAc,IAAAE,MAAd,CACI,KAAMR,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,KAApD,CAA0D,IAAAE,MAA1D,CAAN,CACJiL,CAAA,CAAI,IAAArL,KAAA,CAAUE,CAAA,EAAV,CACJ,OAAa,EAAN,GAAAmL,CAAA,CAAU,IAAV,CAAiBA,CALM,CAAXkD,KAAA,CAMhB,IANgB,CAAvB,CAMcG,CANd,CAMmBhO,CAAA,EANnB,CAMwC,CAAA,CANxC,CAOA,OAAI8E,EAAJ,EACI,IAAAtF,OACO,CADOA,CACP,CAAAwO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxO,CAAV,CAAmB0N,CAFhB,CAzBoC,CA2CnD5K,EAAA4L,aAAA,CAAmCC,QAAQ,CAACX,CAAD,CAAMhO,CAAN,CAAc,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO0O,EAAX,CACI,KAAMlJ,UAAA,CAAU,2BAAV,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAO9E,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAPY,CAHiC,IAYjDwI,EAAQ1N,CAZyC,CAajD6D,CACJA,EAAA,CAAIoK,CAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAA6C,IAAA1O,SAA7C,CAAA,CAA4D,CAA5D,CACJU,EAAA,EAAU,CAAV,CAAY6D,CACZ,KAAI+K,EAAa,IAAAjP,OAAAuF,WACblF,EAAJ,CAAa4O,CAAb,EACI,IAAA/I,OAAA,CAAY,CAAC+I,CAAD,EAAe,CAAf,EAAoB5O,CAApB,CAA6B4O,CAA7B,CAA0C5O,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAY6D,CACR,KAAAxE,aAAJ,EACI,IAAAS,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGA,CAHuB6D,CAGvB,GAH6B,EAG7B,CAHmC,GAGnC,CAFA,IAAA/D,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuB6D,CAEvB,GAF6B,EAE7B,CAFmC,GAEnC,CADA,IAAA/D,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACA,CADuB6D,CACvB,GAD8B,CAC9B,CADmC,GACnC,CAAA,IAAA/D,KAAA,CAAUE,CAAV,CAAA,CAAuB6D,CAAvB,CAAmC,GAJvC,GAMI,IAAA/D,KAAA,CAAUE,CAAV,CAGA,CAHuB6D,CAGvB,GAH6B,EAG7B,CAHmC,GAGnC,CAFA,IAAA/D,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAEA,CAFuB6D,CAEvB,GAF6B,EAE7B,CAFmC,GAEnC,CADA,IAAA/D,KAAA,CAAUE,CAAV;AAAiB,CAAjB,CACA,CADuB6D,CACvB,GAD8B,CAC9B,CADmC,GACnC,CAAA,IAAA/D,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAA,CAAuB6D,CAAvB,CAAmC,GATvC,CAWA7D,EAAA,EAAU,CACViO,EAAAG,EAAA,CAAuBjO,CAAA,CAAa6N,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAA,CAAsBmL,CAD4B,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAIrO,CAAJ,GAAe0N,CAAf,CAAuB,CAAvB,CAA2B7J,CAA3B,CACI,KAAMnE,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE,CAAnE,CAAqE6D,CAArE,EAAN,CACJ,MAAIyB,EAAJ,EACI,IAAAtF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0N,CAzCqC,CAqDzD5K,EAAA+L,YAAA,CAAkCC,QAAQ,CAAC9O,CAAD,CAAS,CAC/C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN;AALY,CAH2B,IAU3CsG,EAAO,CAVoC,CAW3CkC,EAAQ1N,CAER,KAAAX,aAAJ,EACImM,CAGA,CAHQ,IAAA1L,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGR,EAH+B,EAG/B,CAFAwL,CAEA,EAFQ,IAAA1L,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAER,EAFgC,CAEhC,CADAwL,CACA,EADQ,IAAA1L,KAAA,CAAUE,CAAV,CACR,CAAAwL,CAAA,EAAQ,IAAA1L,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAAR,EAA+B,EAA/B,GAAsC,CAJ1C,GAMIwL,CAGA,CAHQ,IAAA1L,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAGR,EAH+B,EAG/B,CAFAwL,CAEA,EAFQ,IAAA1L,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CAER,EAFgC,CAEhC,CADAwL,CACA,EADQ,IAAA1L,KAAA,CAAUE,CAAV,CAAiB,CAAjB,CACR,CAAAwL,CAAA,EAAQ,IAAA1L,KAAA,CAAUE,CAAV,CAAR,EAA+B,EAA/B,GAAsC,CAT1C,CAWAA,EAAA,EAAU,CAxBqC,KAyB3C6D,EAAI7D,CAAJ6D,CAAa2H,CAEjByC,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzO,EAAA,CAAS6D,CAAT,CAAa,IAAA/D,KAAA,CAAUE,CAAA,EAAV,CAAb,CAAmC,IADZ,CAAXqO,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBhO,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGA0O,EAAA,CAAMQ,CAAA,EACN,OAAIlJ,EAAJ,EACI,IAAAtF,OACOgO,CADOhO,CACPgO,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUhO,CAAV,CAAmB0N,CAFhB,CAnCoC,CAkDnDvO,EAAA4P,cAAA,CAA2B,GAQ3B5P,EAAA6P,cAAA,CAA2B,GAS3BlM,EAAAmM,gBAAA,CAAsCC,QAAQ,CAAClB,CAAD,CAAMhO,CAAN,CAAc,CACxD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOpB,IAAIrB,CAAJ,CACI6J,EAAQ1N,CACZ6D,EAAA,CAAIoK,CAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJhO,EAAA,EAAU6D,CACV,KAAIsL,EAAa,IAAAxP,OAAAuF,WACblF,EAAJ,CAAamP,CAAb,EACI,IAAAtJ,OAAA,CAAY,CAACsJ,CAAD,EAAe,CAAf,EAAoBnP,CAApB,CAA6BmP,CAA7B,CAA0CnP,CAAtD,CACJA,EAAA,EAAU6D,CACVoK,EAAAG,EAAA,CAAuBjO,CAAA,CAAa6N,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAA,CAAsBmL,CAD4B,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAI/I,EAAJ,EACI,IAAAtF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0N,CAzBwC,CAoC5D5K,EAAAsM,YAAA,CAAkCtM,CAAAmM,gBASlC9P,EAAAkQ,mBAAA,CAAgCC,QAAQ,CAACtB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAU9C7O,EAAAoQ,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9C7O;CAAAsQ,gBAAA,CAA6BtQ,CAAAoQ,mBAa7BzM,EAAA4M,eAAA,CAAqCC,QAAQ,CAACrP,CAAD,CAASsP,CAAT,CAAkB5P,CAAlB,CAA0B,CAC5C,QAAvB,GAAI,MAAO4P,EAAX,GACI5P,CACA,CADS4P,CACT,CAAAA,CAAA,CAAUhM,IAAAA,EAFd,CAIA,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAO4P,EAAX,GAAoCA,CAApC,CAA8CzQ,CAAA4P,cAA9C,CACA,IAAKzP,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAON,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD;AAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CARY,CAR+C,IAkB/D7E,EAAI,CAlB2D,CAmB/DqN,EAAQ1N,CAnBuD,CAoB/DwO,CACJ,IAAIoB,CAAJ,GAAgBzQ,CAAA4P,cAAhB,CAA0C,CACtCP,CAAA,CAAKhO,CAAA,EACLyN,EAAA4B,EAAA,CAAgB,QAAQ,EAAG,CACvB,MAAOxP,EAAA,CAAIC,CAAJ,EAAcN,CAAd,CAAuB,IAAAE,MAAvB,CAAoC,IAAAJ,KAAA,CAAUE,CAAA,EAAV,CAApC,CAA0D,IAD1C,CAAXqO,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAACyB,CAAD,CAAK,CACvB,EAAEzP,CAAG4N,EAAA8B,EAAA,CAAiBD,CAAjB,CAAqBtB,CAArB,CADkB,CAF3B,CAKA,IAAInO,CAAJ,GAAUC,CAAV,CACI,KAAMZ,WAAA,CAAW,iCAAX,CAA6CW,CAA7C,CAA+C,MAA/C,CAAsDC,CAAtD,CAAN,CACJ,MAAIgF,EAAJ,EACI,IAAAtF,OACO,CADOA,CACP,CAAAwO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxO,CAAV,CAAmB0N,CAFhB,CAb2B,CAkBnC,GAAIkC,CAAJ,GAAgBzQ,CAAA6P,cAAhB,CAA0C,CAC7C,GAAK1P,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAAuF,WAApC,CACI,KAAMxF,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAAuF,WAA/D,CAAN,CALY,CAOpB,IAAIrB,EAAI7D,CAAJ6D,CAAavD,CACjB2N,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzO,EAAA,CAAS6D,CAAT,CAAa,IAAA/D,KAAA,CAAUE,CAAA,EAAV,CAAb,CAAmC,IADZ,CAAXqO,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBhO,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGA,IAAIU,CAAJ,GAAe6D,CAAf,CACI,KAAMnE,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,CAA2D6D,CAA3D,CAAN,CACJ,MAAIyB,EAAJ,EACI,IAAAtF,OACO,CADOA,CACP,CAAAwO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxO,CAAV,CAAmB0N,CAFhB,CAlBkC,CAwB7C,KAAM5I,UAAA,CAAU,uBAAV,CAAkC8K,CAAlC,CAAN,CA/D+D,CA8EvE9M,EAAAkN,WAAA,CAAiClN,CAAA4M,eAajC5M,EAAAmN,aAAA,CAAmCC,QAAQ,CAAClC,CAAD,CAAMhO,CAAN,CAAc,CACrD,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAO0O,EAAX,CACI,KAAMlJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAO9E,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CAPY,CAHiC,IAYjDwI,EAAQ1N,CAZyC,CAajD6D,CAbiD,CAa9CsM,CACPtM,EAAA,CAAIoK,CAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAA6C,IAAA1O,SAA7C,CAAA,CAA4D,CAA5D,CACJ6Q,EAAA,CAAIhR,CAAAqL,kBAAA,CAA6B3G,CAA7B,CACJ7D,EAAA,EAAUmQ,CAAV,CAAYtM,CACZ,KAAIuM,EAAa,IAAAzQ,OAAAuF,WACblF,EAAJ,CAAaoQ,CAAb,EACI,IAAAvK,OAAA,CAAY,CAACuK,CAAD,EAAe,CAAf,EAAoBpQ,CAApB,CAA6BoQ,CAA7B,CAA0CpQ,CAAtD,CACJA,EAAA,EAAUmQ,CAAV,CAAYtM,CACZ7D,EAAA,EAAU,IAAA+K,cAAA,CAAmBlH,CAAnB,CAAsB7D,CAAtB,CACViO,EAAAG,EAAA,CAAuBjO,CAAA,CAAa6N,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAArL,KAAA,CAAUE,CAAA,EAAV,CAAA,CAAsBmL,CAD4B,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAIrO,CAAJ,GAAe0N,CAAf,CAAqB7J,CAArB,CAAuBsM,CAAvB,CACI,KAAMzQ,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE6D,CAAnE,CAAqEsM,CAArE,EAAN,CACJ,MAAI7K,EAAJ;CACI,IAAAtF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgB0N,CA/BqC,CA2CzD5K,EAAAuN,YAAA,CAAkCC,QAAQ,CAACtQ,CAAD,CAAS,CAC/C,IAAIsF,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAH2B,IAU3CsG,EAAO,IAAAF,aAAA,CAAkBtL,CAAlB,CAVoC,CAW3C0N,EAAQ1N,CAEZA,EAAA,EAAUwL,CAAA,OACV,KAAAA,EAAOA,CAAA,MAAP,CACI3H,EAAI7D,CAAJ6D,CAAa2H,CADjB,CAEIgD,EAAKhO,CAAA,EACTyN,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzO,EAAA,CAAS6D,CAAT,CAAa,IAAA/D,KAAA,CAAUE,CAAA,EAAV,CAAb,CAAmC,IADZ,CAAXqO,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEkB,IAAAlP,SAFlB,CAGA0O,EAAA,CAAMQ,CAAA,EACN,OAAIlJ,EAAJ,EACI,IAAAtF,OACOgO;AADOhO,CACPgO,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUhO,CAAV,CAAmB0N,CAFhB,CAzBoC,CA8CnD5K,EAAA2C,OAAA,CAA6B8K,QAAQ,CAACC,CAAD,CAAS7M,CAAT,CAAmB3D,CAAnB,CAA2B,CAC5D,GAAwB,QAAxB,GAAI,MAAO2D,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI3D,CACA,CADS2D,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOdsL,CAAN,WAAwBrR,EAAxB,GACIqR,CADJ,CACarR,CAAA4E,KAAA,CAAgByM,CAAhB,CAAwB7M,CAAxB,CADb,CAEIrD,EAAAA,CAASkQ,CAAAtQ,MAATI,CAAwBkQ,CAAAxQ,OAC5B,IAAc,CAAd,EAAIM,CAAJ,CAAiB,MAAO,KACxBN,EAAA,EAAUM,CACV,KAAImQ,EAAa,IAAA9Q,OAAAuF,WACblF,EAAJ,CAAayQ,CAAb,EACI,IAAA5K,OAAA,CAAY,CAAC4K,CAAD;AAAe,CAAf,EAAoBzQ,CAApB,CAA6ByQ,CAA7B,CAA0CzQ,CAAtD,CAEJ,KAAAF,KAAAoE,IAAA,CAAcsM,CAAA1Q,KAAAqE,SAAA,CAAqBqM,CAAAxQ,OAArB,CAAoCwQ,CAAAtQ,MAApC,CAAd,CADAF,CACA,CADUM,CACV,CACAkQ,EAAAxQ,OAAA,EAAiBM,CACbgF,EAAJ,GAAc,IAAAtF,OAAd,EAA6BM,CAA7B,CACA,OAAO,KA1BqD,CAuChEwC,EAAA4N,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAS5Q,CAAT,CAAiB,CACpD4Q,CAAAnL,OAAA,CAAc,IAAd,CAAoBzF,CAApB,CACA,OAAO,KAF6C,CAYxD8C,EAAA+N,OAAA,CAA6BC,QAAQ,CAACD,CAAD,CAAS,CAC1C,IAAAvR,SAAA,CAAgB,CAACuR,CACjB,OAAO,KAFmC,CAU9C/N,EAAA1D,SAAA,CAA+B2R,QAAQ,EAAG,CACtC,MAAO,KAAApR,OAAAuF,WAD+B,CAU1CpC,EAAAkO,MAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAAjR,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAAuF,WACb,KAAAjF,aAAA,CAAqB,EACrB,OAAO,KAJ4B,CAcvC6C,EAAAiC,MAAA,CAA4BmM,QAAQ,CAACC,CAAD,CAAO,CACvC,IAAInN,EAAK,IAAI7E,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACL6R,EAAJ,EACInN,CAAArE,OACA,CADY,IAAIE,WAAJ,CAAgB,IAAAF,OAAAuF,WAAhB,CACZ,CAAAlB,CAAAlE,KAAA,CAAU,IAAIC,UAAJ,CAAeiE,CAAArE,OAAf,CAFd;CAIIqE,CAAArE,OACA,CADY,IAAAA,OACZ,CAAAqE,CAAAlE,KAAA,CAAU,IAAAA,KALd,CAOAkE,EAAAhE,OAAA,CAAY,IAAAA,OACZgE,EAAA/D,aAAA,CAAkB,IAAAA,aAClB+D,EAAA9D,MAAA,CAAW,IAAAA,MACX,OAAO8D,EAZgC,CAwB3ClB,EAAAsO,QAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtR,OAA1C,CACmB,YAAnB,GAAI,MAAOuR,EAAX,GAAgCA,CAAhC,CAAsC,IAAArR,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC;AAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAIoM,CAAJ,EAAmBC,CAAnB,GAA2B,IAAA5R,OAAAuF,WAA3B,CACI,MAAO,KACX,KAAIsM,EAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ,GAAIE,CAAJ,CAMI,MALA,KAAA7R,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0CqR,CAG1C,EADP,IAAApR,MACO,CAFP,IAAAF,OAEO,CAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgB2R,CAAhB,CAAb,CACI1R,EAAO,IAAIC,UAAJ,CAAeJ,CAAf,CACXG,EAAAoE,IAAA,CAAS,IAAApE,KAAAqE,SAAA,CAAmBmN,CAAnB,CAA0BC,CAA1B,CAAT,CACA,KAAA5R,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAYA,CACa,EAAzB,EAAI,IAAAG,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDqR,CAAjD,CACA,KAAAtR,OAAA,CAAc,CACd,KAAAE,MAAA,CAAasR,CACb,OAAO,KAhCwC,CA2CnD1O,EAAAqO,KAAA,CAA2BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACvB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtR,OAA1C,CACmB,YAAnB,GAAI,MAAOuR,EAAX,GAAgCA,CAAhC,CAAsC,IAAArR,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAUpB,GAAIoM,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAIpS,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdiC,KAexCF,EAAWmS,CAAXnS,CAAiBkS,CAfuB,CAgBxCtN,EAAK,IAAI7E,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACT0E,EAAAhE,OAAA,CAAY,CACZgE,EAAA9D,MAAA,CAAWd,CACY,EAAvB,EAAI4E,CAAA/D,aAAJ,GAA0B+D,CAAA/D,aAA1B,EAA6CqR,CAA7C,CACA,KAAAI,OAAA,CAAY1N,CAAZ,CAAgB,CAAhB,CAAmBsN,CAAnB,CAA0BC,CAA1B,CACA,OAAOvN,EArBqC,CAoChDlB,EAAA4O,OAAA,CAA6BC,QAAQ,CAACf,CAAD;AAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAC/ExM,CAD+E,CAE/EyM,CACJ,IAAKzS,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAA2E,aAAA,CAAwB8M,CAAxB,CADT,CAEQ,KAAM9L,UAAA,CAAU,kCAAV,CAAN,CAER8M,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAA5Q,OAAzD,CAAyE4R,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAACvM,CAAD,CAAoC,WAApC,GAAY,MAAOuM,EAAnB,EAAmD,IAAA7R,OAAnD,CAAiE6R,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAA5R,MAArC,CAAkD4R,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAAjR,OAAAuF,WAAvC,CACI,KAAMxF,WAAA,CAAW,6BAAX,CAAyCkS,CAAzC,CAAsD,MAAtD,CAA6DhB,CAAAjR,OAAAuF,WAA7D,CAAN,CACJ,GAAmB,CAAnB,CAAI2M,CAAJ,EAAwBC,CAAxB,CAAsC,IAAAnS,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,6BAAX,CAAyCmS,CAAzC,CAAsD,MAAtD,CAA6D,IAAAlS,OAAAuF,WAA7D,CAAN,CAEJ,IAAIsM,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEAZ;CAAA9Q,KAAAoE,IAAA,CAAgB,IAAApE,KAAAqE,SAAA,CAAmB0N,CAAnB,CAAiCC,CAAjC,CAAhB,CAA+DF,CAA/D,CAEItM,EAAJ,GAAc,IAAAtF,OAAd,EAA6BwR,CAA7B,CACIO,EAAJ,GAAoBnB,CAAA5Q,OAApB,EAAqCwR,CAArC,CAEA,OAAO,KA3B4E,CAsCvF1O,EAAAkP,eAAA,CAAqCC,QAAQ,CAAC7S,CAAD,CAAW,CACpD,IAAI8S,EAAU,IAAAvS,OAAAuF,WACd,OAAIgN,EAAJ,CAAc9S,CAAd,CACW,IAAAyG,OAAA,CAAY,CAACqM,CAAD,EAAY,CAAZ,EAAiB9S,CAAjB,CAA4B8S,CAA5B,CAAsC9S,CAAlD,CADX,CAEO,IAJ6C,CAkBxD0D,EAAAqP,KAAA,CAA2BC,QAAQ,CAACjQ,CAAD,CAAQmP,CAAR,CAAeC,CAAf,CAAoB,CACnD,IAAIjM,EAA4B,WAA5BA,GAAW,MAAOgM,EAClBhM,EAAJ,GAAcgM,CAAd,CAAsB,IAAAtR,OAAtB,CACqB,SAArB,GAAI,MAAOmC,EAAX,EAAgD,CAAhD,CAAiCA,CAAA7B,OAAjC,GACI6B,CADJ,CACYA,CAAA5B,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAO+Q,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtR,OAA1C,CACmB,YAAnB,GAAI,MAAOuR,EAAX,GAAgCA,CAAhC,CAAsC,IAAArR,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6C,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM2C,UAAA,CAAU,iBAAV,CAA4B3C,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA;AAAS,CACT,IAAqB,QAArB,GAAI,MAAOmP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CAXY,CAapB,GAAIoM,CAAJ,EAAaC,CAAb,CACI,MAAO,KACX,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAAzR,KAAA,CAAUwR,CAAA,EAAV,CAAA,CAAqBnP,CACrCmD,EAAJ,GAAc,IAAAtF,OAAd,CAA4BsR,CAA5B,CACA,OAAO,KAxB4C,CAiCvDxO,EAAAuP,KAAA,CAA2BC,QAAQ,EAAG,CAClC,IAAApS,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH2B,CActC8C,EAAAyP,KAAA,CAA2BC,QAAQ,CAACxS,CAAD,CAAS,CACxCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD;GAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOpB,IAAAjF,aAAA,CAAoBD,CACpB,OAAO,KAViC,CAkB5C8C,EAAA2P,MAAA,CAA4BC,QAAQ,CAACrT,CAAD,CAAe,CAC/C,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAMyF,UAAA,CAAU,qCAAV,CAAN,CAER,IAAAzF,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANwC,CAenDyD,EAAA6P,GAAA,CAAyBC,QAAQ,CAACvT,CAAD,CAAe,CAC5C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFqC,CAWhDyD,EAAA+P,GAAA,CAAyBC,QAAQ,CAACC,CAAD,CAAY,CACzC,IAAA1T,aAAA;AAAyC,WAArB,GAAA,MAAO0T,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFkC,CAkB7CjQ,EAAAkQ,QAAA,CAA8BC,QAAQ,CAACzC,CAAD,CAAS7M,CAAT,CAAmB3D,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAO2D,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACI3D,CACA,CADS2D,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOtF,EAClBsF,EAAJ,GAActF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,kBAAV,CAA6B9E,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAuF,WAA/B,CACI,KAAMxF,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAuF,WAA1D,CAAN,CALY,CAOdsL,CAAN,WAAwBrR,EAAxB,GACIqR,CADJ,CACarR,CAAA4E,KAAA,CAAgByM,CAAhB,CAAwB7M,CAAxB,CADb,CAEI6N,EAAAA,CAAMhB,CAAAtQ,MAANsR,CAAqBhB,CAAAxQ,OACzB,IAAW,CAAX,EAAIwR,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAalT,CACjB,IAAW,CAAX,CAAIkT,CAAJ,CAAc,CACV,IAAIvT,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAAuF,WAAhB;AAAyCgO,CAAzC,CAAb,CACIpT,EAAO,IAAIC,UAAJ,CAAeJ,CAAf,CACXG,EAAAoE,IAAA,CAAS,IAAApE,KAAAqE,SAAA,CAAmBnE,CAAnB,CAA2B,IAAAL,OAAAuF,WAA3B,CAAT,CAA6DsM,CAA7D,CACA,KAAA7R,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAYA,CACZ,KAAAE,OAAA,EAAekT,CACU,EAAzB,EAAI,IAAAjT,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDiT,CAAjD,CACA,KAAAhT,MAAA,EAAcgT,CACdlT,EAAA,EAAUkT,CATA,CAAd,IAWoB,KAAInT,UAAJ,CAAe,IAAAJ,OAAf,CAEpB,KAAAG,KAAAoE,IAAA,CAAcsM,CAAA1Q,KAAAqE,SAAA,CAAqBqM,CAAAxQ,OAArB,CAAoCwQ,CAAAtQ,MAApC,CAAd,CAAiEF,CAAjE,CAA0EwR,CAA1E,CAEAhB,EAAAxQ,OAAA,CAAgBwQ,CAAAtQ,MACZoF,EAAJ,GACI,IAAAtF,OADJ,EACmBwR,CADnB,CAEA,OAAO,KArCsD,CAmDjE1O,EAAAqQ,UAAA,CAAgCC,QAAQ,CAACxC,CAAD,CAAS5Q,CAAT,CAAiB,CACrD4Q,CAAAoC,QAAA,CAAe,IAAf,CAAqBhT,CAArB,CACA,OAAO,KAF8C,CASzD8C,EAAAuQ,WAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAM,CACxB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAA/Q,IAAA4L,KAAA,CAAiBmF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAApO,SAAA,EADJ,CAEI,yEAFJ;AAGI,IAAAsO,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF2C,CAe/C3Q,EAAA4Q,UAAA,CAAgCC,QAAQ,EAAG,CACvC,MAAO,KAAAzT,MAAP,CAAoB,IAAAF,OADmB,CAW3C8C,EAAA8Q,MAAA,CAA4BC,QAAQ,EAAG,CACV,CAAzB,EAAI,IAAA5T,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP4B,CAkBvC8C,EAAA+C,OAAA,CAA6BiO,QAAQ,CAAC1U,CAAD,CAAW,CAC5C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAM0F,UAAA,CAAU,oBAAV,CAA+B1F,CAA/B,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,yBAAX,CAAqCN,CAArC,CAAN,CALY,CAOpB,GAAI,IAAAO,OAAAuF,WAAJ,CAA6B9F,CAA7B,CAAuC,CAC/BO,CAAAA,CAAS,IAAIE,WAAJ,CAAgBT,CAAhB,CACb,KAAIU,EAAO,IAAIC,UAAJ,CAAeJ,CAAf,CACXG,EAAAoE,IAAA,CAAS,IAAApE,KAAT,CACA,KAAAH,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAYA,CALuB,CAOvC,MAAO,KAfqC,CAwBhDgD;CAAAiR,QAAA,CAA8BC,QAAQ,CAAC1C,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtR,OAA1C,CACmB,YAAnB,GAAI,MAAOuR,EAAX,GAAgCA,CAAhC,CAAsC,IAAArR,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAUpB,GAAIoM,CAAJ,GAAcC,CAAd,CACI,MAAO,KACXtQ,MAAAC,UAAA6S,QAAA/O,KAAA,CAA6B,IAAAlF,KAAAqE,SAAA,CAAmBmN,CAAnB,CAA0BC,CAA1B,CAA7B,CACA,OAAO,KAhBwC,CAwBnDzO;CAAAmR,KAAA,CAA2BC,QAAQ,CAAC5T,CAAD,CAAS,CACxC,GAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIN,EAAS,IAAAA,OAATA,CAAuBM,CAC3B,IAAKhB,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQU,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAAuF,WAD/B,EAEQ,KAAMxF,WAAA,CAAW,uBAAX,CAAmC,IAAAM,OAAnC,CAA+C,KAA/C,CAAqDM,CAArD,CAA4D,MAA5D,CAAmE,IAAAX,OAAAuF,WAAnE,CAAN,CAER,IAAAlF,OAAA,CAAcA,CACd,OAAO,KAZiC,CAsB5C8C,EAAAyC,MAAA,CAA4B4O,QAAQ,CAAC7C,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtR,OAA1C,CACmB,YAAnB,GAAI,MAAOuR,EAAX,GAAgCA,CAAhC,CAAsC,IAAArR,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN;AACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAUpB,IAAIlB,EAAK,IAAAe,MAAA,EACTf,EAAAhE,OAAA,CAAYsR,CACZtN,EAAA9D,MAAA,CAAWqR,CACX,OAAOvN,EAhBsC,CA2BjDlB,EAAAsR,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC3CtU,EAAS,IAAAA,OADkC,CAE3CE,EAAQ,IAAAA,MACZ,IAAIF,CAAJ,CAAaE,CAAb,CACI,IAAIqU,EAAIvU,CAAR,CACAA,EAASE,CADT,CAEAA,EAAQqU,CAEZ,IAAKjV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAM8E,UAAA,CAAU,gCAAV,CAAN,CACJ9E,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM4E,UAAA,CAAU,+BAAV,CAAN;AACJ5E,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAAuF,WAA5C,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkCM,CAAlC,CAAyC,MAAzC,CAAgDE,CAAhD,CAAsD,MAAtD,CAA6D,IAAAP,OAAAuF,WAA7D,CAAN,CARY,CAYpB,GAAKoP,CAAAA,CAAL,EAA6B,CAA7B,GAAkBtU,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAAuF,WAA5C,CACI,MAAO,KAAAvF,OACX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EACPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACbkE,EAAA,IAAInE,UAAJ,CAAeJ,CAAf,CAAAuE,KAAA,CAA2BC,CAAA,IAAIpE,UAAJ,CAAe,IAAAJ,OAAf,CAAAwE,UAAA,CAAqCnE,CAArC,CAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EA1BwC,CAwCnDmD,EAAA0R,cAAA,CAAoC1R,CAAAsR,SAapCtR,EAAAqC,SAAA,CAA+BsP,QAAQ,CAAC9Q,CAAD,CAAW2N,CAAX,CAAkBC,CAAlB,CAAuB,CAC1D,GAAwB,WAAxB,GAAI,MAAO5N,EAAX,CACI,MAAO,sBAAP,CAA8B,IAAA3D,OAA9B,CAA0C,gBAA1C,CAA2D,IAAAC,aAA3D,CAA6E,SAA7E,CAAuF,IAAAC,MAAvF,CAAkG,YAAlG,CAA+G,IAAAd,SAAA,EAA/G;AAA+H,GAC3G,SAAxB,GAAI,MAAOuE,EAAX,GAGI4N,CAHJ,CAEID,CAFJ,CACI3N,CADJ,CACe,MADf,CAIA,QAAQA,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAA+Q,OAAA,CAAYpD,CAAZ,CAAmBC,CAAnB,CACX,MAAK,QAAL,CACI,MAAO,KAAAoD,SAAA,CAAcrD,CAAd,CAAqBC,CAArB,CACX,MAAK,KAAL,CACI,MAAO,KAAAqD,MAAA,CAAWtD,CAAX,CAAkBC,CAAlB,CACX,MAAK,QAAL,CACI,MAAO,KAAAsD,SAAA,CAAcvD,CAAd,CAAqBC,CAArB,CACX,MAAK,OAAL,CACI,MAAO,KAAAkC,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAqB,EAAA,EACX,SACI,KAAMjQ,MAAA,CAAM,wBAAN,CAA+BlB,CAA/B,CAAN,CAdR,CAP0D,CAgC9D,KAAIoR,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA,EAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG,CAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb,CAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC,CAGsC,GAHtC,CAG2C,GAH3C,CAGgD,GAHhD,CAGqD,GAHrD;AAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBS5U,EAAE,CApBX,CAoBcwD,EAAEmR,CAAA1U,OAAhB,CAA6BD,CAA7B,CAA+BwD,CAA/B,CAAkC,EAAExD,CAApC,CACI4U,CAAA,CAAID,CAAA,CAAK3U,CAAL,CAAJ,CAAA,CAAeA,CASnB0U,EAAAG,EAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzBlK,CADyB,CACtBoJ,CACP,CAAuB,IAAvB,IAAQpJ,CAAR,CAAYiK,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAM7J,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADAoJ,CACA,EADKpJ,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASiK,CAAA,EAAT,GACIb,CAGA,EAHMpJ,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFAkK,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUpJ,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADAoJ,CACA,EADKpJ,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASiK,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMT,CAAN,CAAUpJ,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAAkK,CAAA,CAAIL,CAAA,CAAK7J,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAIIkK,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAc,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKT,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAc,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAO,EAAA,CAAcC,QAAQ,CAACH,CAAD,CAAMC,CAAN,CAAW,CAE7BG,QAASA,EAAI,CAACpT,CAAD,CAAI,CACb,KAAMyC,MAAA,CAAM,0BAAN,CAAiCzC,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB,CACtBqT,CADsB,CAClBC,CAIX,CAAuB,IAAvB,IAAQtT,CAAR,CAAYgT,CAAA,EAAZ,EAAA,CAGI,GAFAK,CAEI,CAFCR,CAAA,CAAI7S,CAAJ,CAED,CADc,WACd,GADA,MAAOqT,EACP,EAD2BD,CAAA,CAAKpT,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKgT,CAAA,EAAL,IACAM,CAGI,CAHCT,CAAA,CAAI7S,CAAJ,CAGD,CAFc,WAEd;AAFA,MAAOsT,EAEP,EAF2BF,CAAA,CAAKpT,CAAL,CAE3B,CADJiT,CAAA,CAAKI,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAACtT,CAAD,CAAKgT,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBK,CAAA,CAAKR,CAAA,CAAI7S,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOqT,EAAX,CACI,GAAU,EAAV,GAAIrT,CAAJ,CAAc,KAAd,KAA0BoT,EAAA,CAAKpT,CAAL,CAC9BiT,EAAA,EAAMK,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKrT,CAAL,CAASgT,CAAA,EAAT,EAA0B,CACtBM,CAAA,CAAKT,CAAA,CAAI7S,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOsT,EAAX,CACI,GAAU,EAAV,GAAItT,CAAJ,CAAc,KAAd,KAA0BoT,EAAA,CAAKpT,CAAL,CAC9BiT,EAAA,EAAMI,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCX,EAAAY,KAAA,CAAYC,QAAQ,CAAC5H,CAAD,CAAM,CACtB,MAAO,kEAAA2H,KAAA,CAAwE3H,CAAxE,CADe,CAI1B,OAAO+G,EAxGW,CAAX,EAoHXjS,EAAA6R,SAAA,CAA+BkB,QAAQ,CAACvE,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAAtR,OADZ,CAEmB,YAAnB,GAAI,MAAOuR,EAAX,GACIA,CADJ,CACU,IAAArR,MADV,CAEA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C;AAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAUpB,IAAIsJ,CAAIuG,EAAAG,EAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO5D,EAAA,CAAQC,CAAR,CAAc,IAAAzR,KAAA,CAAUwR,CAAA,EAAV,CAAd,CAAmC,IADf,CAAXjD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWhO,CAAA,EAFX,CAGR,OAAOgO,EAAA,EAlByC,CA+BpDrP,EAAAqF,WAAA,CAAwBsR,QAAQ,CAAC9H,CAAD,CAAM3O,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO0O,EAAX,CACI,KAAMlJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIkJ,CAAA1N,OAAJ,CAAiB,CAAjB,CACI,KAAMwE,UAAA,CAAU,yCAAV,CAAN;AAJO,CAD2C,IAOtDd,EAAK,IAAI7E,CAAJ,CAAe6O,CAAA1N,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BjB,CAA/B,CAA6CC,CAA7C,CAPiD,CAQtDe,EAAI,CACR0U,EAAAO,EAAA,CAAYnV,CAAA,CAAa6N,CAAb,CAAZ,CAA+B,QAAQ,CAAC7C,CAAD,CAAI,CACvCnH,CAAAlE,KAAA,CAAQO,CAAA,EAAR,CAAA,CAAe8K,CADwB,CAA3C,CAGAnH,EAAA9D,MAAA,CAAWG,CACX,OAAO2D,EAbmD,CAuB9D7E,EAAA4W,KAAA,CAAkBC,QAAQ,CAAChI,CAAD,CAAM,CAC5B,MAAO7O,EAAAuF,WAAA,CAAsBsJ,CAAtB,CAAA2G,SAAA,EADqB,CAWhCxV,EAAA8W,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAOhX,EAAAqF,WAAA,CAAsB2R,CAAtB,CAAAtB,SAAA,EADqB,CAchC/R,EAAA+R,SAAA,CAA+BuB,QAAQ,CAAC9E,CAAD,CAAQC,CAAR,CAAa,CAChDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAtR,OAA/B,CAA6CsR,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAArR,MAA7B,CAA0CqR,CAChD,IAAKjS,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ;AAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAUpB,GAAIoM,CAAJ,GAAcC,CAAd,CACI,MAAO,EAEX,KAhBgD,IAe5C8E,EAAK,EAfuC,CAenCC,EAAK,EAClB,CAAOhF,CAAP,CAAeC,CAAf,CAAA,CACI8E,CAAArV,KAAA,CAAQ,IAAAlB,KAAA,CAAUwR,CAAA,EAAV,CAAR,CACA,CAAiB,IAAjB,EAAI+E,CAAA/V,OAAJ,GACIgW,CAAAtV,KAAA,CAAQD,MAAAoC,aAAArC,MAAA,CAA0BC,MAA1B,CAAkCsV,CAAlC,CAAR,CACA,CAAAA,CAAA,CAAK,EAFT,CAIJ,OAAOC,EAAA1V,KAAA,CAAQ,EAAR,CAAP,CAAqBG,MAAAoC,aAAArC,MAAA,CAA0BC,MAA1B,CAAkCsV,CAAlC,CAtB2B,CAmCpDlX,EAAAuF,WAAA,CAAwB6R,QAAQ,CAACvI,CAAD,CAAM3O,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO0O,EADf,CAEQ,KAAMlJ,UAAA,CAAU,2BAAV,CAAN,CAIR,IAP0D,IAKtDzE,EAAI,CALkD,CAK/CwD,EAAImK,CAAA1N,OAL2C,CAMtD0D,EAAK,IAAI7E,CAAJ,CAAe0E,CAAf,CAAkBxE,CAAlB,CAAgCC,CAAhC,CACT,CAAOe,CAAP,CAASwD,CAAT,CAAA,CAAY,CACR2S,CAAA,CAAWxI,CAAAzN,WAAA,CAAeF,CAAf,CACX,IAAKf,CAAAA,CAAL,EAA4B,GAA5B,CAAiBkX,CAAjB,CACI,KAAM9W,WAAA,CAAW,sBAAX;AAAkCW,CAAlC,CAAoC,SAApC,CAA8CmW,CAA9C,CAAuD,SAAvD,CAAN,CACJxS,CAAAlE,KAAA,CAAQO,CAAA,EAAR,CAAA,CAAemW,CAJP,CAMZxS,CAAA9D,MAAA,CAAW2D,CACX,OAAOG,EAdmD,CAoC9DlB,EAAA2Q,QAAA,CAA8BgD,QAAQ,CAACC,CAAD,CAAU,CAO5C,IAP4C,IACxCrW,EAAK,EADmC,CAExCwD,EAAI,IAAAlE,OAAAuF,WAFoC,CAGxCiG,CAHwC,CAIxCwL,EAAM,EAJkC,CAKxCC,EAAM,EALkC,CAMxCrD,EAAM,EACV,CAAOlT,CAAP,CAASwD,CAAT,CAAA,CAAY,CACG,EAAX,GAAIxD,CAAJ,GACI8K,CAGA,CAHI,IAAArL,KAAA,CAAUO,CAAV,CAGJ,CAFcsW,CAEd,CAFQ,EAAR,CAAIxL,CAAJ,CAAcwL,CAAd,EAAqB,GAArB,CAAyBxL,CAAAhG,SAAA,CAAW,EAAX,CAAA0R,YAAA,EAAzB,EACKF,CADL,CACYxL,CAAAhG,SAAA,CAAW,EAAX,CAAA0R,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAAzL,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoBpK,MAAAoC,aAAA,CAAoBgI,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAQA,GAAE9K,CACF,IAAIqW,CAAJ,EACY,CADZ,CACQrW,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCwD,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAO8S,CAAArW,OAAP,CAAA,CAA4BqW,CAAA,EAAO,GACnCpD,EAAA,EAAOoD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADAtW,CAAJ,GAAU,IAAAL,OAAV,EAAyBK,CAAzB,GAA+B,IAAAH,MAA/B,CACIyW,CADJ,EACWtW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESI,CAAJ,GAAU,IAAAL,OAAV,CACD2W,CADC,EACMtW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEII,CAAJ,GAAU,IAAAH,MAAV,CACDyW,CADC,EACMtW,CAAA;AAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGD0W,CAHC,EAGMtW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAiCyW,CAAA,EAAkB,CAAlB,GAAYrW,CAAZ,EAAuBA,CAAvB,GAA6BwD,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAI6S,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAArW,OAAP,CAAA,CAA4BqW,CAAA,EAAO,GACnCpD,EAAA,EAAOoD,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUnD,CAAV,CAAgBoD,CArCqB,CAmDhDxX,EAAAyF,UAAA,CAAuBkS,QAAQ,CAAC9I,CAAD,CAAM3O,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrDuE,EAAImK,CAAA1N,OACJ0D,EAAAA,CAAK,IAAI7E,CAAJ,EAAiB0E,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4BxE,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrDe,EAAI,CAHiD,CAG9C0W,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD5B,EAAO,CAAA,CACX,CAAOnV,CAAP,CAASwD,CAAT,CAAA,CAAY,CACR,OAAQmT,CAAR,CAAahJ,CAAAqJ,OAAA,CAAWhX,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAI4X,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB5B,CAAA,CAAO,CAAA,CAAM,MADG,CAGpB0B,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMfpT,CAAAhE,OAAA,CAAYgE,CAAA/D,aAAZ,CAA8B+D,CAAA9D,MAA9B,CAAyC6W,CACzCE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK3X,CAAAA,CAAL,CAAe,CACX,GAAI4X,CAAJ,EAAUE,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd0B,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMfpT,CAAAhE,OAAA,CAAYgE,CAAA9D,MAAZ,CAAuB6W,CACvBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK3X,CAAAA,CAAL,CAAe,CACX,GAAI4X,CAAJ,EAAUC,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd0B,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMfnT,CAAAhE,OAAA;AAAYgE,CAAA/D,aAAZ,CAA8B8W,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK3X,CAAAA,CAAL,CAAe,CACX,GAAI4X,CAAJ,CAAQ,CACJ1B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR0B,CAAA,CAAK,CAAA,CAJM,CAMflT,CAAAhE,OAAA,CAAY+W,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK3X,CAAAA,CAAL,CAAe,CACX,GAAI8X,CAAJ,EAAUD,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd4B,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMfnT,CAAA9D,MAAA,CAAW8D,CAAA/D,aAAX,CAA6B8W,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK3X,CAAAA,CAAL,CAAe,CACX,GAAI8X,CAAJ,CAAQ,CACJ5B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR4B,CAAA,CAAK,CAAA,CAJM,CAMfpT,CAAA9D,MAAA,CAAW6W,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAK3X,CAAAA,CAAL,CAAe,CACX,GAAI6X,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR2B,CAAA,CAAK,CAAA,CAJM,CAMfnT,CAAA/D,aAAA,CAAkB8W,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAK3X,CAAAA,CAAL,EACQ2X,CADR,CACY,CACJzB,CAAA,CAAO,CAAA,CAAM,MADT,CAIZrK,CAAA,CAAImM,QAAA,CAASN,CAAT,CAAYhJ,CAAAqJ,OAAA,CAAWhX,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAKf,CAAAA,CAAL,GACQiD,KAAA,CAAM4I,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAMrG,UAAA,CAAU,yCAAV,CAAN,CAERd,CAAAlE,KAAA,CAAQiX,CAAA,EAAR,CAAA,CAAe5L,CACf8L,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAIzB,CAAJ,CACI,KAAM1Q,UAAA,CAAU,iCAAV;AAA4CzE,CAA5C,CAAN,CA1FI,CA4FZ,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAK4X,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAMtS,UAAA,CAAU,sCAAV,CAAN,CACJ,GAAIiS,CAAJ,CAAM/S,CAAArE,OAAAuF,WAAN,CACI,KAAMJ,UAAA,CAAU,uDAAV,CAAkEiS,CAAlE,CAAoE,KAApE,CAA0ElT,CAA1E,CAAN,CAJO,CAMf,MAAOG,EAzGkD,CAqH7DlB,EAAA8R,MAAA,CAA4B2C,QAAQ,CAACjG,CAAD,CAAQC,CAAR,CAAa,CAC7CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAtR,OAA/B,CAA6CsR,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAArR,MAA7B,CAA0CqR,CAChD,IAAKjS,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB;AAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN,CARY,CAYpB,IAf6C,IAazCqO,EAAUtS,KAAJ,CAAUsQ,CAAV,CAAgBD,CAAhB,CAbmC,CAczCnG,CACJ,CAAOmG,CAAP,CAAeC,CAAf,CAAA,CACIpG,CACA,CADI,IAAArL,KAAA,CAAUwR,CAAA,EAAV,CACJ,CAAQ,EAAR,CAAInG,CAAJ,CACIoI,CAAAvS,KAAA,CAAS,GAAT,CAAcmK,CAAAhG,SAAA,CAAW,EAAX,CAAd,CADJ,CAEKoO,CAAAvS,KAAA,CAASmK,CAAAhG,SAAA,CAAW,EAAX,CAAT,CAET,OAAOoO,EAAA3S,KAAA,CAAS,EAAT,CArBsC,CAkCjDzB,EAAAsF,QAAA,CAAqB+S,QAAQ,CAACxJ,CAAD,CAAM3O,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAO0O,EAAX,CACI,KAAMlJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIkJ,CAAA1N,OAAJ,CAAiB,CAAjB,CACI,KAAMwE,UAAA,CAAU,yCAAV,CAAN,CAJO,CADwC,IAOnDjB,EAAImK,CAAA1N,OACJ0D,EAAAA,CAAK,IAAI7E,CAAJ,CAAgB0E,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4BxE,CAA5B,CAET,KAHA,IAEI8L,CAFJ,CAGS9K,EAAE,CAHX,CAGc0W,EAAE,CAAhB,CAAmB1W,CAAnB,CAAqBwD,CAArB,CAAwBxD,CAAxB,EAA2B,CAA3B,CAA8B,CAC1B8K,CAAA,CAAImM,QAAA,CAAStJ,CAAAyJ,UAAA,CAAcpX,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAKf,CAAAA,CAAL;CACS,CAAAoY,QAAA,CAASvM,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAMrG,UAAA,CAAU,0CAAV,CAAN,CACRd,CAAAlE,KAAA,CAAQiX,CAAA,EAAR,CAAA,CAAe5L,CALW,CAO9BnH,CAAA9D,MAAA,CAAW6W,CACX,OAAO/S,EAlBgD,CA4B3D,KAAIiK,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,EAAgB,OAPV,CAeN,EAAa0J,QAAQ,CAACvC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAIvF,EAAK,IACU,SAAnB,GAAI,MAAOsF,EAAX,GACItF,CACA,CADKsF,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAOtF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BsF,CAAA,EAA5B,EAAA,CACa,GAAT,CAAItF,CAAJ,CACIuF,CAAA,CAAIvF,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACDuF,CAAA,CAAMvF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ,CACDuF,CAAA,CAAMvF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKDuF,CAAA,CAAMvF,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAAuF,CAAA,CAAMvF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAAuF,CAAA,CAAMvF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAAuF,CAAA,CAAKvF,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA,CAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,EAAa8H,QAAQ,CAACxC,CAAD,CAAMC,CAAN,CAAW,CACVG,QAAA,EAAQ,CAACrK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAA5F,MAAA,CAAQ,CAAR,CAAW4F,CAAA0M,QAAA,CAAU,IAAV,CAAX,CACJ,KAAInM,EAAM7G,KAAA,CAAMsG,CAAAhG,SAAA,EAAN,CACVuG,EAAAoM,KAAA,CAAW,gBACXpM;CAAA,MAAA,CAAeP,CACf,MAAMO,EAAN,CAL+B,CAOnC,IARiC,IAC7BqM,CAD6B,CAC1B5M,CAD0B,CACvB/I,CADuB,CACpBR,CAOb,CAAuB,IAAvB,IAAQmW,CAAR,CAAY3C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAK2C,CAAL,CAAO,GAAP,EACI1C,CAAA,CAAI0C,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADE5M,CACF,CADMiK,CAAA,EACN,GAD0BI,CAAA,CAAK,CAACuC,CAAD,CAAI5M,CAAJ,CAAL,CAC1B,CAAAkK,CAAA,EAAM0C,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqB5M,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAK4M,CAAL,CAAO,GAAP,EACc,IACf,IADE5M,CACF,CADIiK,CAAA,EACJ,GADqC,IACrC,IADwBhT,CACxB,CAD0BgT,CAAA,EAC1B,GAD8CI,CAAA,CAAK,CAACuC,CAAD,CAAI5M,CAAJ,CAAO/I,CAAP,CAAL,CAC9C,CAAAiT,CAAA,EAAM0C,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuB5M,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsC/I,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAK2V,CAAL,CAAO,GAAP,EACc,IACf,IADE5M,CACF,CADIiK,CAAA,EACJ,GADqC,IACrC,IADwBhT,CACxB,CAD0BgT,CAAA,EAC1B,GAD2D,IAC3D,IAD8CxT,CAC9C,CADgDwT,CAAA,EAChD,GADoEI,CAAA,CAAK,CAACuC,CAAD,CAAI5M,CAAJ,CAAO/I,CAAP,CAAUR,CAAV,CAAL,CACpE,CAAAyT,CAAA,EAAM0C,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuB5M,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwC/I,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDR,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAMlC,WAAA,CAAW,yBAAX,CAAqCqY,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,EAAcC,QAAQ,CAAC5C,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9B4C,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmB9C,CAAA,EADjC,EAAA,CAGc,KAAV,EAAI6C,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACc9C,CAAA,EADd;AAEkB,KAFlB,EAEY8C,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGY7C,CAAA,CAAgB,IAAhB,EAAK4C,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQA7C,CAAA,CAAI4C,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiB7C,CAAA,CAAI6C,CAAJ,CAfiB,CA/E3B,CAwGN,EAAcC,QAAQ,CAAC/C,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAIvF,EAAK,IACU,SAAnB,GAAI,MAAOsF,EAAX,GACItF,CAAU,CAALsF,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAOtF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BsF,CAAA,EAA5B,EAAA,CACc,KAAV,EAAItF,CAAJ,CACIuF,CAAA,CAAIvF,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADAuF,CAAA,EAAKvF,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAAuF,CAAA,CAAKvF,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,EAAoBsI,QAAQ,CAAChD,CAAD,CAAMC,CAAN,CAAW,CACxCpH,CAAAoK,EAAA,CAAiBjD,CAAjB,CAAsB,QAAQ,CAACtF,CAAD,CAAK,CAC/B7B,CAAAqK,EAAA,CAAgBxI,CAAhB,CAAoBuF,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,EAAoBkD,QAAQ,CAACnD,CAAD,CAAMC,CAAN,CAAW,CACxCpH,CAAA4B,EAAA,CAAgBuF,CAAhB,CAAqB,QAAQ,CAACtF,CAAD,CAAK,CAC9B7B,CAAA8B,EAAA,CAAiBD,CAAjB,CAAqBuF,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,EAAqBmD,QAAQ,CAAC1I,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,EAAgB2I,QAAQ,CAACrD,CAAD,CAAM,CAE/B,IAF+B,IAC3BtF,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAasF,CAAA,EAAb,EAAA,CACIjF,CAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CACnE,OAAOK,EAJwB,CAhKxB,CA6KN,EAAuBuI,QAAQ,CAACtD,CAAD,CAAM,CAAA,IAClCxK;AAAE,CADgC,CAC7BuF,EAAE,CACXlC,EAAAoK,EAAA,CAAiBjD,CAAjB,CAAsB,QAAQ,CAACtF,CAAD,CAAK,CAC/B,EAAElF,CAAGuF,EAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CADrC,CAAnC,CAGA,OAAO,CAAClF,CAAD,CAAGuF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOlC,EA7LW,CAAX,EAyMXnL,EAAA4R,OAAA,CAA6BiE,QAAQ,CAACrH,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAtR,OAA1C,CACmB,YAAnB,GAAI,MAAOuR,EAAX,GAAgCA,CAAhC,CAAsC,IAAArR,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOgS,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMxM,UAAA,CAAU,+BAAV,CAAN,CACJwM,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMzM,UAAA,CAAU,6BAAV,CAAN,CACJyM,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAA5R,OAAAuF,WAAtC,CACI,KAAMxF,WAAA,CAAW,sBAAX,CAAkC4R,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAA5R,OAAAuF,WAA1D,CAAN;AARY,CAUpB,IAAIsJ,CAAI,IAAI,CACRP,CAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO6C,EAAA,CAAQC,CAAR,CAAc,IAAAzR,KAAA,CAAUwR,CAAA,EAAV,CAAd,CAAmC,IADZ,CAAXjD,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBhO,CAAA,EAFnB,CADQ,CAIV,MAAOqB,CAAP,CAAU,CACR,GAAIyP,CAAJ,GAAcC,CAAd,CACI,KAAM7R,WAAA,CAAW,iCAAX,CAA6C4R,CAA7C,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CAFI,CAIZ,MAAO/C,EAAA,EArBuC,CAkClDrP,EAAAwF,SAAA,CAAsBiU,QAAQ,CAAC5K,CAAD,CAAM3O,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAO0O,EADf,CAEQ,KAAMlJ,UAAA,CAAU,2BAAV,CAAN,CAHgD,IAIpDd,EAAK,IAAI7E,CAAJ,CAAe8O,CAAAC,EAAA,CAA0B/N,CAAA,CAAa6N,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsE3O,CAAtE,CAAoFC,CAApF,CAJ+C,CAKpDe,EAAI,CACR4N,EAAAG,EAAA,CAAuBjO,CAAA,CAAa6N,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClDnH,CAAAlE,KAAA,CAAQO,CAAA,EAAR,CAAA,CAAe8K,CADmC,CAAtD,CAGAnH,EAAA9D,MAAA,CAAWG,CACX,OAAO2D,EAViD,CAa5D,OAAO7E,EArmHa;AAVV,GAAsB,UAAtB,GAAI,MAAO0Z,OAAX,EAAoCA,MAAA,IAApC,CACNA,MAAA,CAAO,CAAC,MAAD,CAAP,CAAiBC,CAAjB,CADM,KAEU,IAAuB,UAAvB,GAAI,MAAOC,QAAX,EAAuD,QAAvD,GAAqC,MAAOC,OAA5C,EAAmEA,MAAnE,EAA6EA,MAAA,QAA7E,CAAA,CAChBA,IAAAA,EAAAA,MAAAA,CAAoB,CAApBA,CACQ9Z,CAAM,IAAI,CAAEA,CAAA,CAAO6Z,OAAA,CAAQ,MAAR,CAAT,CAA4B,MAAOlX,CAAP,CAAU,EACpD,CAAA,CAAOiX,CAAA,CAAQ5Z,CAAR,CAFX8Z,EAAA,QAAA,CAAoB,CADJ,CAAA,IAMhB,CAELC,IAFM,QAAD,CAELA,IAF0B,QAArB,EAA0C,EAA1C,YAAA,CAA8DH,CAAA,CAEnEG,IAF2E,QAAA,KAAR;", +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index e7fd05f..9ae6682 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "4.0.0-pre"; + ByteBuffer.VERSION = "4.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2586,8 +2586,7 @@ }; /** * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if * possible. Defaults to `false` * @returns {!ArrayBuffer} Contents as an ArrayBuffer @@ -2596,11 +2595,6 @@ ByteBufferPrototype.toBuffer = function(forceCopy) { var offset = this.offset, limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); @@ -2624,9 +2618,7 @@ /** * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of - * {@link ByteBuffer#toBuffer}. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. * @function * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. * Defaults to `false` diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index 460fa52..80d3871 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(b>c)var d=b,b=c,c=d;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer"); -b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+ -this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82, -83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e, -h,f;null!==(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a= -this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b=== -this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++), -16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d? -c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f, -g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b, -c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!== +typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+ +",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86, +87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,h,f;null!== +(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset); +"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return a>>=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&& +b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++),16);if(!c&&(isNaN(g)||0>g||255< +g))throw TypeError("Illegal str: Not a debug encoded string");b.view.setUint8(n++,g);k=!0}if(q)throw TypeError("Illegal str: Invalid symbol at "+e);}if(!c){if(!l||!r)throw TypeError("Illegal str: Missing offset or limit");if(n>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2"); +}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)), +d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+ +e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4}, +l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| +b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aKlRa{%l;Yje{` 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 OUh5zIy7q{bq5uFQ6ZV|| literal 7722 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 diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index b9c4e1a..ef240fb 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":87, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","t","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index dc2e8be..4d4dc14 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "4.0.0-pre"; + ByteBuffer.VERSION = "4.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2723,8 +2723,7 @@ module.exports = (function() { }; /** * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if * possible. Defaults to `false` * @returns {!Buffer} Contents as a Buffer @@ -2733,11 +2732,6 @@ module.exports = (function() { ByteBufferPrototype.toBuffer = function(forceCopy) { var offset = this.offset, limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); @@ -2762,19 +2756,12 @@ module.exports = (function() { /** * Returns a copy of the backing buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. - * Defaults to `false` + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. * @returns {!ArrayBuffer} Contents as an ArrayBuffer */ ByteBufferPrototype.toArrayBuffer = function() { var offset = this.offset, limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); diff --git a/package.json b/package.json index 96f3ff6..6bd0059 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "4.0.0-pre", + "version": "4.0.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", diff --git a/src/methods/toBuffer.js b/src/methods/toBuffer.js index 799fa25..9c6af08 100644 --- a/src/methods/toBuffer.js +++ b/src/methods/toBuffer.js @@ -1,7 +1,6 @@ /** * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if * possible. Defaults to `false` //? if (NODE) { @@ -14,11 +13,6 @@ ByteBufferPrototype.toBuffer = function(forceCopy) { var offset = this.offset, limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } if (!this.noAssert) { //? ASSERT_RANGE('offset', 'limit'); } @@ -49,19 +43,12 @@ ByteBufferPrototype.toBuffer = function(forceCopy) { //? if (NODE) { /** * Returns a copy of the backing buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. - * Defaults to `false` + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. * @returns {!ArrayBuffer} Contents as an ArrayBuffer */ ByteBufferPrototype.toArrayBuffer = function() { var offset = this.offset, limit = this.limit; - if (offset > limit) { - var t = offset; - offset = limit; - limit = t; - } if (!this.noAssert) { //? ASSERT_RANGE('offset', 'limit'); } @@ -78,9 +65,7 @@ ByteBufferPrototype.toArrayBuffer = function() { //? } else { /** * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will transparently {@link ByteBuffer#flip} this - * ByteBuffer if `offset > limit` but the actual offsets remain untouched. This is an alias of - * {@link ByteBuffer#toBuffer}. + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. * @function * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. * Defaults to `false` diff --git a/tests/suite.js b/tests/suite.js index 8fb8163..b97a531 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -22,6 +22,7 @@ var ByteBuffer = require("../dist/ByteBufferNB.js"); var ByteBufferNB = ByteBuffer.ByteBufferNB = ByteBuffer; var ByteBufferAB = ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); var ByteBufferAB_DataView = ByteBuffer.ByteBufferAB_DataView = require("../dist/ByteBufferAB_DataView.min.js"); +var pkg = require("../package.json"); /** * Constructs a new Sandbox for module loaders and shim testing. @@ -65,6 +66,7 @@ function makeSuite(ByteBuffer) { test.log("\n\n --- ByteBufferAB_DataView ---\n".bold.white); test.ok(type === Buffer || type === ArrayBuffer); test.ok(typeof ByteBuffer == "function"); + test.strictEqual(pkg.version, ByteBuffer.VERSION); test.done(); }; From ddb628360f166f0f790940a941ba0b7b6f2e826e Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 16 Jul 2015 17:01:46 +0200 Subject: [PATCH 70/91] Long overdue varint32 rework --- dist/ByteBufferAB.js | 84 ++++++------- dist/ByteBufferAB.min.js | 125 ++++++++++---------- dist/ByteBufferAB.min.js.gz | Bin 8378 -> 8327 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferAB_DataView.js | 84 ++++++------- dist/ByteBufferAB_DataView.min.js | 157 ++++++++++++------------- dist/ByteBufferAB_DataView.min.js.gz | Bin 7700 -> 7677 bytes dist/ByteBufferAB_DataView.min.map | 6 +- dist/ByteBufferNB.js | 84 ++++++------- src/methods/static/registerEncoding.js | 16 +++ src/types/varints/varint32.js | 107 +++++------------ src/types/varints/varint64.js | 3 + 12 files changed, 310 insertions(+), 362 deletions(-) create mode 100644 src/methods/static/registerEncoding.js diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index cdaf822..5ebc0b1 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -312,6 +312,22 @@ ByteBuffer.isByteBuffer = function(bb) { return (bb && bb["__isByteBuffer__"]) === true; }; + // TODO + + /** + * Registers an additional string encoding. + * @param {string} name Short name of the encoding (i.e. "utf8") + * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding + * to a ByteBuffer + * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding + * from a ByteBuffer + */ + ByteBuffer.registerEncoding = function(name, fromString, toString) { + ByteBuffer.ENCODINGS[name] = { + fromString: fromString, + toString: toString + }; + }; /** * Gets the backing buffer type. * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) @@ -1526,46 +1542,22 @@ if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; - // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.view[offset] = b = value | 0x80; value >>>= 0; - if (value >= 1 << 7) { - b = (value >> 7) | 0x80; - this.view[offset+1] = b; - if (value >= 1 << 14) { - b = (value >> 14) | 0x80; - this.view[offset+2] = b; - if (value >= 1 << 21) { - b = (value >> 21) | 0x80; - this.view[offset+3] = b; - if (value >= 1 << 28) { - this.view[offset+4] = (value >> 28) & 0x0F; - size = 5; - } else { - this.view[offset+3] = b & 0x7F; - size = 4; - } - } else { - this.view[offset+2] = b & 0x7F; - size = 3; - } - } else { - this.view[offset+1] = b & 0x7F; - size = 2; - } - } else { - this.view[offset] = b & 0x7F; - size = 1; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + this.view[offset++] = b; + value >>>= 7; } + this.view[offset++] = value; if (relative) { - this.offset += size; + this.offset = offset; return this; } return size; }; /** - * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number} value Value to write * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. @@ -1596,36 +1588,33 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - // ref: src/google/protobuf/io/coded_stream.cc - var size = 0, + var c = 0, value = 0 >>> 0, - temp, - ioffset; + b; do { - ioffset = offset+size; - if (!this.noAssert && ioffset > this.limit) { + if (!this.noAssert && offset > this.limit) { var err = Error("Truncated"); err['truncated'] = true; throw err; } - temp = this.view[ioffset]; - if (size < 5) - value |= ((temp&0x7F)<<(7*size)) >>> 0; - ++size; - } while ((temp & 0x80) === 0x80); - value = value | 0; // Make sure to discard the higher order bits + b = this.view[offset++]; + if (c < 5) + value |= (b & 0x7f)<<(7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; if (relative) { - this.offset += size; + this.offset = offset; return value; } return { "value": value, - "length": size + "length": c }; }; /** - * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read @@ -1717,6 +1706,9 @@ return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; + var Long0x80 = Long.fromNumber(0x80), + Long0x7f = Long.fromNumber(0x7f); + /** * Writes a 64bit base 128 variable-length integer. * @param {number|Long} value Value to write diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 8d09582..d3a0159 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,14 +5,14 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= +null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+w.apply(String,a);1024>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+p/f:b+p*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& -(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +typeof b||"string"!==typeof b)d=c,c=b,b=void 0;for(var e=0,f=0,h=a.length,q;f=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.n=function(a,b,c){g.j[a]={fromString:b,toString:c}};g.type=function(){return ArrayBuffer}; +g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof +Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ " (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); @@ -33,61 +33,60 @@ if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an i this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; -f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian, +b>d&&this.resize((d*=2)>b?d:b);y(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; +f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);y(this.view,a,b-8,this.littleEndian, 52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a);b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;this.view[b]=d=a|128;a>>>=0;128<=a?(d=a>>7|128,this.view[b+1]=d,16384<=a?(d=a>>14|128,this.view[b+2]=d,2097152<=a?(d=a>>21|128,this.view[b+3]=d,268435456<=a?(this.view[b+4]=a>>28&15,d=5):(this.view[b+3]=d&127,d=4)):(this.view[b+2]=d&127,d=3)):(this.view[b+1]=d&127,d=2)):(this.view[b]=d&127,d=1);return c?(this.offset+=d,this):d};f.writeVarint32ZigZag=function(a, -b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{e=a+c;if(!this.noAssert&&e>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[e];5>c&&(d|=(e&127)<<7*c>>>0);++c}while(128=== -(e&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128> -c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a? -a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!== -d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++], -e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag= -function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0; -if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+ -1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0===e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+=4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+ -2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d};f.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); -}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]}; -g.calculateString=g.calculateUTF8Bytes;f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ -this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a),this.noAssert)[1];f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c? -(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*= -2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength};f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)): -(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ -b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d);e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a, -b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h); -a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian= -"undefined"!==typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; -f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ -")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, -116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"=== -typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| -a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b=== -this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| -b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; -b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& -56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c= -0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); -}var c;try{l.b(function(){return a>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[a++];5>c&&(d|=(e&127)<<7*c);++c}while(0!==(e&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64= +function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64= +function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},k.fromNumber(128),k.fromNumber(127),f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var q=this.buffer.byteLength;b>q&&this.resize((q*= +2)>b?q:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this): +d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&& +"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++], +f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!== +typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]= +0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0=== +e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+= +4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d};f.readIString=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength; +b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};g.calculateString=g.calculateUTF8Bytes;f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var q=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a),this.noAssert)[1]; +f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength};f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset= +-1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0; +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d);e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&& +(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0, +this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+ +b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this; +for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean"); +this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength); +this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer= +function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, +c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+ +a);}};var z=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]), +c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; +return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;z.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0 +e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,m=!1,p=!1,r=!1;e":if(!c){if(p){r=!0;break}p=!0}b.limit=f;k=!1;break;case "'":if(!c){if(m){r=!0;break}m=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&& +k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15| +224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e& +7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b, +function(b){a.e(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aWhp)qJL|4$M+5;7 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 QGz6Xh0?LXuQ+BNY01^jW%K!iX diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index 6d17f63..69e231f 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":93, -"mappings":"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", +"lineCount":92, +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","registerEncoding","ByteBuffer.registerEncoding","name","fromString","toString","ENCODINGS","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index 9ae6682..8636750 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -313,6 +313,22 @@ ByteBuffer.isByteBuffer = function(bb) { return (bb && bb["__isByteBuffer__"]) === true; }; + // TODO + + /** + * Registers an additional string encoding. + * @param {string} name Short name of the encoding (i.e. "utf8") + * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding + * to a ByteBuffer + * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding + * from a ByteBuffer + */ + ByteBuffer.registerEncoding = function(name, fromString, toString) { + ByteBuffer.ENCODINGS[name] = { + fromString: fromString, + toString: toString + }; + }; /** * Gets the backing buffer type. * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) @@ -1251,46 +1267,22 @@ if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; - // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.view.setUint8(offset, b = value | 0x80); value >>>= 0; - if (value >= 1 << 7) { - b = (value >> 7) | 0x80; - this.view.setUint8(offset+1, b); - if (value >= 1 << 14) { - b = (value >> 14) | 0x80; - this.view.setUint8(offset+2, b); - if (value >= 1 << 21) { - b = (value >> 21) | 0x80; - this.view.setUint8(offset+3, b); - if (value >= 1 << 28) { - this.view.setUint8(offset+4, (value >> 28) & 0x0F); - size = 5; - } else { - this.view.setUint8(offset+3, b & 0x7F); - size = 4; - } - } else { - this.view.setUint8(offset+2, b & 0x7F); - size = 3; - } - } else { - this.view.setUint8(offset+1, b & 0x7F); - size = 2; - } - } else { - this.view.setUint8(offset, b & 0x7F); - size = 1; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + this.view.setUint8(offset++, b); + value >>>= 7; } + this.view.setUint8(offset++, value); if (relative) { - this.offset += size; + this.offset = offset; return this; } return size; }; /** - * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number} value Value to write * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. @@ -1321,36 +1313,33 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - // ref: src/google/protobuf/io/coded_stream.cc - var size = 0, + var c = 0, value = 0 >>> 0, - temp, - ioffset; + b; do { - ioffset = offset+size; - if (!this.noAssert && ioffset > this.limit) { + if (!this.noAssert && offset > this.limit) { var err = Error("Truncated"); err['truncated'] = true; throw err; } - temp = this.view.getUint8(ioffset); - if (size < 5) - value |= ((temp&0x7F)<<(7*size)) >>> 0; - ++size; - } while ((temp & 0x80) === 0x80); - value = value | 0; // Make sure to discard the higher order bits + b = this.view.getUint8(offset++); + if (c < 5) + value |= (b & 0x7f)<<(7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; if (relative) { - this.offset += size; + this.offset = offset; return value; } return { "value": value, - "length": size + "length": c }; }; /** - * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read @@ -1442,6 +1431,9 @@ return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; + var Long0x80 = Long.fromNumber(0x80), + Long0x7f = Long.fromNumber(0x7f); + /** * Writes a 64bit base 128 variable-length integer. * @param {number|Long} value Value to write diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index 80d3871..cd326e5 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -5,83 +5,82 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=p||(d.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= -b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== -a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes= -e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt8(b-1,a);c&& -(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ -0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c= +null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+v.apply(String,a);1024=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= +b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.n=function(a,b,c){f.j[a]={fromString:b,toString:c}};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c); +default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a); +c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8= +d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readUInt32=d.readUint32;k&&(d.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeLong=d.writeInt64,d.readInt64=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.readLong=d.readInt64,d.writeUint64=function(a,b){var c= "undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== -typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; -if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=f.calculateVarint32(a);b+=d;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=d;this.view.setUint8(b,d=a|128);a>>>=0;128<=a?(d=a>>7|128,this.view.setUint8(b+1,d),16384<=a?(d=a>>14|128,this.view.setUint8(b+2,d),2097152<=a?(d=a>>21|128,this.view.setUint8(b+ -3,d),268435456<=a?(this.view.setUint8(b+4,a>>28&15),d=5):(this.view.setUint8(b+3,d&127),d=4)):(this.view.setUint8(b+2,d&127),d=3)):(this.view.setUint8(b+1,d&127),d=2)):(this.view.setUint8(b,d&127),d=1);return c?(this.offset+=d,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,h;do{h=a+c;if(!this.noAssert&&h>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(h);5>c&&(d|=(h&127)<<7*c>>>0);++c}while(128===(h&128));d|=0;return b?(this.offset+=c,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES= -10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, -f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=f.calculateVarint64(a),h=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*= -2)>b?p:b);b-=d;switch(d){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==d?g|128:g&127);case 8:this.view.setUint8(b+7,8!==d?e>>>21|128:e>>>21&127);case 7:this.view.setUint8(b+6,7!==d?e>>>14|128:e>>>14&127);case 6:this.view.setUint8(b+5,6!==d?e>>>7|128:e>>>7&127);case 5:this.view.setUint8(b+4,5!==d?e|128:e&127);case 4:this.view.setUint8(b+3,4!==d?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==d?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==d?h>>>7|128: -h>>>7&127);case 1:this.view.setUint8(b,1!==d?h|128:h&127)}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,h=0,e= -0,g=0,g=this.view.getUint8(a++),d=g&127;if(g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); -d=k.fromBits(d|h<<28,h>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));if(b!==d+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h= -a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d, -h=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};e.writeString=e.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};f.calculateString=f.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&& -(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var h=0,e=c,g;if(b===f.METRICS_CHARS){g=s();l.f(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var d=b,h,e;h=l.a(m(a),this.noAssert)[1];e=f.calculateVarint32(h);b+=e+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==d+h+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+h+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this, -b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset; -b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c= -b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c);(new Uint8Array(d)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=d;this.view=new DataView(d);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,d=new f(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var e,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer"); -b=(n="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,d),b);e&&(this.offset+=g);n&&(a.offset+= -g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a, -b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a, -b));this.view=new DataView(this.buffer);return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!== -typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+ -",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86, -87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,h,f;null!== -(e=a());)if(h=c[e],"undefined"===typeof h&&d(e),null!==(e=a())&&(f=c[e],"undefined"===typeof f&&d(e),b(h<<2>>>0|(f&48)>>4),null!==(e=a()))){h=c[e];if("undefined"===typeof h)if(61===e)break;else d(e);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(e=a())){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset); -"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return a>>=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&& -b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};f.fromDebug=function(a,b,c){var d=a.length;b=new f((d+1)/3|0,b,c);for(var e=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;e":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(e++),16);if(!c&&(isNaN(g)||0>g||255< -g))throw TypeError("Illegal str: Not a debug encoded string");b.view.setUint8(n++,g);k=!0}if(q)throw TypeError("Illegal str: Invalid symbol at "+e);}if(!c){if(!l||!r)throw TypeError("Illegal str: Missing offset or limit");if(n>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2"); -}var d=a.length;b=new f(d/2|0,b);for(var e,k=0,g=0;ke||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)), -d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+ -e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4}, -l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| -b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return ae&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeUInt64=d.writeUint64,d.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; +if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},d.readUInt64=d.readUint64);d.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeFloat=d.writeFloat32;d.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readFloat=d.readFloat32;d.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};d.writeDouble=d.writeFloat64;d.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.readDouble=d.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=f.calculateVarint32(a),h;b+=e;h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;for(a>>>=0;128<=a;)h=a&127|128,this.view.setUint8(b++,h),a>>>=7;this.view.setUint8(b++,a);return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a), +b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,h;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(a++);5>c&&(e|=(h&127)<<7*c);++c}while(0!==(h&128));e|=0;return b?(this.offset= +a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64= +function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},k.fromNumber(128),k.fromNumber(127),d.writeVarint64=function(a,b){var c="undefined"===typeof b; +c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, +!1):!1!==a.unsigned&&(a=a.toSigned());var e=f.calculateVarint64(a),h=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?d>>>21|128:d>>>21&127);case 7:this.view.setUint8(b+6,7!==e?d>>>14|128:d>>>14&127);case 6:this.view.setUint8(b+5,6!==e?d>>>7|128:d>>>7&127); +case 5:this.view.setUint8(b+4,5!==e?d|128:d&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,h=0,d=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++), +h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");e=k.fromBits(e|h<<28,h>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +var e,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;l.c(m(a), +function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+ +a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}var e=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+ +" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,h=b;e=l.a(m(a))[1];b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]}; +f.calculateString=f.calculateUTF8Bytes;d.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ +this.buffer.byteLength);}var h=0,d=c,g;if(b===f.METRICS_CHARS){g=s();l.f(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,d;h=l.a(m(a),this.noAssert)[1];d=f.calculateVarint32(h);b+=d+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=d+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+d)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+h+d));return c?(this.offset=b,this):b-e};d.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength; +c>d&&this.resize((d*=2)>c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer= +new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit= +c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c, +this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(n="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ +c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);n&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean"); +this.littleEndian=!!a;return this};d.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0; +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+ +a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer; +if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, +c);case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4& +15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.g=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61=== +d)break;else e(d);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a, +b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0", +e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,k=0,g=0;kd||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224=== +(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null}); +for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== +typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aKlRa{%l;X>;02 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 literal 7700 zcmV+v9_!&BiwFp;AdFQ43qpBxWkPjkW@U0gLSIB-bYWI$Wp^%ZX>KlRa{%l;Yje{` zw%_$D9M|2HggZuZ{EB47H$dhtRV-{l;NG2VmTI-ymIudn*)j~1_`l!N4@oVll{haT zGf?HA$2t8t@6+nX(F!<66KUxwWI^5`Pu%QSFEjx?0WQ@e3T| z4-@*usJ*3AidQtOt!E)!*5ZiPjux1}f3GHl&Q=uFKG5ZAGN092P1~rgD0OR594}Vx z)2HJ}9Ib;UnV&!9O?&y~X}&k3`LY($7*D1vlZJN zURMAU0456X>o-U5-W|U^vAoI1+<_M1OW$VK_93?7XgU88bjOo-8o){dH%Por1_la=OTy^72driBtL-?lu?vgTqrkLQeD97kecl$L5i$C@9G z-@beK=CxmMH|?ff_eRZEFHcTh9ZN~{cWij{?B)NY_l{Qz z+1USddCBPPG0IZFOB?RJ34Ws_ZVLYYb2(oClfRl2)jximtTN^O__2gr1MgfS{!e^I4 zMfdonP-tWi79f*R!(VU{#Kb<8bJ1CwcL?l^xQ)bZ$Zy|IW^tdh0K_`67p(EnXx>hX zu!S*hvwX_HLnGx!Up0$zaJ z6`UaoSP8f`nXO_xBdpd;tgS?igjRw2VbwE8-;L!(D%9)=G)L5d66sbSHpI;T=Mp34NIPa86YX?!I~0Fw3C@4&MlK5d`iw_o30m{%&5@j zlH!m_&nl<%BJ3c(USU1LRaS|$L`awmj)YqQ-xxrhJE~W);V$@_Q!U-1Os*!4dd-~8 z;~Jg;`(ru=ezQ38@bEARJ)yv$fe)1^P~qJbVQEr{T^smGO^td3H|mynQcue4LUxWTgJGoPd^cS{szbM|2h@k6!{CzYzzp-~hgg10uMo zadPMwkVO99iof1y%^HO=se-?9#aVdw@*zQVMV zan%gK%nIo+^5Ws7;=vy0B*a(5LMmxNLXuQNpA~um&kG++J~9qg35dc$C=fTCJ9CiN z)NrojpzJkg!C0~Y$R8AyGowCM?Vz7gJ7Ea7v3FEXhk@_V7OIe}69@?+KJds1fOcG@hNb8B@@nUb-=`viEI#qG8qRIAl5 zf!P1VKb*bhuUOKben`=LH%y?#=Mxorhkxl*zX^S^Zf7ZK^JR_A3$VoJvjv1XW;7W`48n4& ziVzUa6=m>B97|*A`gu!-q}K46B&r6X)MMtf>Cp`W_U|cX>2GP}ax%a^h<-A)u}oeB zvKPQU_6nHiR%0_DM~}~6z^`md`-&-*+?8BU8I2TAS7AhrpH}qGFs6B9BWnD#qSsr| z_rhG}vljC=Ohb<$(Q?j1on0~;^@|d0^i>$(F^$+pTah>jdzYSL{ zw`CvnoK6d__uW>v-`?-EJ6*VIyB#+D{Ex}_S3EvuGo@*vWKpDPvTrliVBq`*s@iuf zsL#$YU(ia-8f%*KpFK!<9P83frBc(4pHoM^m*o;hOCw}_dQig;J+aiJ(yT=VvldCS z7Rj6`)Xo4yp^q;?SW~rz>w%AlCOkhp?6Fr!hu3h}lx;5E8MxD~hHo)=sRJ2C%c;gN z_Bl$TDjZ1*2oV;P)ZcYF7Iddm%;OR;C~ntj^%zXsssd_dK>L+IP6pJf0?I(Lsa#~3 zw@4xHxaEc=mHd_KbU`r{&yt5Wi{^tbd9V^Ir!`kUw2Lvm-wZur{cPZyjUq3cUqn7` zkaG8Tcca5>L8WX4_GKGRmTR`;49LnB493ZwzhfipMY>6VPHx0k~Q#UzBDBn z6f;A~N}b$LP?J~S7yXbaUsx{Iyi;8<`y!+I+-_U?T*I+Z$siUYrF$OY7g_-vn?sgv zau=+U zK%~%?5d`7y$*|*g)AwZ9bNjA{G!9(H-k`i4xCN>BXtIV{!y>IX;EuyIy}6csT zR~Juwg9ogOG+>pBXG6I%*0Eh}ICg->P-_p88?j#XKo8bO2SBoLIA$TIJLWD{AoTSJ zJ=Et2^e_ojU2&t9st-@aQBChw=HvVT#re=WBncy6VrqJKtI=%Ay;M2^4{wQ=yxwSjff$lfHd z22CkCR2f(!HG+E7V>jP8uErv+<{Ks$%$%^FZb?j|!BQu#q^z~lWmD)ojPYM5{ep* zcZazS41L-pyhx;qvDUjb5VkhWU;=3fcY*qKp8#f8j7s@|^qo;MPEeNGN4HSy+j}|C z&ppPsz%1`rm2KU_He+Htd>s0vp(I_Kmh72ZO9z)~A&xPUts5lm5~b)znV88|h9LY% zY%3P2A_IPRWs3O>m9`i13->};3Kwp21~^^Yu(h=_ZjsmC)w=z8zaa!D@-i!g^0bpS zsojX=E?|{*i5Bb5Hw&JKm%&Njgl}T`iy=o zSArt0Gl0Qfn63-?7AEiqpToc9M2l?v93!&*bbg%7zKMK;jkgypXA(;dqG5$qNx9|KqsVmRKcy&Ffr^`W3 ze(B#!u=jm;7y7oA3mK6gK&VsuPDpGT_^ys+-;khoj#^)eAXzPMWK>!87>Y ztT_$4UxO)i`8Mlbi71|Ir&&Z_JW(_Y3MBWSS!8?765}ldjkym6$`@&UF=nNty0 z$sXNoN_5~BoD0}iGWRe-f$vEuw%*Kb;X|brzLpFY+cSEs^R>`10z_KehQkI)SiHC; zi%Wb_cceV0fJ9cwhLp+19EttTo5pl<#zT7apZQElM2#$=LGbAI?(Tr=2uVu_bnHJM5bVgIkXYKJo}G zH$!5?_Wn*c{${&=du+au-10lw2b;Ij4=m-wq(>T%99@|Rk%~l!Kq5peuef)&QVJq_ z0o%e`v%@#m?C_nm6Ul}{Cvf`hHQ>C?eU1%Ev*Ly9oy-fq6w4PJ9T^%tar{8Z&SnP_ z;37(L3WH_`a6KJ4(v;%dF7%q?6~u1E6}-?Mz))-%+oD=yeUn|COT#2Z-N(ahkLThx z`xWAd%&HyX1^d-ACA1qquNVu=ha>)lkxNF6-o-o3Ng6zMK{MS{ z`knGo4wVdy@p8<9Fp>XeNPOX;Z_X-Gach`_C~k0RL)dK6idfYeD#Gs)0IrB?!(k@< zZg{Dr$cOkwVk5d#ke*a%bY-P+YqJy!(BU3Qtn)aLRmgstbhcVA z>2n!sK`J^f8%>;#G`6&z;%ErVqs5>SYM3!ol|C@WrEoFdEKR6Y5xr$cRtw3F?|)B5YMU{XeuURnmlYYoh(XePANVr zL>YxLn2RW^9?}OEIlGF#_t24jPeVu7=KtkXu#}_Dmto;#D~*#(Pb%ALj9B&miL*=! zur#Ot?UXa;SI6Z<`}z|D@eqn~cS>UN?6#$0cKl$Wu*H%V2d|7DZ1n2q;8h{HqY$Qw z=wU#GgPd(SYSEzV3sWIpm|5QVW`TrJH6{||le1Y>ayHB5TMeIXovQ(?rDSIemB613 zUrJT#TJB)a@$HA@_^@6&G?#Fy=oa=genIM&W`It<5hHXuL}(*F8!o?IFS$`wn+G*y zK3joRYEI{4G0rU?urWo^%H#|&(`wZJJ=?qczkkobO~|6fF?MYCFY#6698YGsZzB1@ zLLur3@dOs5u7aVHiu}lY={3>~7>XFP((#I@^lGDjg^5Tqj0jFRVM9cx?ItpgNu)2xP<$d;$gg!hvMkLtw-vN zK%F!1S0A`skeJmcHIlw(RorU&(nd*XrH8`0!ImV6si5u^{7RZ(E9{Xq)oTrvg;ku( zWg{gLvNHw0v&tDib?*8v;QYgt31Mj(S$OiS-;Ak*aWtN54(%<8DN=_a9%RPr6~w&d z_hvEZ_d^a9?68p|W*v8T$yT3UpQ_R5}^N0e2*cuOP85;bN05f+l7)Z%B7 z<7H>aYG*2F&4cVfJsTW8diF83;!1<>dN%4gsMkWhebj5CUI+EMsMkZiKI$EyzK!}0>bFpTANAX)-$DH@GWtE#@1y?(DsuCn4P>86jbw#sjjhB@q$!~cMG+b$v@uL7iNhu%`{b0KA+14)c6URQT4{F$ z8r!z$3Z#)l3QV@HnQe=4X^wW=eG8~rEXuMjMEzcsO^a9?yAC{{RC0_BXyY{I93HWGHZxxeC(~VFfpHw~Q5ypZVFhh!wpr z%}6`lF}UFxu53!HX|eS!e9M5c0LYMFhuqJEYQCR2-(yEu;J>x6!56)+iG6m@!P!j~ zQwkwytzA#oX6Dbmf7*Vs&)W?~)dq5n%d?2X!j~QT|Lt8{kJ>mCe&<&}q|$g3Xc8`+ zCWO(d(n@{U_GzEcJS4=VDG+9Wu7)A`?|Y6fxtIVm)u^kj_9YO$pJg?TZ%^MDt@GU(rb-+k53@FYPqXgDdhH?v(KECIL5*%0|C)}?X# z=IS86z_=#NlqvUz^uKMARM#|OJR@ZhZuVD)bIRoq-~=CsTfE!f>m1+!9?9kaj4 zF;v}Oc%m52Xfz2gVW1*WJJ>^~MTVwM?tlOkCRNxy0(K8co~q2Aat1sF+GTA*zh}#N z^~vZk!9esi&0OFkh6i6rKK9VV66(RI$#+1AV#*#*qg!g|ngz8ep?RA*0Q>9yo^C&a zxWIEc^x}6D_42~-2hJqwqWc&i+b|}eg z)qO36>lwLO83w9N-VHK~GfQD^15c&snz)nBP6#xW}@aRf9(TFD=)ShE8C0ZUgFflg78#g%9<&}TPkUl z@L5VTwU{SmyimdhdXpMGg;s!(c3`nH<1UJOx) zYnj8qu7pV>K?vSujbiNI2iqOqOQy$0Z7i7}f~2t4lilawvmO&*p=q3DD7;%Sd6wQ_ zAP7e*XjE#EP!ZfI2=16*T`c6thby!{rGE#j1n3>s;bz5^1Ql?e&~-4NI@>E`{!Df| zD38EB(W@rw7JfW1orGsCkC)fE4UO1N_U*6q@s>boQ{jRJRAOG;rq9r(|GJ6zi|#ru z4MK4iq=(1ZxK$XP_4vk20AVzO8DQ4cJaNS*CAgTw6*iz$H0t^fY)!XZQDacJrlPMK8gu0 zy0mJBywM{}(6F(BP5ODmNn|d{G8Ml>H`g%ibnaH))g5an0vOn6XZ8mNg2$uLU@XIJ zr)!Tg#~Ct|5d&_z?=xp;A;!qRj|c4b0}(K;y_YX7Ua{Osr&I2S zagL~+bk__G#6Mw!5KM`$3xQ=u`V5FN3>KmcY()981vEiP0MZEp(1Ju}EeXi?n7wBi zCuqi!Bm*dI2SLy=!w|E$PJL)e>NnS@m+wm@H*+cTW6m*eitI4wSmwMebH3!hFxc)< z(_t^Lt)-}u&B#3qy7SRrj$HAN-cpx$&uHX)7*Bkd@r>RNhJz{oQ$gj?c;HwQpB8Z_ z;_5gF|4om2i~=!ek3}=sa3>;X5WP4fmAQ7i*!{Ule=eh9kw#E6WI^D&sOPgnVy7U> zS;XLVKn{C@)iPLB2p**7Og1kI%#=aUkKj)kh9L?2ltcBxlh})s*tCefbQ^Fkd07vW zDR@^8mm+vm&oDPzE4OKeJ;xQAqO<3s_L1RpNBx4@yr4EmY9&}_25z;Cm1`$FrM}E} z%G?u_&z4ha*clY;EG$XpdNFMNM=EOhu$qUMdhH(rFAORzg<{%DJhs+DtIZ0v)IWWW7j z9TEOlpJ{k&fp%x^D|aX~P}tIk@5vTOoZg_a-bCM5@TLCSr;oTUzT<-7(dVJ&!F*za z|cO#s_efr{8U$X3&lYY5Z!r#~8_SwY@ OUh5zIy7q{bq5uFQ6ZV|| diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index ef240fb..4f74e51 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":87, -"mappings":"A;;;;;;AAkCS,QAAA,EAAQ,CAACA,CAAD,CAAO,CAeHC,QAAA,EAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAChC,WAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeD,CAAAI,iBADf,CAE4B,YAA5B,GAAI,MAAOF,EAAX,GACIA,CADJ,CACmBF,CAAAK,eADnB,CAEwB,YAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeH,CAAAM,iBADf,CAEA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,kBAAX,CAAN,CACJL,CAAA,CAAe,CAAEA,CAAAA,CACjBC,EAAA,CAAW,CAAEA,CAAAA,CALF,CAaf,IAAAK,OAAA,CAA2B,CAAb,GAAAP,CAAA,CAAiBQ,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBT,CAAhB,CAO9C,KAAAU,KAAA,CAAyB,CAAb,GAAAV,CAAA,CAAiB,IAAjB,CAAwB,IAAIW,QAAJ,CAAa,IAAAJ,OAAb,CASpC,KAAAK,OAAA,CAAc,CASd,KAAAC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAad,CAOb,KAAAC,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAO3E,KAAAC,SAAA,CAAgB,CAAEA,CAAAA,CApEsC,CA0K5Da,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf;AAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ,CAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CAzG7BxB,CAAAgC,QAAA,CAAqB,OAQrBhC,EAAAiC,cAAA,CAA2B,CAAA,CAQ3BjC,EAAAkC,WAAA,CAAwB,CAAA,CAOxBlC,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAkC,WAO5BlC,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAAD,KAAA,CAAkBA,CAAlB,EAA0B,IAM1B,KAAIoC,EAAsBnC,CAAA+B,UAW1BK,OAAAC,eAAA,CAAsBF,CAAtB,CAA2C,kBAA3C,CAA+D,CAC3DG,MAAO,CAAA,CADoD,CAE3DC,WAAY,CAAA,CAF+C,CAG3DC,aAAc,CAAA,CAH6C,CAA/D,CAYA,KAAI/B,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAAnB,CAOIgB,EAAqBE,MAAAa,aAsCzBzC;CAAA0C,SAAA,CAAsBC,QAAQ,EAAG,CAC7B,MAAO/B,SADsB,CAajCZ,EAAA4C,SAAA,CAAsBC,QAAQ,CAAC5C,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAA8C,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoB/C,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAO8C,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACI9C,CAEA,CAFWD,CAEX,CADAA,CACA,CADe+C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAIjD,EAAW,CAAf,CACSiB,EAAE,CADX,CACciC,EAAEH,CAAA7B,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0CiC,CAA1C,CAA6C,EAAEjC,CAA/C,CACSlB,CAAAoD,aAAA,CAAwBJ,CAAA,CAAQ9B,CAAR,CAAxB,CAGL,GAFI8B,CAAA,CAAQ9B,CAAR,CAEJ,CAFiBlB,CAAAqD,KAAA,CAAgBL,CAAA,CAAQ9B,CAAR,CAAhB,CAA4B+B,CAA5B,CAEjB,EADA9B,CACA,CADS6B,CAAA,CAAQ9B,CAAR,CAAAH,MACT,CAD4BiC,CAAA,CAAQ9B,CAAR,CAAAL,OAC5B,CAAa,CAAb,CAAIM,CAAJ,GAAgBlB,CAAhB,EAA4BkB,CAA5B,CAEJ,IAAiB,CAAjB,GAAIlB,CAAJ,CACI,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACPmD,EAAAA,CAAK,IAAItD,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAELQ,EAAAA,CAAO,IAAI4C,UAAJ,CAAeD,CAAA9C,OAAf,CACN,KAALU,CAAK,CAAH,CAAG,CAAOA,CAAP,CAASiC,CAAT,CAAA,CACDK,CAEA,CAFKR,CAAA,CAAQ9B,CAAA,EAAR,CAEL,CADAC,CACA,CADSqC,CAAAzC,MACT,CADoByC,CAAA3C,OACpB,CAAc,CAAd,EAAIM,CAAJ,GACAR,CAAA8C,IAAA,CAASC,CAAA,IAAIH,UAAJ,CAAeC,CAAAhD,OAAf,CAAAkD,UAAA,CAAmCF,CAAA3C,OAAnC,CAA8C2C,CAAAzC,MAA9C,CAAT,CAAkEuC,CAAAzC,OAAlE,CACA,CAAAyC,CAAAzC,OAAA,EAAaM,CAFb,CAIJmC,EAAAvC,MAAA;AAAWuC,CAAAzC,OACXyC,EAAAzC,OAAA,CAAY,CACZ,OAAOyC,EA3B6D,CAoCxEtD,EAAAoD,aAAA,CAA0BO,QAAQ,CAACL,CAAD,CAAK,CACnC,MAA0C,CAAA,CAA1C,IAAQA,CAAR,EAAcA,CAAA,iBAAd,CADmC,CAQvCtD,EAAA4D,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAOnD,YADkB,CAgB7BV,EAAAqD,KAAA,CAAkBS,QAAQ,CAACtD,CAAD,CAASyC,CAAT,CAAmB/C,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAO8C,EAAX,GACI9C,CAEA,CAFWD,CAEX,CADAA,CACA,CADe+C,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAO1C,EAAX,CAGI,OAFwB,WAEhByC,GAFJ,MAAOA,EAEHA,GADJA,CACIA,CADO,MACPA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAOjD,EAAA+D,WAAA,CAAsBvD,CAAtB,CAA8BN,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAAgE,QAAA,CAAmBxD,CAAnB,CAA2BN,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAAiE,WAAA,CAAsBzD,CAAtB,CAA8BN,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAAkE,SAAA,CAAoB1D,CAApB,CAA4BN,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAAmE,UAAA,CAAqB3D,CAArB,CAA6BN,CAA7B,CACX,SACI,KAAMkE,MAAA,CAAM,wBAAN,CAA+BnB,CAA/B,CAAN,CAZR,CAeJ,GAAe,IAAf;AAAIzC,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAM6D,UAAA,CAAU,gBAAV,CAAN,CAEJ,GAAIrE,CAAAoD,aAAA,CAAwB5C,CAAxB,CAAJ,CAGI,MAFA8C,EAEOA,CAFFnB,CAAAmC,MAAAC,KAAA,CAA+B/D,CAA/B,CAEE8C,CADPA,CAAAxC,aACOwC,CADY,EACZA,CAAAA,CAEX,IAAI9C,CAAJ,WAAsB+C,WAAtB,CACID,CACA,CADK,IAAItD,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAIK,CAAAW,OAAJ,GACImC,CAAA9C,OAGA,CAHYA,CAAAA,OAGZ,CAFA8C,CAAAzC,OAEA,CAFYL,CAAAgE,WAEZ,CADAlB,CAAAvC,MACA,CADWP,CAAAgE,WACX,CAD+BhE,CAAAiE,WAC/B,CAAAnB,CAAA3C,KAAA,CAAU,IAAIC,QAAJ,CAAaJ,CAAAA,OAAb,CAJd,CAFJ,KAQO,IAAIA,CAAJ,WAAsBE,YAAtB,CACH4C,CACA,CADK,IAAItD,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAIK,CAAAiE,WAAJ,GACInB,CAAA9C,OAGA,CAHYA,CAGZ,CAFA8C,CAAAzC,OAEA,CAFY,CAEZ,CADAyC,CAAAvC,MACA,CADWP,CAAAiE,WACX,CAAAnB,CAAA3C,KAAA,CAA8B,CAApB,CAAAH,CAAAiE,WAAA,CAAwB,IAAI7D,QAAJ,CAAaJ,CAAb,CAAxB,CAA+C,IAJ7D,CAFG,KAQA,IAA+C,gBAA/C,GAAI4B,MAAAL,UAAA2C,SAAAH,KAAA,CAA+B/D,CAA/B,CAAJ,CAGH,IAFA8C,CAESpC;AAFJ,IAAIlB,CAAJ,CAAeQ,CAAAW,OAAf,CAA8BjB,CAA9B,CAA4CC,CAA5C,CAEIe,CADToC,CAAAvC,MACSG,CADEV,CAAAW,OACFD,CAAAA,CAAAA,CAAE,CAAX,CAAcA,CAAd,CAAgBV,CAAAW,OAAhB,CAA+B,EAAED,CAAjC,CACIoC,CAAA3C,KAAAgE,SAAA,CAAiBzD,CAAjB,CAAoBV,CAAA,CAAOU,CAAP,CAApB,CAJD,KAMH,MAAMmD,UAAA,CAAU,gBAAV,CAAN,CACJ,MAAOf,EAvD0D,CAiErEnB,EAAAyC,UAAA,CAAgCC,QAAQ,CAAC1D,CAAD,CAASN,CAAT,CAAiB,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAAiE,WAApC,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAAiE,WAA/D,CAAN,CALY,CAOpB,IAAIM,EAAQ,IAAAA,MAAA,CAAWlE,CAAX,CAAmBA,CAAnB,CAA4BM,CAA5B,CACR2D,EAAJ,GAAc,IAAAjE,OAAd,EAA6BM,CAA7B,CACA,OAAO4D,EAZ8C,CA0BzD5C,EAAA6C,WAAA;AAAiC7C,CAAA8C,OAWjC9C,EAAA+C,UAAA,CAAgCC,QAAQ,CAAC7C,CAAD,CAAQzB,CAAR,CAAgB,CACpD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAUpB5D,CAAA,EAAU,CACV,KAAIuE,EAAY,IAAA5E,OAAAiE,WACZ5D,EAAJ,CAAauE,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmBvE,CAAnB,CAA4BuE,CAA5B,CAAwCvE,CAApD,CAEJ,KAAAF,KAAA2E,QAAA,CADAzE,CACA,CADU,CACV,CAA0ByB,CAA1B,CACIwC,EAAJ;CAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB6C,CA+BxDsB,EAAAoD,UAAA,CAAgCpD,CAAA+C,UAQhC/C,EAAAqD,SAAA,CAA+BC,QAAQ,CAAC5E,CAAD,CAAS,CAC5C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAA+E,QAAA,CAAkB7E,CAAlB,CACRiE,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZqC,CAsBhDH,EAAAwD,SAAA,CAA+BxD,CAAAqD,SAS/BrD,EAAAyD,WAAA,CAAiCC,QAAQ,CAACvD,CAAD,CAAQzB,CAAR,CAAgB,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAUpB5D,CAAA,EAAU,CACV,KAAIiF,EAAY,IAAAtF,OAAAiE,WACZ5D,EAAJ,CAAaiF,CAAb,EACI,IAAAT,OAAA,CAAY,CAACS,CAAD,EAAc,CAAd,EAAmBjF,CAAnB,CAA4BiF,CAA5B,CAAwCjF,CAApD,CAEJ,KAAAF,KAAAgE,SAAA,CADA9D,CACA,CADU,CACV,CAA2ByB,CAA3B,CACIwC,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDsB,EAAA4D,WAAA,CAAiC5D,CAAAyD,WAQjCzD,EAAA6D,UAAA,CAAgCC,QAAQ,CAACpF,CAAD,CAAS,CAC7C,IAAIiE;AAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAAuF,SAAA,CAAmBrF,CAAnB,CACRiE,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZsC,CAsBjDH,EAAAgE,UAAA,CAAgChE,CAAA6D,UAYhC7D,EAAAiE,WAAA,CAAiCC,QAAQ,CAAC/D,CAAD,CAAQzB,CAAR,CAAgB,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV;AAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAUpB5D,CAAA,EAAU,CACV,KAAIyF,EAAY,IAAA9F,OAAAiE,WACZ5D,EAAJ,CAAayF,CAAb,EACI,IAAAjB,OAAA,CAAY,CAACiB,CAAD,EAAc,CAAd,EAAmBzF,CAAnB,CAA4ByF,CAA5B,CAAwCzF,CAApD,CAEJ,KAAAF,KAAA4F,SAAA,CADA1F,CACA,CADU,CACV,CAA2ByB,CAA3B,CAAkC,IAAApC,aAAlC,CACI4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CAgCzDsB,EAAAqE,WAAA,CAAiCrE,CAAAiE,WAUjCjE,EAAAsE,UAAA,CAAgCC,QAAQ,CAAC7F,CAAD,CAAS,CAC7C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAAgG,SAAA,CAAmB9F,CAAnB,CAA2B,IAAAX,aAA3B,CACR4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZsC,CAwBjDH,EAAAyE,UAAA,CAAgCzE,CAAAsE,UAUhCtE,EAAA0E,YAAA,CAAkCC,QAAQ,CAACxE,CAAD,CAAQzB,CAAR,CAAgB,CACtD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOzB,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAUpB5D,CAAA,EAAU,CACV,KAAIkG,EAAY,IAAAvG,OAAAiE,WACZ5D,EAAJ,CAAakG,CAAb,EACI,IAAA1B,OAAA,CAAY,CAAC0B,CAAD,EAAc,CAAd,EAAmBlG,CAAnB,CAA4BkG,CAA5B,CAAwClG,CAApD,CAEJ,KAAAF,KAAAqG,UAAA,CADAnG,CACA,CADU,CACV,CAA4ByB,CAA5B,CAAmC,IAAApC,aAAnC,CACI4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CAgC1DsB,EAAA8E,YAAA,CAAkC9E,CAAA0E,YAUlC1E,EAAA+E,WAAA,CAAiCC,QAAQ,CAACtG,CAAD,CAAS,CAC9C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV;AAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAAyG,UAAA,CAAoBvG,CAApB,CAA4B,IAAAX,aAA5B,CACR4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZuC,CAwBlDH,EAAAkF,WAAA,CAAiClF,CAAA+E,WAUjC/E,EAAAmF,WAAA,CAAiCC,QAAQ,CAACjF,CAAD,CAAQzB,CAAR,CAAgB,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B;AAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAUpB5D,CAAA,EAAU,CACV,KAAI2G,EAAY,IAAAhH,OAAAiE,WACZ5D,EAAJ,CAAa2G,CAAb,EACI,IAAAnC,OAAA,CAAY,CAACmC,CAAD,EAAc,CAAd,EAAmB3G,CAAnB,CAA4B2G,CAA5B,CAAwC3G,CAApD,CAEJ,KAAAF,KAAA8G,SAAA,CADA5G,CACA,CADU,CACV,CAA2ByB,CAA3B,CAAkC,IAAApC,aAAlC,CACI4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA6BzDsB,EAAAuF,SAAA,CAA+BvF,CAAAmF,WAQ/BnF,EAAAwF,UAAA,CAAgCC,QAAQ,CAAC/G,CAAD,CAAS,CAC7C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb;AAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA2B,IAAAX,aAA3B,CACR4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZsC,CAqBjDH,EAAA2F,QAAA,CAA8B3F,CAAAwF,UAQ9BxF,EAAA4F,YAAA,CAAkCC,QAAQ,CAAC1F,CAAD,CAAQzB,CAAR,CAAgB,CACtD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB;AAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAUpB5D,CAAA,EAAU,CACV,KAAIoH,EAAY,IAAAzH,OAAAiE,WACZ5D,EAAJ,CAAaoH,CAAb,EACI,IAAA5C,OAAA,CAAY,CAAC4C,CAAD,EAAc,CAAd,EAAmBpH,CAAnB,CAA4BoH,CAA5B,CAAwCpH,CAApD,CAEJ,KAAAF,KAAAuH,UAAA,CADArH,CACA,CADU,CACV,CAA4ByB,CAA5B,CAAmC,IAAApC,aAAnC,CACI4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB+C,CA8B1DsB,EAAAgG,YAAA,CAAkChG,CAAA4F,YAQlC5F,EAAAiG,WAAA,CAAiCC,QAAQ,CAACxH,CAAD,CAAS,CAC9C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAA2H,UAAA,CAAoBzH,CAApB,CAA4B,IAAAX,aAA5B,CACR4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZuC,CAsBlDH,EAAAoG,WAAA,CAAiCpG,CAAAiG,WAI7BrI,EAAJ,GASIoC,CAAAqG,WA+JA,CA/JiCC,QAAQ,CAACnG,CAAD,CAAQzB,CAAR,CAAgB,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,CACIA,CAAA,CAAQvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BvC,EAA1B,CAAN,CACD,KAAMsE,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOnC,EAAX,CACIA,CADJ,CACYvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CAHZ,CAIAzB,EAAA,EAAU,CACV,KAAI+H,EAAY,IAAApI,OAAAiE,WACZ5D,EAAJ,CAAa+H,CAAb,EACI,IAAAvD,OAAA,CAAY,CAACuD,CAAD,EAAc,CAAd,EAAmB/H,CAAnB,CAA4B+H,CAA5B,CAAwC/H,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA6ByB,CAAAuG,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAlI,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA0B,CAA1B,CAA6ByB,CAAAwG,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAnI,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA6ByB,CAAAwG,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAnI,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA0B,CAA1B,CAA6ByB,CAAAuG,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOI/D,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjC8C,CA+JzD,CApHAsB,CAAA4G,UAoHA,CApHgC5G,CAAAqG,WAoHhC,CA5GArG,CAAA6G,UA4GA,CA5GgCC,QAAQ,CAACpI,CAAD,CAAS,CAC7C,IAAIiE;AAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAApC,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAY,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAId,CAAJ,CAAS,IAAAY,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACFiE,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAdsC,CA4GjD,CArFAH,CAAA+G,SAqFA,CArF+B/G,CAAA6G,UAqF/B,CA5EA7G,CAAAgH,YA4EA,CA5EkCC,QAAQ,CAAC9G,CAAD,CAAQzB,CAAR,CAAgB,CACtD,IAAIiE;AAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,CACIA,CAAA,CAAQvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BvC,EAA1B,CAAN,CACD,KAAMsE,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOnC,EAAX,CACIA,CADJ,CACYvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CADZ,CAE0B,QAF1B;AAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CAHZ,CAIAzB,EAAA,EAAU,CACV,KAAIwI,EAAY,IAAA7I,OAAAiE,WACZ5D,EAAJ,CAAawI,CAAb,EACI,IAAAhE,OAAA,CAAY,CAACgE,CAAD,EAAc,CAAd,EAAmBxI,CAAnB,CAA4BwI,CAA5B,CAAwCxI,CAApD,CACJA,EAAA,EAAU,CACN,KAAAX,aAAJ,EACI,IAAAS,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA6ByB,CAAAuG,IAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAlI,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA0B,CAA1B,CAA6ByB,CAAAwG,KAA7B,CAAyC,CAAA,CAAzC,CAFJ,GAII,IAAAnI,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA6ByB,CAAAwG,KAA7B,CAAyC,CAAA,CAAzC,CACA,CAAA,IAAAnI,KAAA8G,SAAA,CAAmB5G,CAAnB,CAA0B,CAA1B,CAA6ByB,CAAAuG,IAA7B,CAAyC,CAAA,CAAzC,CALJ,CAOI/D,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjC+C,CA4E1D,CAhCAsB,CAAAmH,YAgCA,CAhCkCnH,CAAAgH,YAgClC,CAxBAhH,CAAAoH,WAwBA,CAxBiCC,QAAQ,CAAC3I,CAAD,CAAS,CAC9C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ;GAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAApC,aAAA,CACN,IAAIH,CAAJ,CAAS,IAAAY,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CADM,CAEN,IAAId,CAAJ,CAAS,IAAAY,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA0B,CAA1B,CAA6B,CAAA,CAA7B,CAAT,CAA8C,IAAAF,KAAAkH,SAAA,CAAmBhH,CAAnB,CAA6B,CAAA,CAA7B,CAA9C,CAAmF,CAAA,CAAnF,CACFiE,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAduC,CAwBlD,CAAAH,CAAAsH,WAAA,CAAiCtH,CAAAoH,WAxKrC,CAsLApH,EAAAuH,aAAA,CAAmCC,QAAQ,CAACrH,CAAD,CAAQzB,CAAR,CAAgB,CACvD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAPY,CASpB5D,CAAA,EAAU,CACV,KAAI+I,EAAY,IAAApJ,OAAAiE,WACZ5D,EAAJ,CAAa+I,CAAb,EACI,IAAAvE,OAAA,CAAY,CAACuE,CAAD,EAAc,CAAd,EAAmB/I,CAAnB,CAA4B+I,CAA5B,CAAwC/I,CAApD,CAEJ,KAAAF,KAAAkJ,WAAA,CADAhJ,CACA,CADU,CACV,CAA6ByB,CAA7B,CAAoC,IAAApC,aAApC,CACI4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DsB,EAAA2H,WAAA,CAAiC3H,CAAAuH,aAQjCvH,EAAA4H,YAAA,CAAkCC,QAAQ,CAACnJ,CAAD,CAAS,CAC/C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV;AAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAAsJ,WAAA,CAAqBpJ,CAArB,CAA6B,IAAAX,aAA7B,CACR4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZwC,CAsBnDH,EAAA+H,UAAA,CAAgC/H,CAAA4H,YAWhC5H,EAAAgI,aAAA,CAAmCC,QAAQ,CAAC9H,CAAD,CAAQzB,CAAR,CAAgB,CACvD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAPY,CASpB5D,CAAA,EAAU,CACV,KAAIwJ,EAAY,IAAA7J,OAAAiE,WACZ5D,EAAJ,CAAawJ,CAAb,EACI,IAAAhF,OAAA,CAAY,CAACgF,CAAD,EAAc,CAAd,EAAmBxJ,CAAnB,CAA4BwJ,CAA5B,CAAwCxJ,CAApD,CAEJ,KAAAF,KAAA2J,WAAA,CADAzJ,CACA,CADU,CACV,CAA6ByB,CAA7B,CAAoC,IAAApC,aAApC,CACI4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DsB,EAAAoI,YAAA,CAAkCpI,CAAAgI,aAQlChI,EAAAqI,YAAA,CAAkCC,QAAQ,CAAC5J,CAAD,CAAS,CAC/C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX;AAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOhBnC,CAAAA,CAAQ,IAAA3B,KAAA+J,WAAA,CAAqB7J,CAArB,CAA6B,IAAAX,aAA7B,CACR4E,EAAJ,GAAc,IAAAjE,OAAd,EAA6B,CAA7B,CACA,OAAOyB,EAZwC,CAsBnDH,EAAAwI,WAAA,CAAiCxI,CAAAqI,YAWjCxK,EAAA4K,mBAAA,CAAgC,CAQhC5K,EAAA6K,kBAAA,CAA+BC,QAAQ,CAACxI,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/CtC,EAAA+K,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxCjL,EAAAkL,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxC9I,EAAAiJ,cAAA,CAAoCC,QAAQ,CAAC/I,CAAD,CAAQzB,CAAR,CAAgB,CACxD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV;AAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAHoC,IAapD6G,EAAOtL,CAAA6K,kBAAA,CAA6BvI,CAA7B,CAEXzB,EAAA,EAAUyK,CACV,KAAIC,EAAa,IAAA/K,OAAAiE,WACb5D,EAAJ,CAAa0K,CAAb,EACI,IAAAlG,OAAA,CAAY,CAACkG,CAAD,EAAe,CAAf,EAAoB1K,CAApB,CAA6B0K,CAA7B,CAA0C1K,CAAtD,CACJA,EAAA,EAAUyK,CAEV,KAAA3K,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA2B2K,CAA3B,CAA+BlJ,CAA/B,CAAuC,GAAvC,CACAA,EAAA,IAAW,CACE,IAAb,EAAIA,CAAJ,EACIkJ,CAEA,CAFKlJ,CAEL,EAFc,CAEd,CAFmB,GAEnB,CADA,IAAA3B,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA6B2K,CAA7B,CACA,CAAa,KAAb,EAAIlJ,CAAJ,EACIkJ,CAEA,CAFKlJ,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA3B,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA6B2K,CAA7B,CACA,CAAa,OAAb,EAAIlJ,CAAJ,EACIkJ,CAEA,CAFKlJ,CAEL,EAFc,EAEd,CAFoB,GAEpB,CADA,IAAA3B,KAAAgE,SAAA,CAAmB9D,CAAnB;AAA0B,CAA1B,CAA6B2K,CAA7B,CACA,CAAa,SAAb,EAAIlJ,CAAJ,EACI,IAAA3B,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA8ByB,CAA9B,EAAuC,EAAvC,CAA6C,EAA7C,CACA,CAAAgJ,CAAA,CAAO,CAFX,GAII,IAAA3K,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA6B2K,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CALX,CAHJ,GAWI,IAAA3K,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA6B2K,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAZX,CAHJ,GAkBI,IAAA3K,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA6B2K,CAA7B,CAAiC,GAAjC,CACA,CAAAF,CAAA,CAAO,CAnBX,CAHJ,GAyBI,IAAA3K,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA2B2K,CAA3B,CAA+B,GAA/B,CACA,CAAAF,CAAA,CAAO,CA1BX,CA4BA,OAAIxG,EAAJ,EACI,IAAAjE,OACO,EADQyK,CACR,CAAA,IAFX,EAIOA,CAvDiD,CAkE5DnJ,EAAAsJ,oBAAA,CAA0CC,QAAQ,CAACpJ,CAAD,CAAQzB,CAAR,CAAgB,CAC9D,MAAO,KAAAuK,cAAA,CAAmBpL,CAAA+K,eAAA,CAA0BzI,CAA1B,CAAnB,CAAqDzB,CAArD,CADuD,CAclEsB,EAAAwJ,aAAA,CAAmCC,QAAQ,CAAC/K,CAAD,CAAS,CAChD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAH4B,IAW5C6G,EAAO,CAXqC,CAY5ChJ,EAAQ,CAZoC,CAa5CuJ,CAEJ,GAAG,CACCC,CAAA,CAAUjL,CAAV,CAAiByK,CACjB,IAAKnL,CAAA,IAAAA,SAAL,EAAsB2L,CAAtB,CAAgC,IAAA/K,MAAhC,CAGI,KAFIgL,EAEEA,CAFI3H,KAAA,CAAM,WAAN,CAEJ2H,CADNA,CAAA,UACMA,CADa,CAAA,CACbA,CAAAA,CAAN,CAEJF,CAAA,CAAO,IAAAlL,KAAAuF,SAAA,CAAmB4F,CAAnB,CACI,EAAX,CAAIR,CAAJ,GACIhJ,CADJ,GACeuJ,CADf,CACoB,GADpB,GAC4B,CAD5B,CAC8BP,CAD9B,GACyC,CADzC,CAEA,GAAEA,CAVH,CAAH,MAW2B,GAX3B,IAWUO,CAXV,CAWiB,GAXjB,EAYAvJ,EAAA,EAAgB,CAChB,OAAIwC,EAAJ,EACI,IAAAjE,OACOyB,EADQgJ,CACRhJ,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAUgJ,CAFP,CAhCyC,CA+CpDnJ,EAAA6J,mBAAA,CAAyCC,QAAQ,CAACpL,CAAD,CAAS,CAClDqL,CAAAA,CAAM,IAAAP,aAAA,CAAkB9K,CAAlB,CACS,SAAnB,GAAI,MAAOqL,EAAX,CACIA,CAAA,MADJ,CACmBlM,CAAAkL,eAAA,CAA0BgB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGUlM,CAAAkL,eAAA,CAA0BgB,CAA1B,CACV,OAAOA,EAN+C,CAWtDnM,EAAJ,GAQIC,CAAAmM,mBAgMA;AAhMgC,EAgMhC,CAxLAnM,CAAAoM,kBAwLA,CAxL+BC,QAAQ,CAAC/J,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CAHZ,CAD2C,KAMvCgK,EAAQhK,CAAAiK,MAAA,EAARD,GAA0B,CANa,CAOvCE,EAAQlK,CAAAmK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQpK,CAAAmK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EAtBW,CAwL/C,CAzJA1M,CAAA2M,eAyJA,CAzJ4BC,QAAQ,CAACtK,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAuK,SAFJ,GAE8BvK,CAF9B,CAEsCA,CAAAwK,SAAA,EAFtC,CAIL,OAAOxK,EAAAyK,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuB1K,CAAA2K,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EAPiC,CAyJ5C;AAzIAlN,CAAAmN,eAyIA,CAzI4BC,QAAQ,CAAC9K,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAuK,SAFJ,GAE8BvK,CAF9B,CAEsCA,CAAAwK,SAAA,EAFtC,CAIL,OAAOxK,EAAAmK,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgC1K,CAAA+K,IAAA,CAAUtN,CAAAuN,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EAPiC,CAyI5C,CAvHA3K,CAAAqL,cAuHA,CAvHoCC,QAAQ,CAACnL,CAAD,CAAQzB,CAAR,CAAgB,CACxD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,CACIA,CAAA,CAAQvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BvC,EAA1B,CAAN,CACD,KAAMsE,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,2BAAlC,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAOzB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAOnC,EAAX,CACIA,CADJ,CACYvC,CAAA2I,WAAA,CAAgBpG,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOvC,CAAA4I,WAAA,CAAgBrG,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAuK,SAFJ,GAE8BvK,CAF9B,CAEsCA,CAAAwK,SAAA,EAFtC,CAlBmD,KAqBpDxB,EAAOtL,CAAAoM,kBAAA,CAA6B9J,CAA7B,CArB6C,CAsBpDgK,EAAQhK,CAAAiK,MAAA,EAARD,GAA0B,CAtB0B,CAuBpDE,EAAQlK,CAAAmK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAvBG,CAwBpDE,EAAQpK,CAAAmK,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD7L,EAAA,EAAUyK,CACV,KAAIoC,EAAa,IAAAlN,OAAAiE,WACb5D,EAAJ,CAAa6M,CAAb,EACI,IAAArI,OAAA,CAAY,CAACqI,CAAD;AAAe,CAAf,EAAoB7M,CAApB,CAA6B6M,CAA7B,CAA0C7M,CAAtD,CACJA,EAAA,EAAUyK,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAA3K,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAA8B6L,CAA9B,GAAyC,CAAzC,CAA8C,CAA9C,CACT,MAAK,CAAL,CAAS,IAAA/L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAcoB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA/L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA7L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAckB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA7L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAckB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA7L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAckB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA7L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA3L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAcgB,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA3L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAA0B,CAA1B,CAAsC,CAAT,GAAAyK,CAAA,CAAcgB,CAAd,GAAyB,CAAzB,CAA8B,GAA9B;AAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GAAnF,CACT,MAAK,CAAL,CAAS,IAAA3L,KAAAgE,SAAA,CAAmB9D,CAAnB,CAAsC,CAAT,GAAAyK,CAAA,CAAcgB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAAnF,CAVb,CAYA,MAAIxH,EAAJ,EACI,IAAAjE,OACO,EADQyK,CACR,CAAA,IAFX,EAIWA,CA9C6C,CAuH5D,CA7DAnJ,CAAAwL,oBA6DA,CA7D0CC,QAAQ,CAACtL,CAAD,CAAQzB,CAAR,CAAgB,CAC9D,MAAO,KAAA2M,cAAA,CAAmBxN,CAAA2M,eAAA,CAA0BrK,CAA1B,CAAnB,CAAqDzB,CAArD,CADuD,CA6DlE,CAhDAsB,CAAA0L,aAgDA,CAhDmCC,QAAQ,CAACjN,CAAD,CAAS,CAChD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAH4B,IAW5CsJ,EAAQlN,CAXoC,CAY5CyL,EAAQ,CAZoC,CAa5CE,EAAQ,CAboC,CAc5CE;AAAQ,CAdoC,CAe5ClB,EAAK,CAfuC,CAgBhDA,EAAI,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAhB4C,CAgBdyL,EAAUd,CAAVc,CAAc,GAAa,IAAId,CAAJ,CAAQ,GAAR,GAC7DA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/ByL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/ByL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/ByL,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/B2L,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/B2L,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/B2L,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/B2L,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/B6L,CAA+B,CAArBlB,CAAqB,CAAjB,GAAiB,CAAAA,CAAA,CAAI,GAAJ,GACjEA,CAAiE,CAA7D,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAA6D,CAA/B6L,CAA+B,GAArBlB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAAAA,CAAA,CAAI,GADJ,CADA,CADA,CADA,CADA,CADA,CADA,CADA,CADJ,EAU7D,KAAMpH,MAAA,CAAM,gBAAN,CAAN;AACI9B,CAAAA,CAAQvC,CAAAiO,SAAA,CAAc1B,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD,CAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAI5H,EAAJ,EACI,IAAAjE,OACOyB,CADOzB,CACPyB,CAAAA,CAFX,EAIW,CACH,MAASA,CADN,CAEH,OAAUzB,CAAV,CAAiBkN,CAFd,CAhCqC,CAgDpD,CAAA5L,CAAA8L,mBAAA,CAAyCC,QAAQ,CAACrN,CAAD,CAAS,CAEtD,CADIqL,CACJ,CADU,IAAA2B,aAAA,CAAkBhN,CAAlB,CACV,GAAWqL,CAAA,MAAX,WAAmCnM,EAAnC,CACImM,CAAA,MADJ,CACmBlM,CAAAmN,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGUlM,CAAAmN,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EAN+C,CAxM9D,CA+NA/J,EAAAgM,aAAA,CAAmCC,QAAQ,CAACC,CAAD,CAAMxN,CAAN,CAAc,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CAFqD,KAGjDK,CAHiD,CAIjDiC,EAAIkL,CAAAlN,OACR,IAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOkO,EAAX,CACI,KAAMhK,UAAA,CAAU,2BAAV,CAAN,CACJ,IAAKnD,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYiC,CAAZ,CAAe,EAAEjC,CAAjB,CACI,GAA0B,CAA1B,GAAImN,CAAAjN,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAMX,WAAA,CAAW,uCAAX,CAAN;AAER,GAAsB,QAAtB,GAAI,MAAOM,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAXY,CAcpBtB,CAAA,CAAImL,CAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJxN,EAAA,EAAUsC,CAAV,CAAY,CACRqL,EAAAA,CAAa,IAAAhO,OAAAiE,WACb5D,EAAJ,CAAa2N,CAAb,EACI,IAAAnJ,OAAA,CAAY,CAACmJ,CAAD,EAAe,CAAf,EAAoB3N,CAApB,CAA6B2N,CAA7B,CAA0C3N,CAAtD,CACJA,EAAA,EAAUsC,CAAV,CAAY,CACZmL,EAAAG,EAAA,CAAuBzN,CAAA,CAAaqN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA7K,KAAAgE,SAAA,CAAmB9D,CAAA,EAAnB,CAA6B2K,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAA/N,KAAAgE,SAAA,CAAmB9D,CAAA,EAAnB,CAA6B,CAA7B,CACA,OAAIiE,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAA,IAFX,EAIOsC,CAjC8C,CA6CzDhB,EAAAwM,YAAA,CAAkCC,QAAQ,CAAC/N,CAAD,CAAS,CAC/C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAH2B,IAU3CsJ,EAAQlN,CAVmC,CAa3CgO,CAb2C,CAavCrD,EAAK,EACb8C,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAItD,CAAJ,CAAa,MAAO,KACpB,IAAI3K,CAAJ,EAAc,IAAAE,MAAd,CACI,KAAMR,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,KAApD,CAA0D,IAAAE,MAA1D,CAAN,CACJyK,CAAA,CAAI,IAAA7K,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CACJ,OAAa,EAAN,GAAA2K,CAAA,CAAU,IAAV,CAAiBA,CALM,CAAXkD,KAAA,CAMhB,IANgB,CAAvB,CAMcG,CANd,CAMmBxN,CAAA,EANnB,CAMwC,CAAA,CANxC,CAOA,OAAIyD,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAAgO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUhO,CAAV,CAAmBkN,CAFhB,CAzBoC,CA2CnD5L,EAAA4M,aAAA,CAAmCC,QAAQ,CAACX,CAAD,CAAMxN,CAAN,CAAc,CACrD,IAAIiE,EAA6B,WAA7BA;AAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOkO,EAAX,CACI,KAAMhK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CAPY,CAHiC,IAYjDsJ,EAAQlN,CAZyC,CAajDsC,CACJA,EAAA,CAAImL,CAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAA6C,IAAAlO,SAA7C,CAAA,CAA4D,CAA5D,CACJU,EAAA,EAAU,CAAV,CAAYsC,CACZ,KAAI8L,EAAa,IAAAzO,OAAAiE,WACb5D,EAAJ,CAAaoO,CAAb,EACI,IAAA5J,OAAA,CAAY,CAAC4J,CAAD,EAAe,CAAf,EAAoBpO,CAApB,CAA6BoO,CAA7B,CAA0CpO,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYsC,CACZ,KAAAxC,KAAAuH,UAAA,CAAoBrH,CAApB,CAA4BsC,CAA5B,CAA+B,IAAAjD,aAA/B,CACAW,EAAA,EAAU,CACVyN,EAAAG,EAAA,CAAuBzN,CAAA,CAAaqN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA7K,KAAAgE,SAAA,CAAmB9D,CAAA,EAAnB;AAA6B2K,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAI7N,CAAJ,GAAekN,CAAf,CAAuB,CAAvB,CAA2B5K,CAA3B,CACI,KAAM5C,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE,CAAnE,CAAqEsC,CAArE,EAAN,CACJ,MAAI2B,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBkN,CA/BqC,CA2CzD5L,EAAA+M,YAAA,CAAkCC,QAAQ,CAACtO,CAAD,CAAS,CAC/C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAH2B,IAU3CoH,EAAO,CAVoC,CAW3CkC,EAAQlN,CAXmC,CAa/CgL,EAAO,IAAAlL,KAAA2H,UAAA,CAAoBzH,CAApB,CAA4B,IAAAX,aAA5B,CACPW,EAAA,EAAU,CAdqC,KAe3CsC;AAAItC,CAAJsC,CAAa0I,CAEjByC,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOjO,EAAA,CAASsC,CAAT,CAAa,IAAAxC,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX6N,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBxN,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGAkO,EAAA,CAAMQ,CAAA,EACN,OAAI/J,EAAJ,EACI,IAAAjE,OACOwN,CADOxN,CACPwN,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUxN,CAAV,CAAmBkN,CAFhB,CAzBoC,CAwCnD/N,EAAAoP,cAAA,CAA2B,GAQ3BpP,EAAAqP,cAAA,CAA2B,GAS3BlN,EAAAmN,gBAAA,CAAsCC,QAAQ,CAAClB,CAAD,CAAMxN,CAAN,CAAc,CACxD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOpB,IAAItB,CAAJ;AACI4K,EAAQlN,CACZsC,EAAA,CAAImL,CAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJxN,EAAA,EAAUsC,CACV,KAAIqM,EAAa,IAAAhP,OAAAiE,WACb5D,EAAJ,CAAa2O,CAAb,EACI,IAAAnK,OAAA,CAAY,CAACmK,CAAD,EAAe,CAAf,EAAoB3O,CAApB,CAA6B2O,CAA7B,CAA0C3O,CAAtD,CACJA,EAAA,EAAUsC,CACVmL,EAAAG,EAAA,CAAuBzN,CAAA,CAAaqN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA7K,KAAAgE,SAAA,CAAmB9D,CAAA,EAAnB,CAA6B2K,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAI5J,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBkN,CAzBwC,CAoC5D5L,EAAAsN,YAAA,CAAkCtN,CAAAmN,gBASlCtP,EAAA0P,mBAAA,CAAgCC,QAAQ,CAACtB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAU9CrO,EAAA4P,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9CrO,EAAA8P,gBAAA,CAA6B9P,CAAA4P,mBAa7BzN,EAAA4N,eAAA,CAAqCC,QAAQ,CAAC7O,CAAD,CAAS8O,CAAT,CAAkBpP,CAAlB,CAA0B,CAC5C,QAAvB,GAAI,MAAOoP,EAAX,GACIpP,CACA,CADSoP,CACT,CAAAA,CAAA,CAAU/M,IAAAA,EAFd,CAIA,KAAI4B,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAOoP,EAAX;CAAoCA,CAApC,CAA8CjQ,CAAAoP,cAA9C,CACA,IAAKjP,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMkD,UAAA,CAAU,kBAAV,CAA6BlD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAON,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CARY,CAR+C,IAkB/DvD,EAAI,CAlB2D,CAmB/D6M,EAAQlN,CAnBuD,CAoB/DgO,CACJ,IAAIoB,CAAJ,GAAgBjQ,CAAAoP,cAAhB,CAA0C,CACtCP,CAAA,CAAKxN,CAAA,EACLiN,EAAA4B,EAAA,CAAgB,QAAQ,EAAG,CACvB,MAAOhP,EAAA,CAAIC,CAAJ,EAAcN,CAAd,CAAuB,IAAAE,MAAvB,CAAoC,IAAAJ,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAApC,CAAmE,IADnD,CAAX6N,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAACyB,CAAD,CAAK,CACvB,EAAEjP,CAAGoN,EAAA8B,EAAA,CAAiBD,CAAjB,CAAqBtB,CAArB,CADkB,CAF3B,CAKA,IAAI3N,CAAJ;AAAUC,CAAV,CACI,KAAMZ,WAAA,CAAW,iCAAX,CAA6CW,CAA7C,CAA+C,MAA/C,CAAsDC,CAAtD,CAAN,CACJ,MAAI2D,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAAgO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUhO,CAAV,CAAmBkN,CAFhB,CAb2B,CAkBnC,GAAIkC,CAAJ,GAAgBjQ,CAAAqP,cAAhB,CAA0C,CAC7C,GAAKlP,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2BM,CAA3B,CAAoC,IAAAX,OAAAiE,WAApC,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAA0C,KAA1C,CAAgDM,CAAhD,CAAuD,OAAvD,CAA+D,IAAAX,OAAAiE,WAA/D,CAAN,CALY,CAOpB,IAAItB,EAAItC,CAAJsC,CAAahC,CACjBmN,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOjO,EAAA,CAASsC,CAAT,CAAa,IAAAxC,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX6N,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBxN,CAAA,EAFnB,CAEwC,IAAAlB,SAFxC,CAGA,IAAIU,CAAJ,GAAesC,CAAf,CACI,KAAM5C,WAAA,CAAW,iCAAX;AAA6CM,CAA7C,CAAoD,MAApD,CAA2DsC,CAA3D,CAAN,CACJ,MAAI2B,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAAgO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUhO,CAAV,CAAmBkN,CAFhB,CAlBkC,CAwB7C,KAAM1J,UAAA,CAAU,uBAAV,CAAkC4L,CAAlC,CAAN,CA/D+D,CA8EvE9N,EAAAkO,WAAA,CAAiClO,CAAA4N,eAajC5N,EAAAmO,aAAA,CAAmCC,QAAQ,CAAClC,CAAD,CAAMxN,CAAN,CAAc,CACrD,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOkO,EAAX,CACI,KAAMhK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxD,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN;AAPY,CAHiC,IAYjDsJ,EAAQlN,CAZyC,CAajDsC,CAbiD,CAa9CqN,CACPrN,EAAA,CAAImL,CAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAA6C,IAAAlO,SAA7C,CAAA,CAA4D,CAA5D,CACJqQ,EAAA,CAAIxQ,CAAA6K,kBAAA,CAA6B1H,CAA7B,CACJtC,EAAA,EAAU2P,CAAV,CAAYrN,CACZ,KAAIsN,EAAa,IAAAjQ,OAAAiE,WACb5D,EAAJ,CAAa4P,CAAb,EACI,IAAApL,OAAA,CAAY,CAACoL,CAAD,EAAe,CAAf,EAAoB5P,CAApB,CAA6B4P,CAA7B,CAA0C5P,CAAtD,CACJA,EAAA,EAAU2P,CAAV,CAAYrN,CACZtC,EAAA,EAAU,IAAAuK,cAAA,CAAmBjI,CAAnB,CAAsBtC,CAAtB,CACVyN,EAAAG,EAAA,CAAuBzN,CAAA,CAAaqN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClD,IAAA7K,KAAAgE,SAAA,CAAmB9D,CAAA,EAAnB,CAA6B2K,CAA7B,CADkD,CAAZkD,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAI7N,CAAJ,GAAekN,CAAf,CAAqB5K,CAArB,CAAuBqN,CAAvB,CACI,KAAMjQ,WAAA,CAAW,iCAAX,CAA6CM,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmEsC,CAAnE,CAAqEqN,CAArE,EAAN,CACJ,MAAI1L,EAAJ,EACI,IAAAjE,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBkN,CA/BqC,CA2CzD5L,EAAAuO,YAAA,CAAkCC,QAAQ,CAAC9P,CAAD,CAAS,CAC/C,IAAIiE,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV;AAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAH2B,IAU3CoH,EAAO,IAAAF,aAAA,CAAkB9K,CAAlB,CAVoC,CAW3CkN,EAAQlN,CAEZA,EAAA,EAAUgL,CAAA,OACV,KAAAA,EAAOA,CAAA,MAAP,CACI1I,EAAItC,CAAJsC,CAAa0I,CADjB,CAEIgD,EAAKxN,CAAA,EACTiN,EAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOjO,EAAA,CAASsC,CAAT,CAAa,IAAAxC,KAAAuF,SAAA,CAAmBrF,CAAA,EAAnB,CAAb,CAA4C,IADrB,CAAX6N,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEkB,IAAA1O,SAFlB,CAGAkO,EAAA,CAAMQ,CAAA,EACN,OAAI/J,EAAJ,EACI,IAAAjE,OACOwN,CADOxN,CACPwN,CAAAA,CAFX,EAIW,CACH,OAAUA,CADP,CAEH,OAAUxN,CAAV,CAAmBkN,CAFhB,CAzBoC,CA8CnD5L,EAAA8C,OAAA,CAA6B2L,QAAQ,CAACC,CAAD,CAAS5N,CAAT,CAAmBpC,CAAnB,CAA2B,CAC5D,GAAwB,QAAxB,GAAI,MAAOoC,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIpC,CACA,CADSoC,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI4B,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOdoM,CAAN,WAAwB7Q,EAAxB,GACI6Q,CADJ,CACa7Q,CAAAqD,KAAA,CAAgBwN,CAAhB,CAAwB5N,CAAxB,CADb,CAEI9B,EAAAA,CAAS0P,CAAA9P,MAATI,CAAwB0P,CAAAhQ,OAC5B,IAAc,CAAd,EAAIM,CAAJ,CAAiB,MAAO,KACxBN,EAAA,EAAUM,CACV,KAAI2P,EAAa,IAAAtQ,OAAAiE,WACb5D,EAAJ,CAAaiQ,CAAb,EACI,IAAAzL,OAAA,CAAY,CAACyL,CAAD,EAAe,CAAf,EAAoBjQ,CAApB,CAA6BiQ,CAA7B,CAA0CjQ,CAAtD,CAEJ4C,EAAA,IAAIF,UAAJ,CAAe,IAAA/C,OAAf,CADAK,CACA,CADUM,CACV,CAAAsC,KAAA,CAAwCC,CAAA,IAAIH,UAAJ,CAAesN,CAAArQ,OAAf,CAAAkD,UAAA,CAAuCmN,CAAAhQ,OAAvC,CAAsDgQ,CAAA9P,MAAtD,CAAxC,CACA8P,EAAAhQ,OAAA,EAAiBM,CACb2D,EAAJ,GAAc,IAAAjE,OAAd,EAA6BM,CAA7B,CACA,OAAO,KA1BqD,CAuChEgB,EAAA4O,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAASpQ,CAAT,CAAiB,CACpDoQ,CAAAhM,OAAA,CAAc,IAAd;AAAoBpE,CAApB,CACA,OAAO,KAF6C,CAYxDsB,EAAA+O,OAAA,CAA6BC,QAAQ,CAACD,CAAD,CAAS,CAC1C,IAAA/Q,SAAA,CAAgB,CAAC+Q,CACjB,OAAO,KAFmC,CAU9C/O,EAAAlC,SAAA,CAA+BmR,QAAQ,EAAG,CACtC,MAAO,KAAA5Q,OAAAiE,WAD+B,CAU1CtC,EAAAkP,MAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAAzQ,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa,IAAAP,OAAAiE,WACb,KAAA3D,aAAA,CAAqB,EACrB,OAAO,KAJ4B,CAcvCqB,EAAAmC,MAAA,CAA4BiN,QAAQ,CAACC,CAAD,CAAO,CACvC,IAAIlO,EAAK,IAAItD,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACLqR,EAAJ,EACIlO,CAAA9C,OAEA,CAFY,IAAIE,WAAJ,CAAgB,IAAAF,OAAAiE,WAAhB,CAEZ,CADAhB,CAAA,IAAIF,UAAJ,CAAeD,CAAA9C,OAAf,CAAAiD,KAAA,CAA8B,IAAAjD,OAA9B,CACA,CAAA8C,CAAA3C,KAAA,CAAU,IAAIC,QAAJ,CAAa0C,CAAA9C,OAAb,CAHd,GAKI8C,CAAA9C,OACA,CADY,IAAAA,OACZ,CAAA8C,CAAA3C,KAAA,CAAU,IAAAA,KANd,CAQA2C,EAAAzC,OAAA,CAAY,IAAAA,OACZyC,EAAAxC,aAAA,CAAkB,IAAAA,aAClBwC;CAAAvC,MAAA,CAAW,IAAAA,MACX,OAAOuC,EAbgC,CAyB3CnB,EAAAsP,QAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA9Q,OAA1C,CACmB,YAAnB,GAAI,MAAO+Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAA7Q,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN,CACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAIkN,CAAJ,EAAmBC,CAAnB,GAA2B,IAAApR,OAAAiE,WAA3B,CACI,MAAO,KACX,KAAIoN;AAAMD,CAANC,CAAYF,CAChB,IAAY,CAAZ,GAAIE,CAAJ,CAMI,MALA,KAAArR,OAKO,CALOC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAG,aAGG,GAHqB,IAAAA,aAGrB,EAH0C6Q,CAG1C,EADP,IAAA5Q,MACO,CAFP,IAAAF,OAEO,CAFO,CAEP,CAAA,IAEX,KAAIL,EAAS,IAAIE,WAAJ,CAAgBmR,CAAhB,CACbpO,EAAA,IAAIF,UAAJ,CAAe/C,CAAf,CAAAiD,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAA/C,OAAf,CAAAkD,UAAA,CAAqCiO,CAArC,CAA4CC,CAA5C,CAA3B,CACA,KAAApR,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACa,EAAzB,EAAI,IAAAM,aAAJ,GAA4B,IAAAA,aAA5B,EAAiD6Q,CAAjD,CACA,KAAA9Q,OAAA,CAAc,CACd,KAAAE,MAAA,CAAa8Q,CACb,OAAO,KA/BwC,CA0CnD1P,EAAAqP,KAAA,CAA2BM,QAAQ,CAACH,CAAD,CAAQC,CAAR,CAAa,CACvB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA9Q,OAA1C,CACmB,YAAnB,GAAI,MAAO+Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAA7Q,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN;AACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,GAAIkN,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAI5R,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdiC,KAexCF,EAAW2R,CAAX3R,CAAiB0R,CAfuB,CAgBxCrO,EAAK,IAAItD,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACTmD,EAAAzC,OAAA,CAAY,CACZyC,EAAAvC,MAAA,CAAWd,CACY,EAAvB,EAAIqD,CAAAxC,aAAJ,GAA0BwC,CAAAxC,aAA1B,EAA6C6Q,CAA7C,CACA,KAAAI,OAAA,CAAYzO,CAAZ,CAAgB,CAAhB,CAAmBqO,CAAnB,CAA0BC,CAA1B,CACA,OAAOtO,EArBqC,CAoChDnB,EAAA4P,OAAA,CAA6BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAC/ErN,CAD+E,CAE/EsN,CACJ,IAAKjS,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAAoD,aAAA,CAAwB6N,CAAxB,CADT,CAEQ,KAAM5M,UAAA,CAAU,kCAAV,CAAN;AAER4N,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAApQ,OAAzD,CAAyEoR,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAACpN,CAAD,CAAoC,WAApC,GAAY,MAAOoN,EAAnB,EAAmD,IAAArR,OAAnD,CAAiEqR,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAApR,MAArC,CAAkDoR,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAAzQ,OAAAiE,WAAvC,CACI,KAAMlE,WAAA,CAAW,6BAAX,CAAyC0R,CAAzC,CAAsD,MAAtD,CAA6DhB,CAAAzQ,OAAAiE,WAA7D,CAAN,CACJ,GAAmB,CAAnB,CAAIyN,CAAJ,EAAwBC,CAAxB,CAAsC,IAAA3R,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,6BAAX,CAAyC2R,CAAzC,CAAsD,MAAtD,CAA6D,IAAA1R,OAAAiE,WAA7D,CAAN,CAEJ,IAAIoN,EAAMM,CAANN,CAAoBK,CACxB,IAAY,CAAZ,GAAIL,CAAJ,CACI,MAAOZ,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqCJ,CAArC,CAEApO,EAAA,IAAIF,UAAJ,CAAe0N,CAAAzQ,OAAf,CAAAiD,KAAA,CAAkCC,CAAA,IAAIH,UAAJ,CAAe,IAAA/C,OAAf,CAAAkD,UAAA,CAAqCwO,CAArC,CAAmDC,CAAnD,CAAlC,CAAmGF,CAAnG,CAEInN,EAAJ,GAAc,IAAAjE,OAAd,EAA6BgR,CAA7B,CACIO,EAAJ,GAAoBnB,CAAApQ,OAApB;AAAqCgR,CAArC,CAEA,OAAO,KA3B4E,CAsCvF1P,EAAAkQ,eAAA,CAAqCC,QAAQ,CAACrS,CAAD,CAAW,CACpD,IAAIsS,EAAU,IAAA/R,OAAAiE,WACd,OAAI8N,EAAJ,CAActS,CAAd,CACW,IAAAoF,OAAA,CAAY,CAACkN,CAAD,EAAY,CAAZ,EAAiBtS,CAAjB,CAA4BsS,CAA5B,CAAsCtS,CAAlD,CADX,CAEO,IAJ6C,CAkBxDkC,EAAAqQ,KAAA,CAA2BC,QAAQ,CAACnQ,CAAD,CAAQqP,CAAR,CAAeC,CAAf,CAAoB,CACnD,IAAI9M,EAA4B,WAA5BA,GAAW,MAAO6M,EAClB7M,EAAJ,GAAc6M,CAAd,CAAsB,IAAA9Q,OAAtB,CACqB,SAArB,GAAI,MAAOyB,EAAX,EAAgD,CAAhD,CAAiCA,CAAAnB,OAAjC,GACImB,CADJ,CACYA,CAAAlB,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAOuQ,EAAX,GAAkCA,CAAlC,CAA0C,IAAA9Q,OAA1C,CACmB,YAAnB,GAAI,MAAO+Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAA7Q,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOmC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM+B,UAAA,CAAU,iBAAV,CAA4B/B,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAOqP,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN;AACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CAXY,CAapB,GAAIkN,CAAJ,EAAaC,CAAb,CACI,MAAO,KACX,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAAjR,KAAAgE,SAAA,CAAmBgN,CAAA,EAAnB,CAA4BrP,CAA5B,CAChBwC,EAAJ,GAAc,IAAAjE,OAAd,CAA4B8Q,CAA5B,CACA,OAAO,KAxB4C,CAiCvDxP,EAAAuQ,KAAA,CAA2BC,QAAQ,EAAG,CAClC,IAAA5R,MAAA,CAAa,IAAAF,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH2B,CActCsB,EAAAyQ,KAAA,CAA2BC,QAAQ,CAAChS,CAAD,CAAS,CACxCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV;AAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOpB,IAAA3D,aAAA,CAAoBD,CACpB,OAAO,KAViC,CAkB5CsB,EAAA2Q,MAAA,CAA4BC,QAAQ,CAAC7S,CAAD,CAAe,CAC/C,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAMmE,UAAA,CAAU,qCAAV,CAAN,CAER,IAAAnE,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANwC,CAenDiC,EAAA6Q,GAAA,CAAyBC,QAAQ,CAAC/S,CAAD,CAAe,CAC5C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFqC,CAWhDiC,EAAA+Q,GAAA,CAAyBC,QAAQ,CAACC,CAAD,CAAY,CACzC,IAAAlT,aAAA,CAAyC,WAArB,GAAA,MAAOkT,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFkC,CAkB7CjR,EAAAkR,QAAA,CAA8BC,QAAQ,CAACzC,CAAD;AAAS5N,CAAT,CAAmBpC,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAOoC,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIpC,CACA,CADSoC,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI4B,EAA6B,WAA7BA,GAAW,MAAOjE,EAClBiE,EAAJ,GAAcjE,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,kBAAV,CAA6BxD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAL,OAAAiE,WAA/B,CACI,KAAMlE,WAAA,CAAW,uBAAX,CAAmCM,CAAnC,CAAkD,WAAlD,CAA0D,IAAAL,OAAAiE,WAA1D,CAAN,CALY,CAOdoM,CAAN,WAAwB7Q,EAAxB,GACI6Q,CADJ,CACa7Q,CAAAqD,KAAA,CAAgBwN,CAAhB,CAAwB5N,CAAxB,CADb,CAEI4O,EAAAA,CAAMhB,CAAA9P,MAAN8Q,CAAqBhB,CAAAhQ,OACzB,IAAW,CAAX,EAAIgR,CAAJ,CAAc,MAAO,KACrB,KAAI0B,EAAO1B,CAAP0B,CAAa1S,CACjB,IAAW,CAAX,CAAI0S,CAAJ,CAAc,CACV,IAAI/S,EAAS,IAAIE,WAAJ,CAAgB,IAAAF,OAAAiE,WAAhB,CAAyC8O,CAAzC,CAAb,CACIC,EAAY,IAAIjQ,UAAJ,CAAe/C,CAAf,CAChBgT,EAAA/P,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAe,IAAA/C,OAAf,CAAAkD,UAAA,CAAqC7C,CAArC;AAA6C,IAAAL,OAAAiE,WAA7C,CAAd,CAAoFoN,CAApF,CACA,KAAArR,OAAA,CAAcA,CACd,KAAAG,KAAA,CAAY,IAAIC,QAAJ,CAAaJ,CAAb,CACZ,KAAAK,OAAA,EAAe0S,CACU,EAAzB,EAAI,IAAAzS,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDyS,CAAjD,CACA,KAAAxS,MAAA,EAAcwS,CACd1S,EAAA,EAAU0S,CATA,CAAd,IAWQC,EAAJ,CAAgB,IAAIjQ,UAAJ,CAAe,IAAA/C,OAAf,CAEpBgT,EAAA/P,IAAA,CAAcC,CAAA,IAAIH,UAAJ,CAAesN,CAAArQ,OAAf,CAAAkD,UAAA,CAAuCmN,CAAAhQ,OAAvC,CAAsDgQ,CAAA9P,MAAtD,CAAd,CAAmFF,CAAnF,CAA4FgR,CAA5F,CAEAhB,EAAAhQ,OAAA,CAAgBgQ,CAAA9P,MACZ+D,EAAJ,GACI,IAAAjE,OADJ,EACmBgR,CADnB,CAEA,OAAO,KArCsD,CAmDjE1P,EAAAsR,UAAA,CAAgCC,QAAQ,CAACzC,CAAD,CAASpQ,CAAT,CAAiB,CACrDoQ,CAAAoC,QAAA,CAAe,IAAf,CAAqBxS,CAArB,CACA,OAAO,KAF8C,CASzDsB,EAAAwR,WAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAM,CACxB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAAC,IAAArF,KAAA,CAAiBoF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAAnP,SAAA,EADJ,CAEI,yEAFJ;AAGI,IAAAsP,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF2C,CAe/C7R,EAAA8R,UAAA,CAAgCC,QAAQ,EAAG,CACvC,MAAO,KAAAnT,MAAP,CAAoB,IAAAF,OADmB,CAW3CsB,EAAAgS,MAAA,CAA4BC,QAAQ,EAAG,CACV,CAAzB,EAAI,IAAAtT,aAAJ,EACI,IAAAD,OACA,CADc,IAAAC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAD,OAJJ,CAIkB,CAElB,OAAO,KAP4B,CAkBvCsB,EAAAkD,OAAA,CAA6BgP,QAAQ,CAACpU,CAAD,CAAW,CAC5C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAMoE,UAAA,CAAU,oBAAV,CAA+BpE,CAA/B,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,yBAAX,CAAqCN,CAArC,CAAN,CALY,CAOhB,IAAAO,OAAAiE,WAAJ,CAA6BxE,CAA7B,GACQO,CAGJ,CAHa,IAAIE,WAAJ,CAAgBT,CAAhB,CAGb,CAFAwD,CAAA,IAAIF,UAAJ,CAAe/C,CAAf,CAAAiD,KAAA,CAA2B,IAAIF,UAAJ,CAAe,IAAA/C,OAAf,CAA3B,CAEA,CADA,IAAAA,OACA,CADcA,CACd,CAAA,IAAAG,KAAA;AAAY,IAAIC,QAAJ,CAAaJ,CAAb,CAJhB,CAMA,OAAO,KAdqC,CAuBhD2B,EAAAmS,QAAA,CAA8BC,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA9Q,OAA1C,CACmB,YAAnB,GAAI,MAAO+Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAA7Q,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN,CACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,GAAIkN,CAAJ,GAAcC,CAAd,CACI,MAAO,KACX9P,MAAAC,UAAAuS,QAAA/P,KAAA,CAA6Bb,CAAA,IAAIH,UAAJ,CAAe,IAAA/C,OAAf,CAAAkD,UAAA,CAAqCiO,CAArC;AAA4CC,CAA5C,CAA7B,CACA,KAAAjR,KAAA,CAAY,IAAIC,QAAJ,CAAa,IAAAJ,OAAb,CACZ,OAAO,KAjBwC,CAyBnD2B,EAAAqS,KAAA,CAA2BC,QAAQ,CAACtT,CAAD,CAAS,CACxC,GAAKhB,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOgB,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMkD,UAAA,CAAU,kBAAV,CAA6BlD,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIN,EAAS,IAAAA,OAATA,CAAuBM,CAC3B,IAAKhB,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQU,CADR,EACsBA,CADtB,CAC+B,IAAAL,OAAAiE,WAD/B,EAEQ,KAAMlE,WAAA,CAAW,uBAAX,CAAmC,IAAAM,OAAnC,CAA+C,KAA/C,CAAqDM,CAArD,CAA4D,MAA5D,CAAmE,IAAAX,OAAAiE,WAAnE,CAAN,CAER,IAAA5D,OAAA,CAAcA,CACd,OAAO,KAZiC,CAsB5CsB,EAAA4C,MAAA,CAA4B2P,QAAQ,CAAC/C,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA9Q,OAA1C,CACmB,YAAnB,GAAI,MAAO+Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAA7Q,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN,CACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,IAAInB,EAAK,IAAAgB,MAAA,EACThB,EAAAzC,OAAA,CAAY8Q,CACZrO,EAAAvC,MAAA,CAAW6Q,CACX,OAAOtO,EAhBsC,CA0BjDnB,EAAAwS,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC3ChU,EAAS,IAAAA,OADkC,CAE3CE,EAAQ,IAAAA,MACZ,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOU,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwD,UAAA,CAAU,gCAAV,CAAN,CACJxD,CAAA,IAAY,CACZ,IAAqB,QAArB;AAAI,MAAOE,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMsD,UAAA,CAAU,+BAAV,CAAN,CACJtD,CAAA,IAAW,CACX,IAAa,CAAb,CAAIF,CAAJ,EAAkBA,CAAlB,CAA2BE,CAA3B,EAAoCA,CAApC,CAA4C,IAAAP,OAAAiE,WAA5C,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCM,CAAlC,CAAyC,MAAzC,CAAgDE,CAAhD,CAAsD,MAAtD,CAA6D,IAAAP,OAAAiE,WAA7D,CAAN,CARY,CAYpB,GAAKoQ,CAAAA,CAAL,EAA6B,CAA7B,GAAkBhU,CAAlB,EAAkCE,CAAlC,GAA4C,IAAAP,OAAAiE,WAA5C,CACI,MAAO,KAAAjE,OACX,IAAIK,CAAJ,GAAeE,CAAf,CACI,MAAON,EACPD,EAAAA,CAAS,IAAIE,WAAJ,CAAgBK,CAAhB,CAAwBF,CAAxB,CACb4C,EAAA,IAAIF,UAAJ,CAAe/C,CAAf,CAAAiD,KAAA,CAA2BC,CAAA,IAAIH,UAAJ,CAAe,IAAA/C,OAAf,CAAAkD,UAAA,CAAqC7C,CAArC,CAA6CE,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOP,EArBwC,CAiCnD2B,EAAA2S,cAAA,CAAoC3S,CAAAwS,SAapCxS,EAAAuC,SAAA,CAA+BqQ,QAAQ,CAAC9R,CAAD,CAAW0O,CAAX,CAAkBC,CAAlB,CAAuB,CAC1D,GAAwB,WAAxB,GAAI,MAAO3O,EAAX,CACI,MAAO,+BAAP,CAAuC,IAAApC,OAAvC;AAAmD,gBAAnD,CAAoE,IAAAC,aAApE,CAAsF,SAAtF,CAAgG,IAAAC,MAAhG,CAA2G,YAA3G,CAAwH,IAAAd,SAAA,EAAxH,CAAwI,GACpH,SAAxB,GAAI,MAAOgD,EAAX,GAGI2O,CAHJ,CAEID,CAFJ,CACI1O,CADJ,CACe,MADf,CAIA,QAAQA,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAA+R,OAAA,CAAYrD,CAAZ,CAAmBC,CAAnB,CACX,MAAK,QAAL,CACI,MAAO,KAAAqD,SAAA,CAActD,CAAd,CAAqBC,CAArB,CACX,MAAK,KAAL,CACI,MAAO,KAAAsD,MAAA,CAAWvD,CAAX,CAAkBC,CAAlB,CACX,MAAK,QAAL,CACI,MAAO,KAAAuD,SAAA,CAAcxD,CAAd,CAAqBC,CAArB,CACX,MAAK,OAAL,CACI,MAAO,KAAAoC,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAoB,EAAA,EACX,SACI,KAAMhR,MAAA,CAAM,wBAAN,CAA+BnB,CAA/B,CAAN,CAdR,CAP0D,CAgC9D,KAAIoS,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA,EAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG,CAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb;AAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC,CAGsC,GAHtC,CAG2C,GAH3C,CAGgD,GAHhD,CAGqD,GAHrD,CAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBSrU,EAAE,CApBX,CAoBciC,EAAEmS,CAAAnU,OAAhB,CAA6BD,CAA7B,CAA+BiC,CAA/B,CAAkC,EAAEjC,CAApC,CACIqU,CAAA,CAAID,CAAA,CAAKpU,CAAL,CAAJ,CAAA,CAAeA,CASnBmU,EAAAG,EAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzBnK,CADyB,CACtBoK,CACP,CAAuB,IAAvB,IAAQpK,CAAR,CAAYkK,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAM9J,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADAoK,CACA,EADKpK,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASkK,CAAA,EAAT,GACIE,CAGA,EAHMpK,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFAmK,CAAA,CAAIL,CAAA,EAAMM,CAAN,CAAUpK,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADAoK,CACA,EADKpK,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAASkK,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMM,CAAN,CAAUpK,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAAmK,CAAA,CAAIL,CAAA,CAAK9J,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAIImK,CAAA,CAAIL,CAAA,CAAKM,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAD,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKM,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAD,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAQ,EAAA,CAAcC,QAAQ,CAACJ,CAAD,CAAMC,CAAN,CAAW,CAE7BI,QAASA,EAAI,CAACC,CAAD,CAAI,CACb,KAAM5R,MAAA,CAAM,0BAAN,CAAiC4R,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB,CACtBC,CADsB,CAClBC,CAIX,CAAuB,IAAvB;CAAQF,CAAR,CAAYN,CAAA,EAAZ,EAAA,CAGI,GAFAO,CAEI,CAFCV,CAAA,CAAIS,CAAJ,CAED,CADc,WACd,GADA,MAAOC,EACP,EAD2BF,CAAA,CAAKC,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKN,CAAA,EAAL,IACAQ,CAGI,CAHCX,CAAA,CAAIS,CAAJ,CAGD,CAFc,WAEd,GAFA,MAAOE,EAEP,EAF2BH,CAAA,CAAKC,CAAL,CAE3B,CADJL,CAAA,CAAKM,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAACF,CAAD,CAAKN,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBO,CAAA,CAAKV,CAAA,CAAIS,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOC,EAAX,CACI,GAAU,EAAV,GAAID,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BL,EAAA,EAAMO,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKD,CAAL,CAASN,CAAA,EAAT,EAA0B,CACtBQ,CAAA,CAAKX,CAAA,CAAIS,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOE,EAAX,CACI,GAAU,EAAV,GAAIF,CAAJ,CAAc,KAAd,KAA0BD,EAAA,CAAKC,CAAL,CAC9BL,EAAA,EAAMM,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCb,EAAAc,KAAA,CAAYC,QAAQ,CAAC/H,CAAD,CAAM,CACtB,MAAO,kEAAA8H,KAAA,CAAwE9H,CAAxE,CADe,CAI1B,OAAOgH,EAxGW,CAAX,EAoHXlT,EAAA8S,SAAA,CAA+BoB,QAAQ,CAAC1E,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAA9Q,OADZ,CAEmB;WAAnB,GAAI,MAAO+Q,EAAX,GACIA,CADJ,CACU,IAAA7Q,MADV,CAEA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN,CACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,IAAIoK,CAAIwG,EAAAG,EAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO7D,EAAA,CAAQC,CAAR,CAAc,IAAAjR,KAAAuF,SAAA,CAAmByL,CAAA,EAAnB,CAAd,CAA4C,IADxB,CAAXjD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWxN,CAAA,EAFX,CAGR,OAAOwN,EAAA,EAlByC,CA+BpD7O,EAAA+D,WAAA,CAAwBuS,QAAQ,CAACjI,CAAD,CAAMnO,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAOkO,EAAX,CACI,KAAMhK,UAAA,CAAU,2BAAV,CAAN;AACJ,GAAuB,CAAvB,GAAIgK,CAAAlN,OAAJ,CAAiB,CAAjB,CACI,KAAMkD,UAAA,CAAU,yCAAV,CAAN,CAJO,CAD2C,IAOtDf,EAAK,IAAItD,CAAJ,CAAeqO,CAAAlN,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BjB,CAA/B,CAA6CC,CAA7C,CAPiD,CAQtDe,EAAI,CACRmU,EAAAQ,EAAA,CAAY7U,CAAA,CAAaqN,CAAb,CAAZ,CAA+B,QAAQ,CAAC7C,CAAD,CAAI,CACvClI,CAAA3C,KAAAgE,SAAA,CAAiBzD,CAAA,EAAjB,CAAsBsK,CAAtB,CADuC,CAA3C,CAGAlI,EAAAvC,MAAA,CAAWG,CACX,OAAOoC,EAbmD,CAuB9DtD,EAAAuW,KAAA,CAAkBC,QAAQ,CAACnI,CAAD,CAAM,CAC5B,MAAOrO,EAAAiE,WAAA,CAAsBoK,CAAtB,CAAA4G,SAAA,EADqB,CAWhCjV,EAAAyW,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAO3W,EAAA+D,WAAA,CAAsB4S,CAAtB,CAAAxB,SAAA,EADqB,CAchChT,EAAAgT,SAAA,CAA+ByB,QAAQ,CAACjF,CAAD,CAAQC,CAAR,CAAa,CAChDD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA9Q,OAA/B,CAA6C8Q,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAA7Q,MAA7B,CAA0C6Q,CAChD,IAAKzR,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN,CACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB;AAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,GAAIkN,CAAJ,GAAcC,CAAd,CACI,MAAO,EAEX,KAhBgD,IAe5CiF,EAAK,EAfuC,CAenCC,EAAK,EAClB,CAAOnF,CAAP,CAAeC,CAAf,CAAA,CACIiF,CAAAhV,KAAA,CAAQ,IAAAlB,KAAAuF,SAAA,CAAmByL,CAAA,EAAnB,CAAR,CACA,CAAiB,IAAjB,EAAIkF,CAAA1V,OAAJ,GACI2V,CAAAjV,KAAA,CAAQD,MAAAa,aAAAd,MAAA,CAA0BC,MAA1B,CAAkCiV,CAAlC,CAAR,CACA,CAAAA,CAAA,CAAK,EAFT,CAIJ,OAAOC,EAAArV,KAAA,CAAQ,EAAR,CAAP,CAAqBG,MAAAa,aAAAd,MAAA,CAA0BC,MAA1B,CAAkCiV,CAAlC,CAtB2B,CAmCpD7W,EAAAiE,WAAA,CAAwB8S,QAAQ,CAAC1I,CAAD,CAAMnO,CAAN,CAAoBC,CAApB,CAA8B,CAC1D,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAOkO,EADf,CAEQ,KAAMhK,UAAA,CAAU,2BAAV,CAAN,CAIR,IAP0D,IAKtDnD,EAAI,CALkD;AAK/CiC,EAAIkL,CAAAlN,OAL2C,CAMtDmC,EAAK,IAAItD,CAAJ,CAAemD,CAAf,CAAkBjD,CAAlB,CAAgCC,CAAhC,CACT,CAAOe,CAAP,CAASiC,CAAT,CAAA,CAAY,CACR6T,CAAA,CAAW3I,CAAAjN,WAAA,CAAeF,CAAf,CACX,IAAKf,CAAAA,CAAL,EAA4B,GAA5B,CAAiB6W,CAAjB,CACI,KAAMzW,WAAA,CAAW,sBAAX,CAAkCW,CAAlC,CAAoC,SAApC,CAA8C8V,CAA9C,CAAuD,SAAvD,CAAN,CACJ1T,CAAA3C,KAAAgE,SAAA,CAAiBzD,CAAA,EAAjB,CAAsB8V,CAAtB,CAJQ,CAMZ1T,CAAAvC,MAAA,CAAWoC,CACX,OAAOG,EAdmD,CAoC9DnB,EAAA6R,QAAA,CAA8BiD,QAAQ,CAACC,CAAD,CAAU,CAO5C,IAP4C,IACxChW,EAAK,EADmC,CAExCiC,EAAI,IAAA3C,OAAAiE,WAFoC,CAGxC+G,CAHwC,CAIxC2L,EAAM,EAJkC,CAKxCC,EAAM,EALkC,CAMxCvD,EAAM,EACV,CAAO3S,CAAP,CAASiC,CAAT,CAAA,CAAY,CACG,EAAX,GAAIjC,CAAJ,GACIsK,CAGA,CAHI,IAAA7K,KAAAuF,SAAA,CAAmBhF,CAAnB,CAGJ,CAFciW,CAEd,CAFQ,EAAR,CAAI3L,CAAJ,CAAc2L,CAAd,EAAqB,GAArB,CAAyB3L,CAAA9G,SAAA,CAAW,EAAX,CAAA2S,YAAA,EAAzB,EACKF,CADL,CACY3L,CAAA9G,SAAA,CAAW,EAAX,CAAA2S,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAA5L,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoB5J,MAAAa,aAAA,CAAoB+I,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAQA,GAAEtK,CACF,IAAIgW,CAAJ,EACY,CADZ,CACQhW,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCiC,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAOgU,CAAAhW,OAAP,CAAA,CAA4BgW,CAAA,EAAO,GACnCtD,EAAA,EAAOsD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADAjW,CAAJ,GAAU,IAAAL,OAAV;AAAyBK,CAAzB,GAA+B,IAAAH,MAA/B,CACIoW,CADJ,EACWjW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESI,CAAJ,GAAU,IAAAL,OAAV,CACDsW,CADC,EACMjW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEII,CAAJ,GAAU,IAAAH,MAAV,CACDoW,CADC,EACMjW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGDqW,CAHC,EAGMjW,CAAA,GAAM,IAAAJ,aAAN,CAA0B,GAA1B,CAAiCoW,CAAA,EAAkB,CAAlB,GAAYhW,CAAZ,EAAuBA,CAAvB,GAA6BiC,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CArBG,CA0BZ,GAAI+T,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAAhW,OAAP,CAAA,CAA4BgW,CAAA,EAAO,GACnCtD,EAAA,EAAOsD,CAAP,CAAWC,CAAX,CAAe,IAFS,CAI5B,MAAOF,EAAA,CAAUrD,CAAV,CAAgBsD,CArCqB,CAmDhDnX,EAAAmE,UAAA,CAAuBmT,QAAQ,CAACjJ,CAAD,CAAMnO,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrDgD,EAAIkL,CAAAlN,OACJmC,EAAAA,CAAK,IAAItD,CAAJ,EAAiBmD,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4BjD,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrDe,EAAI,CAHiD,CAG9CqW,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD7B,EAAO,CAAA,CACX,CAAO7U,CAAP,CAASiC,CAAT,CAAA,CAAY,CACR,OAAQqU,CAAR,CAAanJ,CAAAwJ,OAAA,CAAW3W,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAIuX,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB7B,CAAA,CAAO,CAAA,CAAM,MADG,CAGpB2B,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CAJJ,CAMftU,CAAAzC,OAAA,CAAYyC,CAAAxC,aAAZ,CAA8BwC,CAAAvC,MAA9B,CAAyCwW,CACzCE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKtX,CAAAA,CAAL,CAAe,CACX,GAAIuX,CAAJ;AAAUE,CAAV,CAAc,CACV7B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd2B,CAAA,CAAKE,CAAL,CAAU,CAAA,CAJC,CAMftU,CAAAzC,OAAA,CAAYyC,CAAAvC,MAAZ,CAAuBwW,CACvBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKtX,CAAAA,CAAL,CAAe,CACX,GAAIuX,CAAJ,EAAUC,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd2B,CAAA,CAAKC,CAAL,CAAU,CAAA,CAJC,CAMfrU,CAAAzC,OAAA,CAAYyC,CAAAxC,aAAZ,CAA8ByW,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKtX,CAAAA,CAAL,CAAe,CACX,GAAIuX,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR2B,CAAA,CAAK,CAAA,CAJM,CAMfpU,CAAAzC,OAAA,CAAY0W,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKtX,CAAAA,CAAL,CAAe,CACX,GAAIyX,CAAJ,EAAUD,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CAAM,MADH,CAGd6B,CAAA,CAAKD,CAAL,CAAU,CAAA,CAJC,CAMfrU,CAAAvC,MAAA,CAAWuC,CAAAxC,aAAX,CAA6ByW,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKtX,CAAAA,CAAL,CAAe,CACX,GAAIyX,CAAJ,CAAQ,CACJ7B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR6B,CAAA,CAAK,CAAA,CAJM,CAMftU,CAAAvC,MAAA,CAAWwW,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKtX,CAAAA,CAAL,CAAe,CACX,GAAIwX,CAAJ,CAAQ,CACJ5B,CAAA,CAAO,CAAA,CAAM,MADT,CAGR4B,CAAA,CAAK,CAAA,CAJM,CAMfrU,CAAAxC,aAAA,CAAkByW,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAKtX,CAAAA,CAAL,EACQsX,CADR,CACY,CACJ1B,CAAA,CAAO,CAAA,CAAM,MADT,CAIZvK,CAAA,CAAIsM,QAAA,CAASN,CAAT,CAAYnJ,CAAAwJ,OAAA,CAAW3W,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAKf,CAAAA,CAAL,GACQ4X,KAAA,CAAMvM,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC;AAC6BA,CAD7B,EAEQ,KAAMnH,UAAA,CAAU,yCAAV,CAAN,CAERf,CAAA3C,KAAAgE,SAAA,CAAiB4S,CAAA,EAAjB,CAAsB/L,CAAtB,CACAiM,EAAA,CAAK,CAAA,CAtFb,CAwFA,GAAI1B,CAAJ,CACI,KAAM1R,UAAA,CAAU,iCAAV,CAA4CnD,CAA5C,CAAN,CA1FI,CA4FZ,GAAKf,CAAAA,CAAL,CAAe,CACX,GAAKuX,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAMvT,UAAA,CAAU,sCAAV,CAAN,CACJ,GAAIkT,CAAJ,CAAMjU,CAAA9C,OAAAiE,WAAN,CACI,KAAMJ,UAAA,CAAU,uDAAV,CAAkEkT,CAAlE,CAAoE,KAApE,CAA0EpU,CAA1E,CAAN,CAJO,CAMf,MAAOG,EAzGkD,CAqH7DnB,EAAA+S,MAAA,CAA4B8C,QAAQ,CAACrG,CAAD,CAAQC,CAAR,CAAa,CAC7CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAA9Q,OAA/B,CAA6C8Q,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAA7Q,MAA7B,CAA0C6Q,CAChD,IAAKzR,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN;AACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAYpB,IAf6C,IAazCoP,EAAU/R,KAAJ,CAAU8P,CAAV,CAAgBD,CAAhB,CAbmC,CAczCnG,CACJ,CAAOmG,CAAP,CAAeC,CAAf,CAAA,CACIpG,CACA,CADI,IAAA7K,KAAAuF,SAAA,CAAmByL,CAAA,EAAnB,CACJ,CAAQ,EAAR,CAAInG,CAAJ,CACIqI,CAAAhS,KAAA,CAAS,GAAT,CAAc2J,CAAA9G,SAAA,CAAW,EAAX,CAAd,CADJ,CAEKmP,CAAAhS,KAAA,CAAS2J,CAAA9G,SAAA,CAAW,EAAX,CAAT,CAET,OAAOmP,EAAApS,KAAA,CAAS,EAAT,CArBsC,CAkCjDzB,EAAAgE,QAAA,CAAqBiU,QAAQ,CAAC5J,CAAD,CAAMnO,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAOkO,EAAX,CACI,KAAMhK,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIgK,CAAAlN,OAAJ,CAAiB,CAAjB,CACI,KAAMkD,UAAA,CAAU,yCAAV,CAAN;AAJO,CADwC,IAOnDlB,EAAIkL,CAAAlN,OACJmC,EAAAA,CAAK,IAAItD,CAAJ,CAAgBmD,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4BjD,CAA5B,CAET,KAHA,IAEIsL,CAFJ,CAGStK,EAAE,CAHX,CAGcqW,EAAE,CAAhB,CAAmBrW,CAAnB,CAAqBiC,CAArB,CAAwBjC,CAAxB,EAA2B,CAA3B,CAA8B,CAC1BsK,CAAA,CAAIsM,QAAA,CAASzJ,CAAA6J,UAAA,CAAchX,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAKf,CAAAA,CAAL,GACS,CAAAgY,QAAA,CAAS3M,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAMnH,UAAA,CAAU,0CAAV,CAAN,CACRf,CAAA3C,KAAAgE,SAAA,CAAiB4S,CAAA,EAAjB,CAAsB/L,CAAtB,CAL0B,CAO9BlI,CAAAvC,MAAA,CAAWwW,CACX,OAAOjU,EAlBgD,CA4B3D,KAAIgL,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,EAAgB,OAPV,CAeN,EAAa8J,QAAQ,CAAC1C,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAIxF,EAAK,IACU,SAAnB,GAAI,MAAOuF,EAAX,GACIvF,CACA,CADKuF,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAOvF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BuF,CAAA,EAA5B,EAAA,CACa,GAAT,CAAIvF,CAAJ,CACIwF,CAAA,CAAIxF,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACDwF,CAAA,CAAMxF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ,CACDwF,CAAA,CAAMxF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKDwF,CAAA,CAAMxF,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAAwF,CAAA,CAAMxF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAAwF,CAAA,CAAMxF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAAwF,CAAA,CAAKxF,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA;AAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,EAAakI,QAAQ,CAAC3C,CAAD,CAAMC,CAAN,CAAW,CACVI,QAAA,EAAQ,CAACvK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAAzG,MAAA,CAAQ,CAAR,CAAWyG,CAAA8M,QAAA,CAAU,IAAV,CAAX,CACJ,KAAIvM,EAAM3H,KAAA,CAAMoH,CAAA9G,SAAA,EAAN,CACVqH,EAAAwM,KAAA,CAAW,gBACXxM,EAAA,MAAA,CAAeP,CACf,MAAMO,EAAN,CAL+B,CAOnC,IARiC,IAC7ByM,CAD6B,CAC1BhN,CAD0B,CACvBwK,CADuB,CACpByC,CAOb,CAAuB,IAAvB,IAAQD,CAAR,CAAY9C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAK8C,CAAL,CAAO,GAAP,EACI7C,CAAA,CAAI6C,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADEhN,CACF,CADMkK,CAAA,EACN,GAD0BK,CAAA,CAAK,CAACyC,CAAD,CAAIhN,CAAJ,CAAL,CAC1B,CAAAmK,CAAA,EAAM6C,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqBhN,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAKgN,CAAL,CAAO,GAAP,EACc,IACf,IADEhN,CACF,CADIkK,CAAA,EACJ,GADqC,IACrC,IADwBM,CACxB,CAD0BN,CAAA,EAC1B,GAD8CK,CAAA,CAAK,CAACyC,CAAD,CAAIhN,CAAJ,CAAOwK,CAAP,CAAL,CAC9C,CAAAL,CAAA,EAAM6C,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuBhN,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCwK,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAKwC,CAAL,CAAO,GAAP,EACc,IACf,IADEhN,CACF,CADIkK,CAAA,EACJ,GADqC,IACrC,IADwBM,CACxB,CAD0BN,CAAA,EAC1B,GAD2D,IAC3D,IAD8C+C,CAC9C,CADgD/C,CAAA,EAChD,GADoEK,CAAA,CAAK,CAACyC,CAAD,CAAIhN,CAAJ,CAAOwK,CAAP,CAAUyC,CAAV,CAAL,CACpE,CAAA9C,CAAA,EAAM6C,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuBhN,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCwK,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDyC,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAMlY,WAAA,CAAW,yBAAX;AAAqCiY,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,EAAcE,QAAQ,CAAChD,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9BgD,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmBlD,CAAA,EADjC,EAAA,CAGc,KAAV,EAAIiD,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACclD,CAAA,EADd,GAEkB,KAFlB,EAEYkD,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGYjD,CAAA,CAAgB,IAAhB,EAAKgD,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQAjD,CAAA,CAAIgD,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiBjD,CAAA,CAAIiD,CAAJ,CAfiB,CA/E3B,CAwGN,EAAcC,QAAQ,CAACnD,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAIxF,EAAK,IACU,SAAnB,GAAI,MAAOuF,EAAX,GACIvF,CAAU,CAALuF,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAOvF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BuF,CAAA,EAA5B,EAAA,CACc,KAAV,EAAIvF,CAAJ,CACIwF,CAAA,CAAIxF,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADAwF,CAAA,EAAKxF,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAAwF,CAAA,CAAKxF,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,EAAoB2I,QAAQ,CAACpD,CAAD,CAAMC,CAAN,CAAW,CACxCrH,CAAAyK,EAAA,CAAiBrD,CAAjB,CAAsB,QAAQ,CAACvF,CAAD,CAAK,CAC/B7B,CAAA0K,EAAA,CAAgB7I,CAAhB,CAAoBwF,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,EAAoBsD,QAAQ,CAACvD,CAAD,CAAMC,CAAN,CAAW,CACxCrH,CAAA4B,EAAA,CAAgBwF,CAAhB,CAAqB,QAAQ,CAACvF,CAAD,CAAK,CAC9B7B,CAAA8B,EAAA,CAAiBD,CAAjB,CAAqBwF,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,EAAqBuD,QAAQ,CAAC/I,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B;AAgKN,EAAgBgJ,QAAQ,CAACzD,CAAD,CAAM,CAE/B,IAF+B,IAC3BvF,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAauF,CAAA,EAAb,EAAA,CACIlF,CAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CACnE,OAAOK,EAJwB,CAhKxB,CA6KN,EAAuB4I,QAAQ,CAAC1D,CAAD,CAAM,CAAA,IAClCzK,EAAE,CADgC,CAC7BuF,EAAE,CACXlC,EAAAyK,EAAA,CAAiBrD,CAAjB,CAAsB,QAAQ,CAACvF,CAAD,CAAK,CAC/B,EAAElF,CAAGuF,EAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CADrC,CAAnC,CAGA,OAAO,CAAClF,CAAD,CAAGuF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOlC,EA7LW,CAAX,EAyMXnM,EAAA6S,OAAA,CAA6BqE,QAAQ,CAAC1H,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAA9Q,OAA1C,CACmB,YAAnB,GAAI,MAAO+Q,EAAX,GAAgCA,CAAhC,CAAsC,IAAA7Q,MAAtC,CACA,IAAKZ,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOwR,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMtN,UAAA,CAAU,+BAAV,CAAN,CACJsN,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMvN,UAAA,CAAU,6BAAV,CAAN,CACJuN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB;AAAgCA,CAAhC,CAAsC,IAAApR,OAAAiE,WAAtC,CACI,KAAMlE,WAAA,CAAW,sBAAX,CAAkCoR,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAApR,OAAAiE,WAA1D,CAAN,CARY,CAUpB,IAAIoK,CAAI,IAAI,CACRP,CAAAQ,EAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO6C,EAAA,CAAQC,CAAR,CAAc,IAAAjR,KAAAuF,SAAA,CAAmByL,CAAA,EAAnB,CAAd,CAA4C,IADrB,CAAXjD,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBxN,CAAA,EAFnB,CADQ,CAIV,MAAOiY,CAAP,CAAU,CACR,GAAI3H,CAAJ,GAAcC,CAAd,CACI,KAAMrR,WAAA,CAAW,iCAAX,CAA6CoR,CAA7C,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CAFI,CAIZ,MAAO/C,EAAA,EArBuC,CAkClD7O,EAAAkE,SAAA,CAAsBqV,QAAQ,CAAClL,CAAD,CAAMnO,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAOkO,EADf,CAEQ,KAAMhK,UAAA,CAAU,2BAAV,CAAN,CAHgD,IAIpDf,EAAK,IAAItD,CAAJ,CAAesO,CAAAC,EAAA,CAA0BvN,CAAA,CAAaqN,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsEnO,CAAtE,CAAoFC,CAApF,CAJ+C,CAKpDe,EAAI,CACRoN,EAAAG,EAAA,CAAuBzN,CAAA,CAAaqN,CAAb,CAAvB,CAA0C,QAAQ,CAAC7C,CAAD,CAAI,CAClDlI,CAAA3C,KAAAgE,SAAA,CAAiBzD,CAAA,EAAjB,CAAsBsK,CAAtB,CADkD,CAAtD,CAGAlI,EAAAvC,MAAA,CAAWG,CACX,OAAOoC,EAViD,CAa5D,OAAOtD,EAtzGa;AAVV,GAAsB,UAAtB,GAAI,MAAOwZ,OAAX,EAAoCA,MAAA,IAApC,CACNA,MAAA,CAAO,CAAC,MAAD,CAAP,CAAiBC,CAAjB,CADM,KAEU,IAAuB,UAAvB,GAAI,MAAOC,QAAX,EAAuD,QAAvD,GAAqC,MAAOC,OAA5C,EAAmEA,MAAnE,EAA6EA,MAAA,QAA7E,CAAA,CAChBA,IAAAA,EAAAA,MAAAA,CAAoB,CAApBA,CACQ5Z,CAAM,IAAI,CAAEA,CAAA,CAAO2Z,OAAA,CAAQ,MAAR,CAAT,CAA4B,MAAOJ,CAAP,CAAU,EACpD,CAAA,CAAOG,CAAA,CAAQ1Z,CAAR,CAFX4Z,EAAA,QAAA,CAAoB,CADJ,CAAA,IAMhB,CAELC,IAFM,QAAD,CAELA,IAF0B,QAArB,EAA0C,EAA1C,YAAA,CAA8DH,CAAA,CAEnEG,IAF2E,QAAA,KAAR;", +"lineCount":86, +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","temp","ioffset","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","c","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","registerEncoding","ByteBuffer.registerEncoding","name","fromString","toString","ENCODINGS","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 4d4dc14..5306d4d 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -297,6 +297,22 @@ module.exports = (function() { ByteBuffer.isByteBuffer = function(bb) { return (bb && bb["__isByteBuffer__"]) === true; }; + // TODO + + /** + * Registers an additional string encoding. + * @param {string} name Short name of the encoding (i.e. "utf8") + * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding + * to a ByteBuffer + * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding + * from a ByteBuffer + */ + ByteBuffer.registerEncoding = function(name, fromString, toString) { + ByteBuffer.ENCODINGS[name] = { + fromString: fromString, + toString: toString + }; + }; /** * Gets the backing buffer type. * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) @@ -1398,46 +1414,22 @@ module.exports = (function() { if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; - // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - this.buffer[offset] = b = value | 0x80; value >>>= 0; - if (value >= 1 << 7) { - b = (value >> 7) | 0x80; - this.buffer[offset+1] = b; - if (value >= 1 << 14) { - b = (value >> 14) | 0x80; - this.buffer[offset+2] = b; - if (value >= 1 << 21) { - b = (value >> 21) | 0x80; - this.buffer[offset+3] = b; - if (value >= 1 << 28) { - this.buffer[offset+4] = (value >> 28) & 0x0F; - size = 5; - } else { - this.buffer[offset+3] = b & 0x7F; - size = 4; - } - } else { - this.buffer[offset+2] = b & 0x7F; - size = 3; - } - } else { - this.buffer[offset+1] = b & 0x7F; - size = 2; - } - } else { - this.buffer[offset] = b & 0x7F; - size = 1; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + this.buffer[offset++] = b; + value >>>= 7; } + this.buffer[offset++] = value; if (relative) { - this.offset += size; + this.offset = offset; return this; } return size; }; /** - * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number} value Value to write * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. @@ -1468,36 +1460,33 @@ module.exports = (function() { if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } - // ref: src/google/protobuf/io/coded_stream.cc - var size = 0, + var c = 0, value = 0 >>> 0, - temp, - ioffset; + b; do { - ioffset = offset+size; - if (!this.noAssert && ioffset > this.limit) { + if (!this.noAssert && offset > this.limit) { var err = Error("Truncated"); err['truncated'] = true; throw err; } - temp = this.buffer[ioffset]; - if (size < 5) - value |= ((temp&0x7F)<<(7*size)) >>> 0; - ++size; - } while ((temp & 0x80) === 0x80); - value = value | 0; // Make sure to discard the higher order bits + b = this.buffer[offset++]; + if (c < 5) + value |= (b & 0x7f)<<(7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; if (relative) { - this.offset += size; + this.offset = offset; return value; } return { "value": value, - "length": size + "length": c }; }; /** - * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read @@ -1589,6 +1578,9 @@ module.exports = (function() { return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; + var Long0x80 = Long.fromNumber(0x80), + Long0x7f = Long.fromNumber(0x7f); + /** * Writes a 64bit base 128 variable-length integer. * @param {number|Long} value Value to write diff --git a/src/methods/static/registerEncoding.js b/src/methods/static/registerEncoding.js new file mode 100644 index 0000000..905fd76 --- /dev/null +++ b/src/methods/static/registerEncoding.js @@ -0,0 +1,16 @@ +// TODO + +/** + * Registers an additional string encoding. + * @param {string} name Short name of the encoding (i.e. "utf8") + * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding + * to a ByteBuffer + * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding + * from a ByteBuffer + */ +ByteBuffer.registerEncoding = function(name, fromString, toString) { + ByteBuffer.ENCODINGS[name] = { + fromString: fromString, + toString: toString + }; +}; diff --git a/src/types/varints/varint32.js b/src/types/varints/varint32.js index 5db81cd..38ce60e 100644 --- a/src/types/varints/varint32.js +++ b/src/types/varints/varint32.js @@ -62,74 +62,32 @@ ByteBufferPrototype.writeVarint32 = function(value, offset) { var size = ByteBuffer.calculateVarint32(value), b; //? ENSURE_CAPACITY('size'); - // ref: http://code.google.com/searchframe#WTeibokF6gE/trunk/src/google/protobuf/io/coded_stream.cc - //? var dst = NODE ? 'this.buffer' : 'this.view'; - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset] = b = value | 0x80; - //? } else - this.view.setUint8(offset, b = value | 0x80); value >>>= 0; - if (value >= 1 << 7) { - b = (value >> 7) | 0x80; - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+1] = b; - //? } else - this.view.setUint8(offset+1, b); - if (value >= 1 << 14) { - b = (value >> 14) | 0x80; - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+2] = b; - //? } else - this.view.setUint8(offset+2, b); - if (value >= 1 << 21) { - b = (value >> 21) | 0x80; - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+3] = b; - //? } else - this.view.setUint8(offset+3, b); - if (value >= 1 << 28) { - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+4] = (value >> 28) & 0x0F; - //? } else - this.view.setUint8(offset+4, (value >> 28) & 0x0F); - size = 5; - } else { - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+3] = b & 0x7F; - //? } else - this.view.setUint8(offset+3, b & 0x7F); - size = 4; - } - } else { - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+2] = b & 0x7F; - //? } else - this.view.setUint8(offset+2, b & 0x7F); - size = 3; - } - } else { - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset+1] = b & 0x7F; - //? } else - this.view.setUint8(offset+1, b & 0x7F); - size = 2; - } - } else { - //? if (NODE || !DATAVIEW) { - /*?= dst */[offset] = b & 0x7F; - //? } else - this.view.setUint8(offset, b & 0x7F); - size = 1; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + //? if (NODE) + this.buffer[offset++] = b; + //? else if (DATAVIEW) + this.view.setUint8(offset++, b); + //? else + this.view[offset++] = b; + value >>>= 7; } + //? if (NODE) + this.buffer[offset++] = value; + //? else if (DATAVIEW) + this.view.setUint8(offset++, value); + //? else + this.view[offset++] = value; if (relative) { - this.offset += size; + this.offset = offset; return this; } return size; }; /** - * Writes a zig-zag encoded 32bit base 128 variable-length integer. + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number} value Value to write * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. @@ -155,41 +113,38 @@ ByteBufferPrototype.readVarint32 = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(1); } - // ref: src/google/protobuf/io/coded_stream.cc - var size = 0, + var c = 0, value = 0 >>> 0, - temp, - ioffset; + b; do { - ioffset = offset+size; - if (!this.noAssert && ioffset > this.limit) { + if (!this.noAssert && offset > this.limit) { var err = Error("Truncated"); err['truncated'] = true; throw err; } //? if (NODE) - temp = this.buffer[ioffset]; + b = this.buffer[offset++]; //? else if (DATAVIEW) - temp = this.view.getUint8(ioffset); + b = this.view.getUint8(offset++); //? else - temp = this.view[ioffset]; - if (size < 5) - value |= ((temp&0x7F)<<(7*size)) >>> 0; - ++size; - } while ((temp & 0x80) === 0x80); - value = value | 0; // Make sure to discard the higher order bits + b = this.view[offset++]; + if (c < 5) + value |= (b & 0x7f)<<(7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; if (relative) { - this.offset += size; + this.offset = offset; return value; } return { "value": value, - "length": size + "length": c }; }; /** - * Reads a zig-zag encoded 32bit base 128 variable-length integer. + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes * written if omitted. * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read diff --git a/src/types/varints/varint64.js b/src/types/varints/varint64.js index d9cddcc..665aa98 100644 --- a/src/types/varints/varint64.js +++ b/src/types/varints/varint64.js @@ -62,6 +62,9 @@ if (Long) { // ref: src/google/protobuf/wire_format_lite.h return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; + + var Long0x80 = Long.fromNumber(0x80), + Long0x7f = Long.fromNumber(0x7f); /** * Writes a 64bit base 128 variable-length integer. From d5ecf346b5a45555be5538a7d72f24fdcd2a2667 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 16 Jul 2015 20:11:31 +0200 Subject: [PATCH 71/91] Remove unused code --- dist/ByteBufferAB.js | 55 ++++++++++--------------- dist/ByteBufferAB.min.js | 52 +++++++++++------------ dist/ByteBufferAB.min.js.gz | Bin 8327 -> 8314 bytes dist/ByteBufferAB.min.map | 4 +- dist/ByteBufferAB_DataView.js | 55 ++++++++++--------------- dist/ByteBufferAB_DataView.min.js | 52 +++++++++++------------ dist/ByteBufferAB_DataView.min.js.gz | Bin 7677 -> 7655 bytes dist/ByteBufferAB_DataView.min.map | 4 +- dist/ByteBufferNB.js | 55 ++++++++++--------------- src/encodings/debug.js | 34 +++++++++------ src/methods/static/registerEncoding.js | 16 ------- src/types/varints/varint32.js | 2 +- src/types/varints/varint64.js | 3 -- 13 files changed, 144 insertions(+), 188 deletions(-) delete mode 100644 src/methods/static/registerEncoding.js diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 5ebc0b1..66b0376 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -312,22 +312,6 @@ ByteBuffer.isByteBuffer = function(bb) { return (bb && bb["__isByteBuffer__"]) === true; }; - // TODO - - /** - * Registers an additional string encoding. - * @param {string} name Short name of the encoding (i.e. "utf8") - * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding - * to a ByteBuffer - * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding - * from a ByteBuffer - */ - ByteBuffer.registerEncoding = function(name, fromString, toString) { - ByteBuffer.ENCODINGS[name] = { - fromString: fromString, - toString: toString - }; - }; /** * Gets the backing buffer type. * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) @@ -1599,7 +1583,7 @@ } b = this.view[offset++]; if (c < 5) - value |= (b & 0x7f)<<(7*c); + value |= (b & 0x7f) << (7*c); ++c; } while ((b & 0x80) !== 0); value |= 0; @@ -1706,9 +1690,6 @@ return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; - var Long0x80 = Long.fromNumber(0x80), - Long0x7f = Long.fromNumber(0x7f); - /** * Writes a 64bit base 128 variable-length integer. * @param {number|Long} value Value to write @@ -3235,9 +3216,8 @@ b = this.view[i]; if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); - if (columns) { + if (columns) asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; - } } ++i; if (columns) { @@ -3257,8 +3237,9 @@ hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); } if (columns && hex !== " ") { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; } return columns ? out : hex; }; @@ -3279,14 +3260,15 @@ bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); var i = 0, j = 0, ch, b, rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? fail = false; while (i': if (!noAssert) { if (hl) { - fail = true; break; + fail = true; + break; } hl = true; } @@ -3346,7 +3333,8 @@ case "'": if (!noAssert) { if (hm) { - fail = true; break; + fail = true; + break; } hm = true; } @@ -3359,7 +3347,8 @@ default: if (!noAssert) { if (rs) { - fail = true; break; + fail = true; + break; } } b = parseInt(ch+str.charAt(i++), 16); diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index d3a0159..3d1891d 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,14 +5,14 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var k=c?-1:1,p=a[b+e];e+=k;c=p&(1<<-g)-1;p>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,p=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+p/f:b+p*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= +null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+w.apply(String,a);1024>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= b&255,n+=l,b/=256,e-=8);d=d<=q||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=q);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.n=function(a,b,c){g.j[a]={fromString:b,toString:c}};g.type=function(){return ArrayBuffer}; -g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof -Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +typeof b||"string"!==typeof b)d=c,c=b,b=void 0;for(var e=0,f=0,h=a.length,p;f=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& +(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ " (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); @@ -33,19 +33,19 @@ if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an i this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);y(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; -f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);y(this.view,a,b-8,this.littleEndian, +b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; +f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian, 52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a),e;b+=d;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;for(a>>>=0;128<=a;)e=a&127|128,this.view[b++]=e,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};f.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[a++];5>c&&(d|=(e&127)<<7*c);++c}while(0!==(e&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64= function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64= -function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},k.fromNumber(128),k.fromNumber(127),f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var q=this.buffer.byteLength;b>q&&this.resize((q*= -2)>b?q:b);b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this): -d},f.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&& -"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++], -f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!== +function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b); +b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag= +function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&& +(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128|| +this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!== typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]= 0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0=== e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+= @@ -54,7 +54,7 @@ typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)t this.view[a++]:null}.bind(this),c=s(),this.noAssert);c=c();return b?(this.offset=a,c):{string:c,length:a-d}};g.METRICS_CHARS="c";g.METRICS_BYTES="b";f.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength; b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};g.calculateString=g.calculateUTF8Bytes;f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a|| 0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var q=c+a;l.b(function(){return c>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a),this.noAssert)[1]; f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ @@ -73,20 +73,20 @@ a+" (not an integer)");a|=0;if(0>a)throw RangeError("Illegal capacity: 0 <= "+a) b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength); this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer= function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, -c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+ -a);}};var z=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]), +c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+ +a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]), c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; -return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;z.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0 -e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,m=!1,p=!1,r=!1;e":if(!c){if(p){r=!0;break}p=!0}b.limit=f;k=!1;break;case "'":if(!c){if(m){r=!0;break}m=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&& -k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&& +k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15| +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15| 224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e& 7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b, -function(b){a.e(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| +function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| 0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return 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 E0O_4TivR!s literal 8327 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 32 && b < 127 ? String.fromCharCode(b) : '.'; - } } ++i; if (columns) { @@ -2962,8 +2942,9 @@ hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); } if (columns && hex !== " ") { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; } return columns ? out : hex; }; @@ -2984,14 +2965,15 @@ bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); var i = 0, j = 0, ch, b, rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? fail = false; while (i': if (!noAssert) { if (hl) { - fail = true; break; + fail = true; + break; } hl = true; } @@ -3051,7 +3038,8 @@ case "'": if (!noAssert) { if (hm) { - fail = true; break; + fail = true; + break; } hm = true; } @@ -3064,7 +3052,8 @@ default: if (!noAssert) { if (rs) { - fail = true; break; + fail = true; + break; } } b = parseInt(ch+str.charAt(i++), 16); diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index cd326e5..d9ee2a2 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -7,20 +7,20 @@ function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= -b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.n=function(a,b,c){f.j[a]={fromString:b,toString:c}};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c); -default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a); -c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*= -2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c= -"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8= -d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== +a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes= +d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&& +(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ +0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readUInt32=d.readUint32;k&&(d.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeLong=d.writeInt64,d.readInt64=function(a){var b= "undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.readLong=d.readInt64,d.writeUint64=function(a,b){var c= @@ -34,15 +34,15 @@ a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndia a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=f.calculateVarint32(a),h;b+=e;h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;for(a>>>=0;128<=a;)h=a&127|128,this.view.setUint8(b++,h),a>>>=7;this.view.setUint8(b++,a);return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a), b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,h;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(a++);5>c&&(e|=(h&127)<<7*c);++c}while(0!==(h&128));e|=0;return b?(this.offset= a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64= -function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},k.fromNumber(128),k.fromNumber(127),d.writeVarint64=function(a,b){var c="undefined"===typeof b; -c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, -!1):!1!==a.unsigned&&(a=a.toSigned());var e=f.calculateVarint64(a),h=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?d>>>21|128:d>>>21&127);case 7:this.view.setUint8(b+6,7!==e?d>>>14|128:d>>>14&127);case 6:this.view.setUint8(b+5,6!==e?d>>>7|128:d>>>7&127); -case 5:this.view.setUint8(b+4,5!==e?d|128:d&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,h=0,d=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++), -h|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");e=k.fromBits(e|h<<28,h>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -var e,h=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;l.c(m(a), -function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+ -a+" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"=== +typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e= +f.calculateVarint64(a),h=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?d>>>21|128:d>>>21&127);case 7:this.view.setUint8(b+6,7!==e?d>>>14|128:d>>>14&127);case 6:this.view.setUint8(b+5,6!==e?d>>>7|128:d>>>7&127);case 5:this.view.setUint8(b+4,5!==e?d|128: +d&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,h=0,d=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g= +this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");e=k.fromBits(e|h<<28,h>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,h=a.length; +if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++, +a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+ +" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); }var e=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+ " (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,h=b;e=l.a(m(a))[1];b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]}; @@ -68,7 +68,7 @@ if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer; if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, -c);case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4& +c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4& 15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.g=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61=== d)break;else e(d);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0", -e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,k=0,g=0;kd||255d||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224=== (d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null}); -for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== +for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aKlRa{%l;YjfI2 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 VyV|{d{#}Mi>t8~XE5K)=002Yw&wBs> literal 7677 zcmVKlRa{%l;X>;02 zw%_$DF!jcz4sC)kn~`P4S?-%uWs<4H$$N7%o>Z&VAg+l-fkXm z6@Q!4@WiNndiLSf>lf!5_UW_QLG2l#7t>%;bH%G+?R2pq-{tSPc1kH*E<lz+;PATP&wxP-{0^Ms3O1u;xe6d^vpj zbTWuiie*_GTO|Y95Qobhb2}JT=CvfJVHi$h<(8$**u@lG)_Ehw z(|~z($8n_8t|L9r|;jte0PTI>Db(Z7LhBb#lN>s2#Wkg_^tMi1QYghu?QDt{nc#7CS+El z1V}cGzSoiMI(vJrP2n$HNB(r#l$>x{P$?O$h5`GgGsPsx7GPh28ww~`&1M2F=8~xu zq`<@Rc*!DYn|S&{78lHWE8iVh^5ty$Wg0moeu$zOdl`6B5;z(u_ENfypy9(kg&c&Z z%OzVxq8|yPzCd#?zmi4Gg_;*ES}lNi>PHh@syFU2Y0g+MiTn|1QlBiIgJ_&arrT(s zp}~8%PK#WcvP9y1I>#>jDJhrJpHpTrS$$zav{a>|xW49Z;WRMob=3IUB=h;~yZJs^ zfEHjNuGMOHlJ+$6MQ~YZ&R0v{EMOuWV>vBk3zjwKi!cf~y#$WJAUG)%LC2aOU%q?) z>g^k+-f6a)t-3vKzJ7If_WGrgL}#xBub#d7@8sFCi^A<#Jv%SMj*ey*g;tjIIt(Vx z#nlz3v&|{%0bbH@`>p#Mqft}x{~wER4ov=Tdbs}i^K_Xi@8{2T41Afb*l@3fSpfZ8 z5O)So7N%h^o=#Tr^BRe2R!&~DTL^!3Bt4tsMfl~p5(V2BH;FPuPEmYfsb529$ZQr; z60sCaSqcTqtBkD&hli#Ccn%sfAwqRG48hg~x~;gnsxL(YbwxnTp_n=@h~w9A>eYZ> zpzOSlAPU%n&%}vk1J7;mcw#pi9vU}w0-EHLcaE;E#Q(s7ZwoRP-?0m#HFx+|siFts zt5j&*I-Y|}`VD6;Ob{3QM9yVrTcSf?XXK+VADMXkFb$%CU;&7AY%h4@q0yq9i1LaX zjdN%LRn^m^?h|JY4Q5SvFwIU&ivEOw7cN&nz_k20xr4A;l&jNio`(>bmc+6c*axgFWI|*b!*T`xX z4W$EBzVkz{T+Qd?oX7*C+bV0 z3j7T;N7jL3ozP!4K_nHK8qQWmT6!Mpm>xZCLykj0a6f4>p)0*-mc2 z1h-6z$tQZQ+H|wfq^8JgE*SB+^ei(o?^$%YM;RFYpKxaLBw-hKN}Lo%kFA4XcWf5Y{zih)OI}V(A81ONW)#i1jDB2I0hGX0$1`a>k#<%nf!FvkW%0 zav2%m6QUPpX)Kc!f%FGpAO8uMH>}3yKvp@v_yImeQ##O0sp78UdctU|dAbTCYCKxe zhcFJZwGlNQt?12G^n)~)87;zTpi*i{e{Mr+{P`_u>rR%mwV5SNIG^$w#aYBJvylA2 zOmi!PSCjZfGiN-Q@!lQgm5P&hPb@`2PF6ltdQ+5^$8n+!Gs~Dgw@xi%wrG6FaO|EF z%bhFn!x{y9=9Z=%IhDtmrSK=4p%AGMMDzm_>BGHf)usNyI%w`ta%61@sqRH!X%c?+}gHA1KHgZZZ_DJWBOd)z=rjoP{bGX zufO@z88bOe#cuTS6RG%} zj=IBM@;e>%hl8Q?okv5fwZ>WH2T~c^(n<`FmXK?dCzb%*v$%RUSE{purkr^1W#3WC zWl5UXY#f;uYW~ixt41xecZfKd5~`uJFH&Z1!S?&@N|wt>pGe@D7tObCULp;*8Gsdv zn2Ge4Yn*8=*XI12KEfGiuw9yDJPsW{xS`|CW!l(Gs4D^~o+dybm9vE2MwU?Q2j0LE ziXe^GKd%nd=D9#^t^&1r5~!&yqfG4wwOYf{(CY|Kpwd2s^m3QxQ90NE9|6VKXu_ks z;Y9dfi7+Tf=;MJv@SyazC9vdI4Ygm6+Qa<>)#@auR!2kam7{iXFG1}mn0<+82+VFd zW(RjAro_^!>XaiK;*LP@(+>Li4jz`Hw(((tsygWBJJ>EqwQxH@?I)Oh4bdt^#Fj*p zC<1(48gPT`B@uVt$ZivHgQDb}uGm3~;sNZ^sO265ZsX4%aT6JFC#MVWPerf{kU~j$ zWBHc>(C!*wh^Z%WOpUjLw>n!Qw5<&geA)a>Ah&G0;cwe`f7`};8#mr7HXbGaGW+1= zX6;(|l`SA&s`H~9F4R{1XbDM?4{aM@ZVWnC9()(mOcnW0Y5GGBAOXthW=R5M7BV2A z*oYstAWF%xJn{ooZQq;OutH6!EzJFLAC z1LF!!9;X4?YO`a$<(#4Ta2oxj8-}hi6r#}QVGt1@Xzk61*RKyaDxncuEFWm3=R30| zG5PU9=#zEM10la**>{-X=jgL06-DAq&R01OwQjmo$W??7L{-C8t(%6c{CF&(D7KHo zN;f$k9 z9j9=7c?OrSiwrp4r75TJD~&JY7sE?wDTeTnvB1fa{+*b+dopeh(DoQ==-kD=othz> zC7v=$orbTD%&Ig@Ud}Li$}oA#F!3TvSCC`BbQX%QDo703E$kQ&)a4mK11i3al5iqA zoPIo2f+B9Rf9?TGc0>Hc7SQ;~))%BB>jcxySFw|L(Fw#g4Vt%{aV&N0k1C9sIFcu0 z#i+1iS(4k-p=PyNqp4A&sYzqv?5w}PJbU-*`TNh$|91NBy;G-k?VTLbuDkVQ6U5ms zgZs384{ps-9MifGD&+$xc2`Tq?qqjvvJ!r}zg%*>AOrf0Ie*KK2V9m-Pp3U^ov-s) z`6HT2uq?nbG_+U*OA3lNhLj7cIHI&LX6cGEMD?@Yq{AscaMWf3JR{E6o@1KPu-zI= zrOUV3?MY?vbTh@G<;7D?v7kV@1I3~l#WJqdEIHmn@kBULpnRU#mlJL*K~2UbR@Xl! z`}_1bjV;S;FfFygy0kVRUYIo*h}Q(I1$%wYw%fRJKX&EX=~`L!gudz_>Ld+O>4CRi z7swziIJ(?a=I%!*?tX-sLAN`@Z0y;XcYQ|Vm97`^Mb_b|RA*8hKumH0 z#6$%U6BR)4BA}#_B{@Ebz;3b{zv0~~_1DuHUd9$_&Bw=qo$Us8$`;P>M2BZDG#-tW zpi~YH^Lf<3!@}?-6x~;WMd-TDvYv3MnyZC_MsQqoSQVh`KAc`~=EEfU<7> z0*o77K%z95DZfFnaU&K>MTRMPpWXl7kUhOn4L~6W|m{TuEdG6{$EH#SzNTy=vLiF};dV6^%66A5s9W2x{3V z75*W+(lX=|vX$7#9_6Gb5t_2Hk~o%aFQm(GwV*6ln;1B{Rz_tC%?@a6o+q)eLi*EW z!E&`=&sD4ispzC=HAyzo*wA>&8xfH0<%3G7A>gJ;e~~kJ*;bW=S{2b-dcD&q6HdD# zoF*f8NYF5@WIUbC3Q5#8xsZ&HbE86~yBIRJZIJB3n-;p+EMIHB<%M9zecA8(J^8rG zJGj?)hfUJRa_>NM17IS7ysLLe^qX$t9o&;_I3yNl+3qp5QT2ATTpm_P!weAK*>qmW za|!`cF3iYj8Fvx69Y*DWMaHm_|M1XJYez#zH|GDvRIrevh6^uu3si}ZOm6ksXpC5Q z|FN%(3xMpPcvaqBF?D|ZvY2V#e7znSK~clKf|xwJZE1wx)t4)5zF?1oS38&~`cb1- za^T8U(ZjJPJ!If)HfquE_zY7nUI>sq*)EW%8WM4{$yrd9oCTSDtKoPX=V}0pwCs$d zQuwnLJE;mi%Upsvx&5e|7}ZNg=3++KM$RuBl#I_Q{VExtQ@>P=(9QY4xVRE6yQwdJ z&{bPRH8c#CV3wM*a3Tk~)eAnRC|eodoMoa${a?Ys-T(b7Py!!?^71x*=9Qcj`9h{a zW=bSGSSTf3qn*U!)YUM`q#`>oU-%i94H(K8v(oR%sPuZbahGGu=p~kcr1mYcz0}J+>)p?;yUHmHQph(LahlxMbds{izRz7!zIQ8A1@I;CVz9SVxqio zZ~LLTqM&5#a!z8F7kVH~HeX7zv*k-`Eu~c+${=NfEpZl8LEUTk6}O|Mu}4)^uQhZQ zR&g$qjudFfuhM%QqWpm>XKbN!+7!5$xiTRxO+pJ>U5uMDm2!?oVaW}*1v!n^3Cr;0 zKCY46`9Ogj^!q7?3ikNO5jT$e`*fq37xk-f60Sb)va*YwScH^SzIa0;%QH1?{}GXr zqSfN0k|TbqSfR?fS85(q2kPnI@aeP9i5XWio3mdy6MU&3GckM}OA*(%*}%(Wf?2(f zpLw{7>UPQ2f4Pj-A@PmJ@kVzNUwoXoiC9Id;woZSyVN*)IkJLMw^(9zlfkOCstDBK|e7F`l<2OC7jxQ%C&gB|1_fNep z?)7l5k9z~$JHq`I?pwIu#{EOw@8EtH_j|bC$Nd5BAK^g@4=g-rwbnu{y2R%IK z*PZvHt`1Ij3fDgb~0A~T51#lL?Spa7N zoCRwH}!Xi6W3J)6&s^0S1PL-<(`h?;; zy(Zf~M90S+oCO@2-jxGzoqYp(!ja&Gc(%Go!-c2g<8}c#Md(5C5?<6SzM`Q3@Z$G9 z3zfZ7zpSB$`Nfv;Q;o?XBu$o*WFy{TTH{-BV`+*><6$3<6XJM^ID9R#L;02UrS`<% z-)E+Wa2Ac9Y;+CMSRuJ4-`C7f#kexZ`<(#-V&;oN=u*~iSD7@Qx3Ooz3lF&qMlR$b zEW8HWHKAa^kdCaz-|w}cnzjgcay4C!udisFRAiLaxo$U}6Y*iNcFP$6EW#?=1blET9>!$M= zg9x@i(33==dkvO^lvuI^B<7C(uf1#OO&kfrcYXy}8jpKv7;GNN*f`N@q?P8dGp9YF z9BkS+UcgC!S%qN#_pR!OAB};`C@bwD7lYgG>gq?mKDW#2REG#(_w?t)CgZUBP(6H? z!MB1)48v14P`VehI}bz=JcIt@kL|s6LL>>gL8EE0z1cKdRwQZ&ubi)uFY>`OZr@z( z=p(|nUO7eYEk7A(+#UZ-f67hQkoOd}K1#{k)eH338H8hwLcj!do%__l~pMz|mBiD}~N6Vmzh#`X*R?}@p>F`r4wc z%Ep!=^^DrB3@g35m8HqteHk!r>xUG zNob~XdBoxw1{>&2YxFc?RZ^}yZEq;#6io3P7L_q~9ZEYpnZ^1V!CLlvMah9R>j>)Uc z2FE}ISP`+(h=iKrPC;?U1iLaoiF~?1`)m47uu6d5ejPrngpptp&XcAN7F1_*fy|%D zb_@JS*b|d#@>vniY&s23dLBRD=QfOCJK44Gqvu@>9Xt8^;0L={*k1~4pA4>QB3G4 zc1cGS$=1?`vL{^@nk$6PE@(= znD#hxoDoMEvEbUg%AC;vF-CEHGR%0!LMjPW&&w0hubeKlKG*R`o+cchVOj$k^b=5B z&))?ASEL^olNMC=wBWR)!8-EGobvo8aLT!~ZvDU$lO9%K%mw;XO+Y3(#ugK480QGu zscg+KKH?IN2f>~A3hF%O=UFBw z(pb^t2&L^H3OeB!ViwoQk0k5P==u`%@_ebaMwhBRo*eVKXbxMBRm;n=<#Xu^gUt?2 z9ZrKQEiz^9Nzh#^{&L~Uf9#gIVtU47=ksLhL%=h>8jglH_)iCw$CIHmnEI@^has$v zLHKW0)Z-LLm-YBPAlICCA(t1bqg7$}%iT_@x~B7arZcIJ!G3 z?q0bKK$rSP4c967i5j6r@B=lYoUYxb2z$;!JJtEQ>^uZlBALG=HZO?Hk(ko3ET@56 zWl?3#LYi84dFqt8Cn=v~QyJJ9Fm{(8Bj))0@J;aY);nPS=AM|q%Xgdo;Z%-*pT^8{ zFeMOCGd>3a4$H5km%u)BIQk!!etiXoKU!69iOfk&#T~37`A27f89xMUeh+ijn0$k2 zp3c33&6)Id?n_Bj{}vc+mHSjni4bewG{tW}STiF2S~CMbT43DKUF8!B4HP!f(~o2W zB#u9_vVLGcR&b^M+mD{{vG`UfhG$=t(mj3Qi{!PeOza?&riO8C3ly?y>&2Cwxm0jL9-!Jz;EP*L)A diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index 4f74e51..94e8af3 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":86, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","registerEncoding","ByteBuffer.registerEncoding","name","fromString","toString","ENCODINGS","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 5306d4d..6930e87 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -297,22 +297,6 @@ module.exports = (function() { ByteBuffer.isByteBuffer = function(bb) { return (bb && bb["__isByteBuffer__"]) === true; }; - // TODO - - /** - * Registers an additional string encoding. - * @param {string} name Short name of the encoding (i.e. "utf8") - * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding - * to a ByteBuffer - * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding - * from a ByteBuffer - */ - ByteBuffer.registerEncoding = function(name, fromString, toString) { - ByteBuffer.ENCODINGS[name] = { - fromString: fromString, - toString: toString - }; - }; /** * Gets the backing buffer type. * @returns {Function} `Buffer` under node.js, `ArrayBuffer` in the browser (classes) @@ -1471,7 +1455,7 @@ module.exports = (function() { } b = this.buffer[offset++]; if (c < 5) - value |= (b & 0x7f)<<(7*c); + value |= (b & 0x7f) << (7*c); ++c; } while ((b & 0x80) !== 0); value |= 0; @@ -1578,9 +1562,6 @@ module.exports = (function() { return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; - var Long0x80 = Long.fromNumber(0x80), - Long0x7f = Long.fromNumber(0x7f); - /** * Writes a 64bit base 128 variable-length integer. * @param {number|Long} value Value to write @@ -2973,9 +2954,8 @@ module.exports = (function() { b = this.buffer[i]; if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); - if (columns) { + if (columns) asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; - } } ++i; if (columns) { @@ -2995,8 +2975,9 @@ module.exports = (function() { hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); } if (columns && hex !== " ") { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; } return columns ? out : hex; }; @@ -3017,14 +2998,15 @@ module.exports = (function() { bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); var i = 0, j = 0, ch, b, rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? fail = false; while (i': if (!noAssert) { if (hl) { - fail = true; break; + fail = true; + break; } hl = true; } @@ -3084,7 +3071,8 @@ module.exports = (function() { case "'": if (!noAssert) { if (hm) { - fail = true; break; + fail = true; + break; } hm = true; } @@ -3097,7 +3085,8 @@ module.exports = (function() { default: if (!noAssert) { if (rs) { - fail = true; break; + fail = true; + break; } } b = parseInt(ch+str.charAt(i++), 16); diff --git a/src/encodings/debug.js b/src/encodings/debug.js index 8155ab3..939311a 100644 --- a/src/encodings/debug.js +++ b/src/encodings/debug.js @@ -38,9 +38,8 @@ ByteBufferPrototype.toDebug = function(columns) { b = this.view[i]; if (b < 0x10) hex += "0"+b.toString(16).toUpperCase(); else hex += b.toString(16).toUpperCase(); - if (columns) { + if (columns) asc += b > 32 && b < 127 ? String.fromCharCode(b) : '.'; - } } ++i; if (columns) { @@ -60,8 +59,9 @@ ByteBufferPrototype.toDebug = function(columns) { hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); } if (columns && hex !== " ") { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; } return columns ? out : hex; }; @@ -89,14 +89,15 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); var i = 0, j = 0, ch, b, rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset, markedOffset, limit? + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? fail = false; while (i': if (!noAssert) { if (hl) { - fail = true; break; + fail = true; + break; } hl = true; } @@ -156,7 +162,8 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { case "'": if (!noAssert) { if (hm) { - fail = true; break; + fail = true; + break; } hm = true; } @@ -169,7 +176,8 @@ ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { default: if (!noAssert) { if (rs) { - fail = true; break; + fail = true; + break; } } b = parseInt(ch+str.charAt(i++), 16); diff --git a/src/methods/static/registerEncoding.js b/src/methods/static/registerEncoding.js deleted file mode 100644 index 905fd76..0000000 --- a/src/methods/static/registerEncoding.js +++ /dev/null @@ -1,16 +0,0 @@ -// TODO - -/** - * Registers an additional string encoding. - * @param {string} name Short name of the encoding (i.e. "utf8") - * @param {function(!ByteBuffer, string, number)} fromString A function capable of decoding a string using this encoding - * to a ByteBuffer - * @param {function(!ByteBuffer, number, number)} toString A function capable of encoding a string using this encoding - * from a ByteBuffer - */ -ByteBuffer.registerEncoding = function(name, fromString, toString) { - ByteBuffer.ENCODINGS[name] = { - fromString: fromString, - toString: toString - }; -}; diff --git a/src/types/varints/varint32.js b/src/types/varints/varint32.js index 38ce60e..60b39d2 100644 --- a/src/types/varints/varint32.js +++ b/src/types/varints/varint32.js @@ -129,7 +129,7 @@ ByteBufferPrototype.readVarint32 = function(offset) { //? else b = this.view[offset++]; if (c < 5) - value |= (b & 0x7f)<<(7*c); + value |= (b & 0x7f) << (7*c); ++c; } while ((b & 0x80) !== 0); value |= 0; diff --git a/src/types/varints/varint64.js b/src/types/varints/varint64.js index 665aa98..d9cddcc 100644 --- a/src/types/varints/varint64.js +++ b/src/types/varints/varint64.js @@ -62,9 +62,6 @@ if (Long) { // ref: src/google/protobuf/wire_format_lite.h return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); }; - - var Long0x80 = Long.fromNumber(0x80), - Long0x7f = Long.fromNumber(0x7f); /** * Writes a 64bit base 128 variable-length integer. From 95849ea268c6f908591ebde1f5e8828ca517b80b Mon Sep 17 00:00:00 2001 From: dcode Date: Sat, 26 Sep 2015 19:13:04 +0200 Subject: [PATCH 72/91] Use Long.js >=2.3 --- .npmignore | 1 + bower.json | 2 +- dist/ByteBufferAB.js | 83 +++++++++++---------------- dist/ByteBufferAB.min.js | 29 +++++----- dist/ByteBufferAB.min.js.gz | Bin 8314 -> 8342 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferAB_DataView.js | 83 +++++++++++---------------- dist/ByteBufferAB_DataView.min.js | 29 +++++----- dist/ByteBufferAB_DataView.min.js.gz | Bin 7655 -> 7679 bytes dist/ByteBufferAB_DataView.min.map | 6 +- dist/ByteBufferNB.js | 74 ++++++------------------ package.json | 4 +- src/encodings/base64.js | 27 +++------ src/encodings/binary.js | 73 +++++++++-------------- src/methods/capacity.js | 1 - 15 files changed, 154 insertions(+), 264 deletions(-) diff --git a/.npmignore b/.npmignore index 8305ec6..fe024b6 100644 --- a/.npmignore +++ b/.npmignore @@ -1,3 +1,4 @@ node_modules/ npm-debug.log +.idea/ ByteBuffer.png diff --git a/bower.json b/bower.json index 235d0c5..62b7f55 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "4.0.0", + "version": "4.1.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/ByteBufferAB.js", diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 66b0376..40546b4 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "4.0.0"; + ByteBuffer.VERSION = "4.1.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2371,7 +2371,6 @@ ByteBufferPrototype.capacity = function() { return this.buffer.byteLength; }; - /** * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. @@ -3052,6 +3051,7 @@ * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. * @returns {string} Base64 encoded string + * @throws {RangeError} If `begin` or `end` is out of bounds * @expose */ ByteBufferPrototype.toBase64 = function(begin, end) { @@ -3059,16 +3059,9 @@ begin = this.offset; if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } + begin = begin | 0; end = end | 0; + if (begin < 0 || end > this.capacity || begin > end) + throw RangeError("begin, end"); var sd; lxiv.encode(function() { return begin < end ? this.view[begin++] : null; }.bind(this), sd = stringDestination()); @@ -3080,19 +3073,13 @@ * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ - ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); - } - var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + ByteBuffer.fromBase64 = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var bb = new ByteBuffer(str.length/4*3, littleEndian), i = 0; lxiv.decode(stringSource(str), function(b) { bb.view[i++] = b; @@ -3134,28 +3121,24 @@ * @expose */ ByteBufferPrototype.toBinary = function(begin, end) { - begin = typeof begin === 'undefined' ? this.offset : begin; - end = typeof end === 'undefined' ? this.limit : end; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); if (begin === end) return ""; - var cc = [], pt = []; + var chars = [], + parts = []; while (begin < end) { - cc.push(this.view[begin++]); - if (cc.length >= 1024) - pt.push(String.fromCharCode.apply(String, cc)), - cc = []; + chars.push(this.view[begin++]); + if (chars.length >= 1024) + parts.push(String.fromCharCode.apply(String, chars)), + chars = []; } - return pt.join('') + String.fromCharCode.apply(String, cc); + return parts.join('') + String.fromCharCode.apply(String, chars); }; /** @@ -3163,22 +3146,20 @@ * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ - ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - } - var i = 0, k = str.length, charCode, - bb = new ByteBuffer(k, littleEndian, noAssert); + ByteBuffer.fromBinary = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var i = 0, + k = str.length, + charCode, + bb = new ByteBuffer(k, littleEndian); while (i 255) - throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + if (charCode > 0xff) + throw RangeError("illegal char code: "+charCode); bb.view[i++] = charCode; } bb.limit = k; diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 3d1891d..5aa931c 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -7,7 +7,7 @@ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= -b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& (d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]), c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; -return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;A.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0 -e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"):b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&& -k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15| -224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e& -7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b, -function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return aa||b>this.capacity||a>b)throw RangeError("begin, end");var c;A.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"): +b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| +b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; +b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& +56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c= +0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); +}var c;try{l.b(function(){return a}m(|f9S&t z3A@lpEImIeBX#CtmW*&ZjR=luMkpO~V%YG`#91?XXd93hsKKroA~d`xg3uyl-d0OI z%=L9+!JDYM9n(j|BFF=k{uoVsy~9<4^^$^?2JrtFB}i<|++Z+vo6W!+wN(}x_+4-T z_Q(GP8GM@K8UJm00OT{oehP=!f8sxd`?NZP8Q2Hl+bo4PYUX;|;XML-7nf9AvKB(i zcw+zxp~`0S0$xMpJ4pJ1Lo|a{dECLb;f_J%&npje*PfEfvS8ZsPWFqp&yx;4x#@aY z5Rf=RCKZ(}ifj@oZm~`p5LMxJQ46_HnOG_`MbR}z#rRtx_zLlEZ)-+Tf5M#E39S<9 znTt=8n2e1TkzL~|4*CsXjro;8;Hoz~_`Bb0II^8W`=9fh&@KW_hLery=K{@d^s`Ff zO+q~XQmlvHRLS`3^F(jYf9vrQ_YBZ zQ=_|Nyzxcv7gI>24Zyx8BqNL~3Qw8{r@ZzVuRqNvV4;H9EW4ngpWHnGwfYtb+(H0Y z2mr4VfCyJ~&W$SmYf0+-z2w`uBl&jL$<}Kkkt9d~muR4EfByD1e>SI!$zRkkd=|4G zdPCpwl!X7C*RsJb%UWTlTETAT6ay*hAdR!28A*a(J(}Wrd_3je^db|SR-+kMksQ>B zoA#|G$KTYn*GW!xo3kEYxR67LPzZjQoGUE@@{Sg?2)v0`FBGi8BFco2$cejvM`Wv+ zL~d`a+LN^=e_9~yQc(%1HAVG!C{Yv&!ER!b3D;9bEB@2oe@sUCllo7MnPm4? zCh4`Hg3_q=&`?aZ38o6jzQ5P)cTDJN-%=ie6|(^*(=l>4Yw1~KqD0yFyVb`3W(>I; zQdKW=);TqNY{uWcE938O5<`<@f+H_zlEVdyT&ve0f33lw55mn;!M!q}>F#z9_IVgU zw)sz!PYJb*{k^^2y%wns1u~(N1a}gFr!rQ9fyV_rcNh&+rv^VX8u;m<=dFYoRsEF6 z<3Xa2_Wj`JL7~qk$dbx4lb{mQ>~53=z ze(8xVf1dP<4{Cs@rhdD&{%%eEys-5zwYQ^Yu4zFcd!3j4I(V#QgtWl-#8pm^O`W?F$1{ZPZL z$AyXa9d12jP}H7Ku|msB;T%(FRlSvP?y(}HfA$28)zElTWK_dNt}mH}xR+2abFBNl zdxb}JJ|Ck?KK*^hAFFWNE7vM8`$<;P1Jzf)98~$;otFOG~NK%{aRr6Yk}Rb26nNg ze~h`LA|TV+m(bdm(CU}aD(^vSy$7xJ9<}mdRJVpxob5F(s-JgJmc$gk z3QolrD-Fy5YqZB3x%cnLJ@q$qPiz(CcXCk{W-8=YRqR()>=!EbSNOhst(sj~ZMULY z=KTC>=O@~GFJ2Y%#Wj}(TUfkhS9saJe=^M^Ra>fjs^yjvpZ!q(`jFhK_T*o`lYf0s z?p1s8uXpQT-^!p}g%~Rf@N;omgO zah&g)e4#GN|Evk-?MLx}ny;bzfx`xRQE?RBmG`tT-EhnLZnH>D`A z9IEv`$N=ZT#W(A%SBPb$>y>OzMWV>S9kqWy`rr3|9KAj{JKycTfBuj2<2Pu}vZ?~z1_Xu-acIQ zoIUob*e{}wuq*am3&ESOX__3=HD&02HX@= zi(CiOempG~y+6d#HiRsJRux*tK2@VEf%aWmk7l%hW>lgXmC3WuKjxG=e+tSuK-e`Q zhu*fk2iI_&%iWrgAX=REz%AUz=}gQ}H814x3QWf@Y1cowdKPp{0mwYHQM3g9rJk8s zY=z1`aHQ0J+=n1aDhL|nM_)@F-`e70*-`!e$#)U$NhlzQXQU zB{MEg5Zv+bny>(nQ3T1P!94?HxVXI-PlEXMWHgT7hKtDvY{LNVf2(AWvR0Dq?dQp4 zzdLN}7WhMk!m)Wn=IGdF5t)PYz`^yT<0Jez8SXjz>2oqXaQcpLkiR%~XKCeaz7Pj( z!YVePUB#_okyo5>%Vt*HzLI_AEM>fVBf4&8QWl&!r9o`iX8SWkP=#5>{;tWmlrqiC zx*~MuCSt$ezT~Bxe|8FozH!-pb#`njW!oWuPfQI{y_pWzrHcJD3s6p@wEsV|0C%mg zHGvS@=fLEn{wl}?8-X0(T4Mu{<3SdC|ExaHniT@AnGCdMEYQ+;q$Rg^@a5hOcE?eJ zs9!GFE=Y$5+qT$9;g{Ug{ssC4IOGqC*;XJc>$7{`TH)&Yy7uksqk<=QP||NFdfvAf5caMEHf_aMe}a5N8ireth!p^;A`vr6nHWbm zlWoVuYs^JoHOUw&QkRVJ>at`koiKYLf{k0oq&x)Sv4-4YrUpi{ZJ@OEqwqlN=x2QJ zU6vCYY_W-2e?TEo_RVAmNOe0&-&_HgywVp@7-L|le)jhCw8e^I64UwOCmr0UXxhdG z+oRKbe`jB?pp7#;wr-HLOVm;x@XCfn zkVeIRwp7&+2sRdm$=3nYA}l04&Q}2k4qW75e>VMI>`pLkEri_+!G1=75gDjwQ8$Ac zE6+O#JX)_w<%XEG=o1vsCy?k9BwzkO73R;Ccp|J_gFU81lHWddYPCJ zld$3OD$F&&?6v&#bGr?pS$kSXp-eB}NB+SPPS*NB$k!xAFOx)>13J|5E`aZQn1g)6 ze<43Fe3u|%)cXLEc>t2(zrSQtyT2cwzdm{K=KYJ`j$Xe(4bo8ViOGhB*GNC1JO8zR zpRVGkgn5W7Jcu2O5v9Kx)wT7o?%xFY*5MS*cHWVKE{a}Vr@-#A4U!jCYXY(!cP^I2 zQpJrhD@xh${h{bbe4>(_B_SZ3kNHC6|0%Pd_ zZ*P-97IqIadm)v8tLkVIBB^Pcf>w>qC6_8?!n#QaL6ZRCW{t@Md-s$&y5}GexrN z1goi%Er~4s{&*VK+IY`TVcb>Am3Te{ z83{=Sp9LuqL*W)rQAD1xB2ihJr`%PJlI-7Iis>pBanu}*kvkUSTLZlx>rn4tf#`d-HQX zaN(Sfhd~qmuc{?QNF( z)R3uYBz&9K!r75)W$Qy9vjJwrT$$AwlyxUT74=>VB~hKCR_T!^e`yQ+l6ere)U03x zzUfkqc?triu*V@-ZL_bOc*suus%o%S-D0;EPDlwOqS=?9#u|P;W5Dcyyy8h)+FIaF zt-|sp+LQHY?`In0r|JTF=NGNSuTeOrOXrc{TOIbvTmHlr@vPz~EFMWf7FF?S!B+V! zrdkQccs^n=k;px>e?t7MQ6s3yg3VzPS2*5v2Vz)*)&!2`P|K5 zJ3YkTq&A{Q1?|yNt*NRk4J-X`*V09FH7B(2I1^v$BMTof)aE!`qd(OtQS^9&q`7zq+eKeQyQo zZ<4H4qdqAND)BV!wy2+)E!hP1y~BJM<7)iCP;Wq7v-CM#AseblhJxv2R!TNX@k}9T zDAd6azwoJ4e|4OY!%6&uhhsW-G?l$Jw=U;nr9?5B`-OuhD_mZB9Oy=)t*SRqTwhWF z07m&h>#cJBdU{+=ch?_+jfYT`vsF@)=QphlvlF!omCfe#X=LaTjSPuFAx{Pa19_Zx zu;I`_ld{R0Ldq1F?zlcys2zjIXHtQZNsZlHSW%Z)f0gqppf#0DiWMdBXURVbTYC)s zO^3S@#urh(RRQzTTp-HUilbigQQffDjEx=hqgV4EP9_(ssq)~2MBxHphMmYQ28HDf z&=oA2nH(%K5_+=WHlw8P{bzHHaFlALDA50 z@?ml5z*pDHTXo)Gv0|{^vc$oUbiSZZgBI1{tM<@FEx2poa#v38l|mGU_tp-F6(qm7 zRO8q?ww#St-7J+vQo0aaHFA-p4mC_#!ShMQ3 ze=94Q^eW*&_MnjswH`e;q^=fl%gTjF@?kEvZdgLK)emOiW;(Yj?a4B-MZ7{*+DvP@L{e^TF~ zzD@lJ^&RTF)c2_GQ$L{olm;dZEE?D}n9#tXflC9A20je}8cgZbq*I?x13H~j%QWG! z;IZMEz~jK0A~T51#lL?Spa7NoCR(SdLtU4;9(8@{OsM0pe_$6}uB4N9qReBI@8o)!EYsC0NXn(7;b{B4JdbeYwO-*g|~i2s!zy#?$9RS!eBXuI(BsE2$q4gOp;nrNX_T= zMcJx=2iOHXubBUfehrXdD&Mn6E3d~h<*NdE*fthaseURHH#K4^MFQm*f7(Y6+L@FI z)X*@R(M>rxOb!n0A6c|svK8&zMlxMb4G{dB#V|0^8-+HqP-379GJ0U-#zuDn0;AbR zMWAOKRruOYmSGz`i@O0PM;70UI4>!;(K7%spAkn?lj$CQeA4DzPOGMu&D#}i-mWO) zRO9h_Hl!$UlFsaO?y#c2fBCzym@Pkz{uYn^X^y7Do7Ia`kdGIcb`eE+Giy>rWbw@n z#|#LI@(XiuVGzMi@O|#T%OY|SG|6kcmSnTk4$qmdj>DVtgA~~}P2O^bpT^rx8@6O| zm9I@@o@fwsNZ`)yT|;oKDJ;OKw#mC!b+2>de4GF#9$EX-cyno(f4LT|O@&n^DLKBh z#_?^&$@wwva;=bU7l%tssw0c{D?UFaZ{qLjcuc!*k+{2$YUL9U{Rmh7o%q1v6~ z#=l&JKpC)SkDs1TTcb%K1kWXBUK&pFt8NY_m?J(?ck)&aEy?y@xys+jil~Edl_N49VDcB zfcFGrkyzesx?n>?Gqqt_=^-s1s_Cy!PwaRH#Eu5~?9KNSf5|x;MiYCU>KI!C&~{9v zk&>A<)(8eFOgI7JRc<2XgAbOc>u63bd5F-pZkb{{2pdLPUkf)FfFMIXsTP844xKE3 zJyCMSqf|+k8N#mxdRXQ(be7scn`ya5W-SbFlvqNEIh5#KUB?Pa+-f+4uR(mP&7^>z z$PrjTUuUo&e+n^3kQ(4oc-6QlC1AYRU>F231#Ob5U&fb_H(1&le0g+gH3=lPdBKfo3n4PaZt zqrTWjUm`$h7NuEZ%al-PImJ~uC2!Ev)jxexY zX1Gglf3XK9uEXOyD8GOBN4(zwny-iCao>;6C_^%-1Q7!^074oZ-of*i-RT7Fkjf$q zd&p-)9NF1Cc~x`s%lq1gvFq>7eUQ!<1e%-4P#h_=x^4>0h4r?5_;p4NulS=RbLaM1yYk3TYQ+aGU{K zVcia_o@lXty z(qg1}-d6Tt)M21DRMgl$nHjd}$PBKTv2tr_L$>F-6Hnz^wr;t(Z97~ggBgMD=eA>_ zK1RIvCOHplO(mjwx=M(C6*O!0xv9J1e*u~Cn#V9{JO*)>{rsa)R+NFB#Z<+$TY8*~ zhxh=zcInZ_fiz$a_}V=2TUngzq^0wr_gz{aWPeq#?lr17RPWE! z8cRURl~@2Wu}~$FXD|d60w^aDzz7mmwL+lM8=lT{fsk$#O0LbZY_7`T3YUD-f5h&X z3VZM#_9}hfs*T>O`gricpsWsS-l&@ItD4`6&=w!hc&_0rNRg|c>FiYnr6B%_aOHn& z!DeE1T-Tm@^9ZCG*Pl3(Tl}xBfa|&5#5U&Kf(+S+gAF;k6InIv zxajJjs?~Lz{(`dKcA;XET<97ue?j~X*eK$S#7V&=XOf}l1ForMsu=aj55A}17eB-s_FW# z=F=*_u8mPT_zz6<>gN?@W38CRFbP`>_p S%%kFmy?+5#Y2>~9sQ>_^7DfyJ delta 7260 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index f1c6fc9..ce9fb8c 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":92, -"mappings":"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", +"lineCount":91, +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index d1312c9..b35d29f 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "4.0.0"; + ByteBuffer.VERSION = "4.1.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2076,7 +2076,6 @@ ByteBufferPrototype.capacity = function() { return this.buffer.byteLength; }; - /** * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. @@ -2757,6 +2756,7 @@ * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. * @returns {string} Base64 encoded string + * @throws {RangeError} If `begin` or `end` is out of bounds * @expose */ ByteBufferPrototype.toBase64 = function(begin, end) { @@ -2764,16 +2764,9 @@ begin = this.offset; if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } + begin = begin | 0; end = end | 0; + if (begin < 0 || end > this.capacity || begin > end) + throw RangeError("begin, end"); var sd; lxiv.encode(function() { return begin < end ? this.view.getUint8(begin++) : null; }.bind(this), sd = stringDestination()); @@ -2785,19 +2778,13 @@ * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ - ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); - } - var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + ByteBuffer.fromBase64 = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var bb = new ByteBuffer(str.length/4*3, littleEndian), i = 0; lxiv.decode(stringSource(str), function(b) { bb.view.setUint8(i++, b); @@ -2839,28 +2826,24 @@ * @expose */ ByteBufferPrototype.toBinary = function(begin, end) { - begin = typeof begin === 'undefined' ? this.offset : begin; - end = typeof end === 'undefined' ? this.limit : end; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.byteLength) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); if (begin === end) return ""; - var cc = [], pt = []; + var chars = [], + parts = []; while (begin < end) { - cc.push(this.view.getUint8(begin++)); - if (cc.length >= 1024) - pt.push(String.fromCharCode.apply(String, cc)), - cc = []; + chars.push(this.view.getUint8(begin++)); + if (chars.length >= 1024) + parts.push(String.fromCharCode.apply(String, chars)), + chars = []; } - return pt.join('') + String.fromCharCode.apply(String, cc); + return parts.join('') + String.fromCharCode.apply(String, chars); }; /** @@ -2868,22 +2851,20 @@ * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ - ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - } - var i = 0, k = str.length, charCode, - bb = new ByteBuffer(k, littleEndian, noAssert); + ByteBuffer.fromBinary = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var i = 0, + k = str.length, + charCode, + bb = new ByteBuffer(k, littleEndian); while (i 255) - throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); + if (charCode > 0xff) + throw RangeError("illegal char code: "+charCode); bb.view.setUint8(i++, charCode); } bb.limit = k; diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index d9ee2a2..8f9dee1 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4& 15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.g=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61=== -d)break;else e(d);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}var c;w.h(function(){return a>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a, -b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0", -e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,k=0,g=0;kd||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224=== -(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null}); -for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== -typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return a>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;w.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e): +"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1; +break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!== +typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,k=0,g=0;kd||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!== +(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b, +c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return atMcS)#Gb5%L$;{@zO2|3RhkW_ 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 DVXR=k diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index 94e8af3..b0dc086 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":86, -"mappings":"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", +"lineCount":85, +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","cc","pt","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 6930e87..21711a1 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "4.0.0"; + ByteBuffer.VERSION = "4.1.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. @@ -2222,7 +2222,6 @@ module.exports = (function() { ByteBufferPrototype.capacity = function() { return this.buffer.length; }; - /** * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. @@ -2799,6 +2798,7 @@ module.exports = (function() { * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. * @returns {string} Base64 encoded string + * @throws {RangeError} If `begin` or `end` is out of bounds * @expose */ ByteBufferPrototype.toBase64 = function(begin, end) { @@ -2806,16 +2806,9 @@ module.exports = (function() { begin = this.offset; if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.length) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } + begin = begin | 0; end = end | 0; + if (begin < 0 || end > this.capacity || begin > end) + throw RangeError("begin, end"); return this.buffer.toString("base64", begin, end); }; @@ -2824,21 +2817,11 @@ module.exports = (function() { * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ - ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); - } - var bb = new ByteBuffer(0, littleEndian, noAssert); - bb.buffer = new Buffer(str, "base64"); - bb.limit = bb.buffer.length; + ByteBuffer.fromBase64 = function(str, littleEndian) { + return ByteBuffer.wrap(new Buffer(str, "base64"), littleEndian); return bb; }; @@ -2866,17 +2849,6 @@ module.exports = (function() { // encodings/binary - // - // http://nodejs.org/api/buffer.html states: "This encoding method is deprecated and should be avoided in favor of - // Buffer objects where possible. This encoding will be removed in future versions of Node." - // - // https://github.com/joyent/node/issues/3279 states: "The cost of doing this is too high. People use the binary - // encoding, apparently, and don't want it taken away. It's not in the way at all, so let's drop this." - // - // So let's assume that binary encoding will at least stay for a while and prepare for the case that it'll be removed - // eventually by adding NODE switches to the browser implementation as well. - // - /** * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. @@ -2886,18 +2858,13 @@ module.exports = (function() { * @expose */ ByteBufferPrototype.toBinary = function(begin, end) { - begin = typeof begin === 'undefined' ? this.offset : begin; - end = typeof end === 'undefined' ? this.limit : end; - if (!this.noAssert) { - if (typeof begin !== 'number' || begin % 1 !== 0) - throw TypeError("Illegal begin: Not an integer"); - begin >>>= 0; - if (typeof end !== 'number' || end % 1 !== 0) - throw TypeError("Illegal end: Not an integer"); - end >>>= 0; - if (begin < 0 || begin > end || end > this.buffer.length) - throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); return this.buffer.toString("binary", begin, end); }; @@ -2906,20 +2873,11 @@ module.exports = (function() { * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ - ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - } - var bb = new ByteBuffer(0, littleEndian, noAssert); - bb.buffer = new Buffer(str, 'binary'); - bb.limit = bb.buffer.length; - return bb; + ByteBuffer.fromBinary = function(str, littleEndian) { + return ByteBuffer.wrap(new Buffer(str, "binary"), littleEndian); return bb; }; diff --git a/package.json b/package.json index 6bd0059..b3b1ffe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "4.0.0", + "version": "4.1.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "index.js", @@ -24,7 +24,7 @@ "webrtc" ], "dependencies": { - "long": "~2 >=2.2.3", + "long": "~2 >=2.3.0", "bufferview": "~1" }, "devDependencies": { diff --git a/src/encodings/base64.js b/src/encodings/base64.js index 347ec0d..583ffe9 100644 --- a/src/encodings/base64.js +++ b/src/encodings/base64.js @@ -12,6 +12,7 @@ * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. * @returns {string} Base64 encoded string + * @throws {RangeError} If `begin` or `end` is out of bounds * @expose */ ByteBufferPrototype.toBase64 = function(begin, end) { @@ -19,9 +20,9 @@ ByteBufferPrototype.toBase64 = function(begin, end) { begin = this.offset; if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { - //? ASSERT_RANGE(); - } + begin = begin | 0; end = end | 0; + if (begin < 0 || end > this.capacity || begin > end) + throw RangeError("begin, end"); //? if (NODE) return this.buffer.toString("base64", begin, end); //? else { @@ -40,26 +41,16 @@ ByteBufferPrototype.toBase64 = function(begin, end) { * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ -ByteBuffer.fromBase64 = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 4 !== 0) - throw TypeError("Illegal str: Length not a multiple of 4"); - } +ByteBuffer.fromBase64 = function(str, littleEndian) { //? if (NODE) { - var bb = new ByteBuffer(0, littleEndian, noAssert); - bb.buffer = new Buffer(str, "base64"); - //? if (BUFFERVIEW) - bb.view = new BufferView(bb.buffer); - bb.limit = bb.buffer.length; + return ByteBuffer.wrap(new Buffer(str, "base64"), littleEndian); //? } else { - var bb = new ByteBuffer(str.length/4*3, littleEndian, noAssert), + if (typeof str !== 'string') + throw TypeError("str"); + var bb = new ByteBuffer(str.length/4*3, littleEndian), i = 0; lxiv.decode(stringSource(str), function(b) { //? if (DATAVIEW) diff --git a/src/encodings/binary.js b/src/encodings/binary.js index 7eec7a1..ef9c531 100644 --- a/src/encodings/binary.js +++ b/src/encodings/binary.js @@ -1,19 +1,6 @@ //? if (BINARY) { // encodings/binary -//? if (NODE) { -// -// http://nodejs.org/api/buffer.html states: "This encoding method is deprecated and should be avoided in favor of -// Buffer objects where possible. This encoding will be removed in future versions of Node." -// -// https://github.com/joyent/node/issues/3279 states: "The cost of doing this is too high. People use the binary -// encoding, apparently, and don't want it taken away. It's not in the way at all, so let's drop this." -// -// So let's assume that binary encoding will at least stay for a while and prepare for the case that it'll be removed -// eventually by adding NODE switches to the browser implementation as well. -// - -//? } /** * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. @@ -23,29 +10,32 @@ * @expose */ ByteBufferPrototype.toBinary = function(begin, end) { - begin = typeof begin === 'undefined' ? this.offset : begin; - end = typeof end === 'undefined' ? this.limit : end; - if (!this.noAssert) { - //? ASSERT_RANGE(); - } + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); //? if (NODE) return this.buffer.toString("binary", begin, end); //? else { if (begin === end) return ""; - var cc = [], pt = []; + var chars = [], + parts = []; while (begin < end) { //? if (NODE) - cc.push(this.buffer[begin++]); + chars.push(this.buffer[begin++]); //? else if (DATAVIEW) - cc.push(this.view.getUint8(begin++)); + chars.push(this.view.getUint8(begin++)); //? else - cc.push(this.view[begin++]); - if (cc.length >= 1024) - pt.push(String.fromCharCode.apply(String, cc)), - cc = []; + chars.push(this.view[begin++]); + if (chars.length >= 1024) + parts.push(String.fromCharCode.apply(String, chars)), + chars = []; } - return pt.join('') + String.fromCharCode.apply(String, cc); + return parts.join('') + String.fromCharCode.apply(String, chars); //? } }; @@ -54,33 +44,24 @@ ByteBufferPrototype.toBinary = function(begin, end) { * @param {string} str String to decode * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. * @returns {!ByteBuffer} ByteBuffer * @expose */ -ByteBuffer.fromBinary = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - } +ByteBuffer.fromBinary = function(str, littleEndian) { //? if (NODE) { - var bb = new ByteBuffer(0, littleEndian, noAssert); - bb.buffer = new Buffer(str, 'binary'); - //? if (BUFFERVIEW) - bb.view = new BufferView(bb.buffer); - bb.limit = bb.buffer.length; - return bb; + return ByteBuffer.wrap(new Buffer(str, "binary"), littleEndian); //? } else { - var i = 0, k = str.length, charCode, - bb = new ByteBuffer(k, littleEndian, noAssert); + if (typeof str !== 'string') + throw TypeError("str"); + var i = 0, + k = str.length, + charCode, + bb = new ByteBuffer(k, littleEndian); while (i 255) - throw RangeError("Illegal charCode at "+i+": 0 <= "+charCode+" <= 255"); - //? if (NODE) - bb.buffer[i++] = charCode; - //? else if (DATAVIEW) + if (charCode > 0xff) + throw RangeError("illegal char code: "+charCode); + //? if (DATAVIEW) bb.view.setUint8(i++, charCode); //? else bb.view[i++] = charCode; diff --git a/src/methods/capacity.js b/src/methods/capacity.js index e87db28..8b6b34a 100644 --- a/src/methods/capacity.js +++ b/src/methods/capacity.js @@ -6,4 +6,3 @@ ByteBufferPrototype.capacity = function() { return /*?= CAPACITY */; }; - From 64f0e87fb55f36c0ea4c692045e9d17a11d5dd1e Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 22 Oct 2015 23:36:14 +0200 Subject: [PATCH 73/91] Removed unnecessary complexity from readVString/readIString --- dist/ByteBufferAB.js | 48 ++------ dist/ByteBufferAB.min.js | 157 +++++++++++++-------------- dist/ByteBufferAB.min.js.gz | Bin 8342 -> 8334 bytes dist/ByteBufferAB.min.map | 6 +- dist/ByteBufferAB_DataView.js | 38 ++----- dist/ByteBufferAB_DataView.min.js | 86 +++++++-------- dist/ByteBufferAB_DataView.min.js.gz | Bin 7679 -> 7653 bytes dist/ByteBufferAB_DataView.min.map | 4 +- dist/ByteBufferNB.js | 44 ++------ src/types/strings/istring.js | 34 +----- src/types/strings/vstring.js | 29 +---- 11 files changed, 174 insertions(+), 272 deletions(-) diff --git a/dist/ByteBufferAB.js b/dist/ByteBufferAB.js index 40546b4..22231fb 100644 --- a/dist/ByteBufferAB.js +++ b/dist/ByteBufferAB.js @@ -1991,33 +1991,16 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var temp = 0, - start = offset, - str; - if (this.littleEndian) { - temp = this.view[offset+2] << 16; - temp |= this.view[offset+1] << 8; - temp |= this.view[offset ]; - temp += this.view[offset+3] << 24 >>> 0; - } else { - temp = this.view[offset+1] << 16; - temp |= this.view[offset+2] << 8; - temp |= this.view[offset+3]; - temp += this.view[offset ] << 24 >>> 0; - } - offset += 4; - var k = offset + temp, - sd; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; - }.bind(this), sd = stringDestination(), this.noAssert); - str = sd(); + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } @@ -2271,23 +2254,16 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - var temp = this.readVarint32(offset), - start = offset, - str; - offset += temp['length']; - temp = temp['value']; - var k = offset + temp, - sd = stringDestination(); - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; - }.bind(this), sd, this.noAssert); - str = sd(); + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } diff --git a/dist/ByteBufferAB.min.js b/dist/ByteBufferAB.min.js index 5aa931c..fa48fa8 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/ByteBufferAB.min.js @@ -5,87 +5,86 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;e=c?e-1:0;var q=c?-1:1,k=a[b+e];e+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===e?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+k?b+y/f:b+y*Math.pow(2,1-k),2<=b*f&&(d++,f/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*f-1)*Math.pow(2,e),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]= -b&255,n+=l,b/=256,e-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& -(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=f.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};f.writeBytes=f.append;f.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeByte=f.writeInt8;f.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};f.readByte=f.readInt8;f.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};f.writeUInt8=f.writeUint8;f.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};f.readUInt8=f.readUint8;f.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeShort=f.writeInt16;f.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};f.readShort=f.readInt16;f.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};f.writeUInt16=f.writeUint16;f.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};f.readUInt16=f.readUint16;f.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +null}}function s(){var a=[],b=[];return function(){if(0===arguments.length)return b.join("")+w.apply(String,a);1024>1,g=-7;f=c?f-1:0;var q=c?-1:1,k=a[b+f];f+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(e=Math.pow(2,-d))&&(d--,e*=2),b=1<=d+k?b+y/e:b+y*Math.pow(2,1-k),2<=b*e&&(d++,e/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*e-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+n]= +b&255,n+=l,b/=256,f-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& +(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4); -return this};f.writeInt=f.writeInt32;f.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+ -3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};f.readInt=f.readInt32;f.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};f.writeUInt32=f.writeUint32;f.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};f.readUInt32=f.readUint32;k&&(f.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a); +return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+ +3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> +a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a); else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8; -var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeLong=f.writeInt64,f.readInt64= +var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64= function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+ -1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},f.readLong=f.readInt64,f.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,e=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4, -this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},f.writeUInt64=f.writeUint64,f.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4, +this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= -this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},f.readUInt64=f.readUint64);f.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};f.writeFloat=f.writeFloat32;f.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; -f.readFloat=f.readFloat32;f.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian, -52,8);c&&(this.offset+=8);return this};f.writeDouble=f.writeFloat64;f.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};f.readDouble=f.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= -function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};f.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a),e;b+=d;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;for(a>>>=0;128<=a;)e=a&127|128,this.view[b++]=e,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};f.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};f.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,e;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;e=this.view[a++];5>c&&(d|=(e&127)<<7*c);++c}while(0!==(e&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};f.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64= +this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; +e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian, +52,8);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= +function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a),f;b+=d;f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;for(a>>>=0;128<=a;)f=a&127|128,this.view[b++]=f,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view[a++];5>c&&(d|=(f&127)<<7*c);++c}while(0!==(f&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64= function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64= -function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},f.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),e=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b); -b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?f>>>21|128:f>>>21&127;case 7:this.view[b+6]=7!==d?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==d?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==d?f|128:f&127;case 4:this.view[b+3]=4!==d?e>>>21|128:e>>>21&127;case 3:this.view[b+2]=3!==d?e>>>14|128:e>>>14&127;case 2:this.view[b+1]=2!==d?e>>>7|128:e>>>7&127;case 1:this.view[b]=1!==d?e|128:e&127}return c?(this.offset+=d,this):d},f.writeVarint64ZigZag= -function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},f.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,e=0,f=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&& -(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128|| -this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|e<<28,e>>>4|f<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},f.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});f.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,e=a.length;if(!this.noAssert){if("string"!== -typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}e=l.a(m(a))[1];b+=e+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e+1;l.c(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]= -0;return c?(this.offset=b,this):e};f.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,e=-1;l.b(function(){if(0===e)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);e=this.view[a++];return 0=== -e?null:e}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};f.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e;e=l.a(m(a),this.noAssert)[1];b+= -4+e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+e;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255):(this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255);b+=4;l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+e));return c?(this.offset=b,this):b-d};f.readIString=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,d=a;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a+=4;var e=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,e=b;d=l.a(m(a))[1];b+=d;var f=this.buffer.byteLength; -b>f&&this.resize((f*=2)>b?f:b);b-=d;l.c(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};f.writeString=f.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]};g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};g.calculateString=g.calculateUTF8Bytes;f.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var e=0,f=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return e>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,e,f;e=l.a(m(a),this.noAssert)[1]; -f=g.calculateVarint32(e);b+=f+e;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=f+e;b+=this.writeVarint32(e,b);l.c(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+e+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+e+f));return c?(this.offset=b,this):b-d};f.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),d=a;a+=c.length;var c=c.value,e=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var e=this.buffer.byteLength;c>e&&this.resize((e*=2)>c?e:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};f.appendTo=function(a,b){a.append(this,b);return this};f.assert=function(a){this.noAssert=!a;return this};f.capacity=function(){return this.buffer.byteLength};f.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset= --1;return this};f.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};f.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0; -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),e=new Uint8Array(d);e.set(this.view.subarray(a,b));this.buffer=d;this.view=e;0<=this.markedOffset&& -(this.markedOffset-=a);this.offset=0;this.limit=c;return this};f.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0, -this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};f.copyTo=function(a,b,c,d){var e,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(e="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+ -b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c,d),b);e&&(this.offset+=h);f&&(a.offset+=h);return this};f.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};f.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this; -for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};f.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean"); -this.littleEndian=!!a;return this};f.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};f.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};f.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var e=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};f.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength); -this.offset=b;return this};f.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};f.toBuffer= -function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b, -c),0);return a};f.toArrayBuffer=f.toBuffer;f.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+ -a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,e=b.length;d>2&63]),e=(d&3)<<4,null!==(d=a())?(e|=d>>4&15,c(b[(e|d>>4&15)&63]),e=(d&15)<<2,null!==(d=a())?(c(b[(e|d>>6&3)&63]),c(b[d&63])):(c(b[e&63]),c(61))):(c(b[e&63]), -c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var e,f,g;null!==(e=a());)if(f=c[e],"undefined"===typeof f&&d(e),null!==(e=a())&&(g=c[e],"undefined"===typeof g&&d(e),b(f<<2>>>0|(g&48)>>4),null!==(e=a()))){f=c[e];if("undefined"===typeof f)if(61===e)break;else d(e);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(e=a())){g=c[e];if("undefined"===typeof g)if(61===e)break;else d(e);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; -return a}();f.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;A.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],d=[];ad?e+("0"+d.toString(16).toUpperCase()):e+d.toString(16).toUpperCase(),a&&(f+=32d?String.fromCharCode(d):"."));++b;if(a&&0e.length;)e+=" ";g+=e+f+"\n";e=f=""}e=b===this.offset&&b===this.limit?e+(b===this.markedOffset?"!":"|"):b===this.offset?e+(b===this.markedOffset?"[":"<"): -b===this.limit?e+(b===this.markedOffset?"]":">"):e+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==e){for(;51>e.length;)e+=" ";g+=e+f+"\n"}return a?g:e};g.fromDebug=function(a,b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var e=0,f=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;e":if(!c){if(m){r=!0;break}m=!0}b.limit=f;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=f;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(e++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b|| -b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var e,f=0,h=0;fe||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError"; -b.bytes=a;throw b;}for(var e,f,g,k;null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(f=a())&&d([e,f]),c((e&31)<<6|f&63);else if(224===(e&240))null!==(f=a())&&null!==(g=a())||d([e,f,g]),c((e&15)<<12|(f&63)<<6|g&63);else if(240===(e&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||d([e,f,g,k]),c((e&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+e);},d:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&& -56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b,c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c= -0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();f.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength); -}var c;try{l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b); +b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?e>>>21|128:e>>>21&127;case 7:this.view[b+6]=7!==d?e>>>14|128:e>>>14&127;case 6:this.view[b+5]=6!==d?e>>>7|128:e>>>7&127;case 5:this.view[b+4]=5!==d?e|128:e&127;case 4:this.view[b+3]=4!==d?f>>>21|128:f>>>21&127;case 3:this.view[b+2]=3!==d?f>>>14|128:f>>>14&127;case 2:this.view[b+1]=2!==d?f>>>7|128:f>>>7&127;case 1:this.view[b]=1!==d?f|128:f&127}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag= +function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&& +(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128|| +this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!== +typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f=l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.b(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]= +0;return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.c(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view[a++];return 0=== +f?null:f}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+= +4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.littleEndian?(this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255);b+=4;l.b(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,d=this.readUint32(a),d=this.readUTF8String(d,g.METRICS_BYTES,a+=4);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};g.METRICS_CHARS="c";g.METRICS_BYTES="b";e.writeUTF8String=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.b(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]}; +g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};g.calculateString=g.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.b(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c? +(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=this.readVarint32(a),d=this.readUTF8String(d.value,g.METRICS_BYTES,a+=d.length);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};e.append= +function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);this.view.set(a.view.subarray(a.offset, +a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view); +b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0=== +a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),f=new Uint8Array(d);f.set(this.view.subarray(a,b));this.buffer=d;this.view=f;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a|| +0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f, +e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c, +d),b);f&&(this.offset+=h);e&&(a.offset+=h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!== +typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; +e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ +")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, +116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,g;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(g=c[f],"undefined"=== +typeof g&&d(f),b(e<<2>>>0|(g&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((g&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){g=c[f];if("undefined"===typeof g)if(61===f)break;else d(f);b((e&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end"); +var c;A.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end"); +if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};g.fromDebug=function(a, +b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var f=0,e=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;f":if(!c){if(m){r=!0;break}m=!0}b.limit=e;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(f++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)): +c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var f,e=0,h=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var f,e,g,k;null!==(f=a());)if(0===(f&128))c(f);else if(192===(f&224))null===(e=a())&&d([f,e]),c((f&31)<<6|e&63);else if(224===(f&240))null!==(e=a())&&null!== +(g=a())||d([f,e,g]),c((f&15)<<12|(e&63)<<6|g&63);else if(240===(f&248))null!==(e=a())&&null!==(g=a())&&null!==(k=a())||d([f,e,g,k]),c((f&7)<<18|(e&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+f);},d:function(a,c){for(var d,f=null;null!==(d=null!==f?f:a());)55296<=d&&57343>=d&&null!==(f=a())&&56320<=f&&57343>=f?(c(1024*(d-55296)+f-56320+65536),f=null):c(d);null!==f&&c(f)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!== +(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b,c){a.d(b,function(b){a.i(b,c)})},c:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b= +this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.c(function(){return a=W$I)ov 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 literal 8342 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 diff --git a/dist/ByteBufferAB.min.map b/dist/ByteBufferAB.min.map index ce9fb8c..3d2ee7c 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/ByteBufferAB.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":91, -"mappings":"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", +"lineCount":90, +"mappings":"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", "sources":["dist/ByteBufferAB.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferAB_DataView.js b/dist/ByteBufferAB_DataView.js index b35d29f..368b6ec 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/ByteBufferAB_DataView.js @@ -1706,23 +1706,16 @@ if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); } - var temp = 0, - start = offset, - str; - temp = this.view.getUint32(offset, this.littleEndian); - offset += 4; - var k = offset + temp, - sd; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = stringDestination(), this.noAssert); - str = sd(); + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } @@ -1976,23 +1969,16 @@ if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); } - var temp = this.readVarint32(offset), - start = offset, - str; - offset += temp['length']; - temp = temp['value']; - var k = offset + temp, - sd = stringDestination(); - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd, this.noAssert); - str = sd(); + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/ByteBufferAB_DataView.min.js index 8f9dee1..579a388 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/ByteBufferAB_DataView.min.js @@ -4,7 +4,7 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/ByteBuffer.js for details */ -function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return ba)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== @@ -40,46 +40,46 @@ f.calculateVarint64(a),h=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g= d&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,h=0,d=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g= this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");e=k.fromBits(e|h<<28,h>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,h=a.length; -if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=l.a(m(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;l.c(m(a),function(a){this.view.setUint8(b++, -a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;l.b(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+ +if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;m.b(n(a),function(a){this.view.setUint8(b++, +a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;m.c(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+ " < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var e=b,h;h=l.a(m(a),this.noAssert)[1];b+=4+h;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+ -" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0,e=a,c=this.view.getUint32(a,this.littleEndian);a+=4;var h=a+c;l.b(function(){return a>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,h=b;e=l.a(m(a))[1];b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return l.a(m(a))[0]};f.calculateUTF8Bytes=function(a){return l.a(m(a))[1]}; -f.calculateString=f.calculateUTF8Bytes;d.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ -this.buffer.byteLength);}var h=0,d=c,g;if(b===f.METRICS_CHARS){g=s();l.f(function(){return h>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.b(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,h,d;h=l.a(m(a),this.noAssert)[1];d=f.calculateVarint32(h);b+=d+h;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=d+h;b+=this.writeVarint32(h,b);l.c(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+h+d)throw RangeError("Illegal range: Truncated data, "+ -b+" == "+(b+h+d));return c?(this.offset=b,this):b-e};d.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=this.readVarint32(a),e=a;a+=c.length;var c=c.value,d=a+c,c=s();l.b(function(){return a>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength; -c>d&&this.resize((d*=2)>c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer= -new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit= -c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c, -this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,n;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(n="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ -c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);n&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean"); -this.littleEndian=!!a;return this};d.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0; -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+ -a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer; -if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, -c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4& -15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.g=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61=== -d)break;else e(d);b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;w.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e): -"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,n=0,g,k=!1,l=!1,m=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=n;k=!1;break;case "'":if(!c){if(m){q=!0;break}m=!0}b.markedOffset=n;k=!1;break;case " ":k=!1; -break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!== -typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,k=0,g=0;kd||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!== -(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},c:function(b, -c){a.d(b,function(b){a.i(b,c)})},b:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.b(function(){return ad&&this.resize((d*=2)>b?d:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+ +" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a),e=this.readUTF8String(e,f.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};f.METRICS_CHARS="c";f.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,h=b;e=m.a(n(a))[1];b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};f.calculateString=f.calculateUTF8Bytes; +d.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var d=0,l=c,g; +if(b===f.METRICS_CHARS){g=s();m.f(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); +}var p=c+a;m.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d,l;d=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(d);b+=l+d;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+d;b+=this.writeVarint32(d,b);m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+d+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+d+l));return c?(this.offset=b,this):b-e};d.readVString= +function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a),e=this.readUTF8String(e.value,f.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};d.append=function(a,b,c){if("number"===typeof b|| +"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength;c>d&&this.resize((d*=2)>c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset, +a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)): +(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ +b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== +typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-= +a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength); +var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);l&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.LE= +function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); +}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+ +this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone(); +c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b); +(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug(); +case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!== +(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.g=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61===d)break;else e(d);b((h&3)<<6>>>0| +f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;w.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0 +d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1;break;default:if(!c&& +k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); +if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,l=0,g=0;ld||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e? +c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f, +g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},b:function(b,c){a.d(b,function(b){a.i(b,c)})},c:function(b, +c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,e=0;null!==(c=a());)e+=128>c?1:2048>c?2:65536>c?3:4;return e},a:function(b){var c=0,e=0;a.d(b,function(a){++c;e+=128>a?1:2048>a?2:65536>a?3:4});return[c,e]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return aKlRa{%l;YjfI2 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 TxFhbOKJ5JiBUFF}a-IMHD4YVv literal 7679 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 diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/ByteBufferAB_DataView.min.map index b0dc086..05e8b0b 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/ByteBufferAB_DataView.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":85, -"mappings":"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", +"mappings":"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", "sources":["dist/ByteBufferAB_DataView.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","temp","METRICS_CHARS","METRICS_BYTES","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","readUTF8String","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","len","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferNB.js b/dist/ByteBufferNB.js index 21711a1..11a919a 100644 --- a/dist/ByteBufferNB.js +++ b/dist/ByteBufferNB.js @@ -1855,31 +1855,16 @@ module.exports = (function() { if (offset < 0 || offset + 4 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); } - var temp = 0, - start = offset, - str; - if (this.littleEndian) { - temp = this.buffer[offset+2] << 16; - temp |= this.buffer[offset+1] << 8; - temp |= this.buffer[offset ]; - temp += this.buffer[offset+3] << 24 >>> 0; - } else { - temp = this.buffer[offset+1] << 16; - temp |= this.buffer[offset+2] << 8; - temp |= this.buffer[offset+3]; - temp += this.buffer[offset ] << 24 >>> 0; - } - offset += 4; - if (offset + temp > this.buffer.length) - throw RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); - str = this.buffer.toString("utf8", offset, offset + temp); - offset += temp; + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } @@ -2124,21 +2109,16 @@ module.exports = (function() { if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); } - var temp = this.readVarint32(offset), - start = offset, - str; - offset += temp['length']; - temp = temp['value']; - if (offset + temp > this.buffer.length) - throw RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); - str = this.buffer.toString("utf8", offset, offset + temp); - offset += temp; + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } diff --git a/src/types/strings/istring.js b/src/types/strings/istring.js index d571c26..2bd26a5 100644 --- a/src/types/strings/istring.js +++ b/src/types/strings/istring.js @@ -63,38 +63,16 @@ ByteBufferPrototype.readIString = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(4); } - var temp = 0, - start = offset, - str; - //? if (NODE) { - //? READ_UINT32_ARRAY('temp'); - offset += 4; - if (offset + temp > this.buffer.length) - throw RangeError("Index out of bounds: "+offset+" + "+temp+" <= "+this.buffer.length); - str = this.buffer.toString("utf8", offset, offset + temp); - offset += temp; - //? } else { - //? if (DATAVIEW) - temp = this.view.getUint32(offset, this.littleEndian); - //? else - //? READ_UINT32_ARRAY('temp'); - offset += 4; - var k = offset + temp, - sd; - utfx.decodeUTF8toUTF16(function() { - //? if (DATAVIEW) - return offset < k ? this.view.getUint8(offset++) : null; - //? else - return offset < k ? this.view[offset++] : null; - }.bind(this), sd = stringDestination(), this.noAssert); - str = sd(); - //? } + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } diff --git a/src/types/strings/vstring.js b/src/types/strings/vstring.js index aa2612b..67d3a5c 100644 --- a/src/types/strings/vstring.js +++ b/src/types/strings/vstring.js @@ -60,33 +60,16 @@ ByteBufferPrototype.readVString = function(offset) { if (!this.noAssert) { //? ASSERT_OFFSET(1); } - var temp = this.readVarint32(offset), - start = offset, - str; - offset += temp['length']; - temp = temp['value']; - //? if (NODE) { - if (offset + temp > this.buffer.length) - throw RangeError("Index out of bounds: "+offset+" + "+val.value+" <= "+this.buffer.length); - str = this.buffer.toString("utf8", offset, offset + temp); - offset += temp; - //? } else { - var k = offset + temp, - sd = stringDestination(); - utfx.decodeUTF8toUTF16(function() { - //? if (DATAVIEW) - return offset < k ? this.view.getUint8(offset++) : null; - //? else - return offset < k ? this.view[offset++] : null; - }.bind(this), sd, this.noAssert); - str = sd(); - //? } + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; if (relative) { this.offset = offset; - return str; + return str['string']; } else { return { - 'string': str, + 'string': str['string'], 'length': offset - start }; } From 53fcc7c60d9e7140b2852afb25cbbce069a4d88c Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 23 Oct 2015 20:13:53 +0200 Subject: [PATCH 74/91] Renamed distributions to lower case, dropped bufferview support --- README.md | 10 +- bower.json | 4 +- bytebuffer.png | Bin 0 -> 4381 bytes dist/ByteBufferAB.min.js.gz | Bin 8334 -> 0 bytes dist/ByteBufferAB_DataView.min.js.gz | Bin 7653 -> 0 bytes dist/README.md | 21 +- ...rAB_DataView.js => bytebuffer-dataview.js} | 4 +- ...View.min.js => bytebuffer-dataview.min.js} | 4 +- dist/bytebuffer-dataview.min.js.gz | Bin 0 -> 7650 bytes ...ew.min.map => bytebuffer-dataview.min.map} | 2 +- dist/{ByteBufferNB.js => bytebuffer-node.js} | 2 +- dist/{ByteBufferAB.js => bytebuffer.js} | 4 +- ...{ByteBufferAB.min.js => bytebuffer.min.js} | 4 +- dist/bytebuffer.min.js.gz | Bin 0 -> 8331 bytes ...yteBufferAB.min.map => bytebuffer.min.map} | 2 +- index.js | 24 +- package.json | 17 +- scripts/build.js | 17 +- src/ByteBuffer.js | 14 +- src/bower.json | 2 +- src/bytebuffer.js | 220 ++++++++++++++++++ src/encodings/hex.js | 2 - src/encodings/utf8.js | 2 - src/methods/clone.js | 4 +- src/methods/compact.js | 4 +- src/methods/prepend.js | 2 - src/methods/resize.js | 2 - src/methods/static/wrap.js | 2 - src/{wrap_node.js => wrap-node.js} | 14 +- src/wrap.js | 4 +- tests/suite.js | 84 +------ 31 files changed, 274 insertions(+), 197 deletions(-) create mode 100644 bytebuffer.png delete mode 100644 dist/ByteBufferAB.min.js.gz delete mode 100644 dist/ByteBufferAB_DataView.min.js.gz rename dist/{ByteBufferAB_DataView.js => bytebuffer-dataview.js} (99%) rename dist/{ByteBufferAB_DataView.min.js => bytebuffer-dataview.min.js} (99%) create mode 100644 dist/bytebuffer-dataview.min.js.gz rename dist/{ByteBufferAB_DataView.min.map => bytebuffer-dataview.min.map} (99%) rename dist/{ByteBufferNB.js => bytebuffer-node.js} (99%) rename dist/{ByteBufferAB.js => bytebuffer.js} (99%) rename dist/{ByteBufferAB.min.js => bytebuffer.min.js} (99%) create mode 100644 dist/bytebuffer.min.js.gz rename dist/{ByteBufferAB.min.map => bytebuffer.min.map} (99%) create mode 100644 src/bytebuffer.js rename src/{wrap_node.js => wrap-node.js} (83%) diff --git a/README.md b/README.md index 7007dd3..228dc9c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![ByteBuffer.js - The swiss army knife for binary data in JavaScript.](https://raw.github.com/dcodeIO/ByteBuffer.js/master/ByteBuffer.png) +![ByteBuffer.js - The swiss army knife for binary data in JavaScript.](https://raw.github.com/dcodeIO/ByteBuffer.js/master/bytebuffer.png) ====================================== A fast and complete ByteBuffer implementation using either ArrayBuffers in the browser or node Buffers under node.js, generated from a single source tree through [MetaScript](https://github.com/dcodeIO/MetaScript). @@ -9,9 +9,9 @@ generated from a single source tree through [MetaScript](https://github.com/dcod Features -------- * Three API-compatible versions: - * **ByteBufferNB**   Backing buffer / Accessor: node Buffer - * **ByteBufferAB**   Backing buffer: ArrayBuffer, Accessor: Uint8Array - * **ByteBufferAB_DataView**   Backing buffer: ArrayBuffer, Accessor: DataView + * **bytebuffer**   Backing buffer: ArrayBuffer, Accessor: Uint8Array + * **bytebuffer-dataview**   Backing buffer: ArrayBuffer, Accessor: DataView + * **bytebuffer-node**   Backing buffer / Accessor: node Buffer * 8, 16, 32 and 64 bit signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) @@ -53,7 +53,7 @@ Downloads Support for IE<10, FF<15, Chrome<9 etc. --------------------------------------- -* Use ByteBufferAB_DataView with a polyfill ([see](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist)) +* Use bytebuffer-dataview with a polyfill ([see](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist)) Contributors ------------ diff --git a/bower.json b/bower.json index 62b7f55..2cd12ea 100644 --- a/bower.json +++ b/bower.json @@ -1,9 +1,9 @@ { "name": "bytebuffer", - "version": "4.1.0", + "version": "5.0.0", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", - "main": "dist/ByteBufferAB.js", + "main": "dist/bytebuffer.js", "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { "long": "latest" diff --git a/bytebuffer.png b/bytebuffer.png new file mode 100644 index 0000000000000000000000000000000000000000..0f50568f26f12331f2f9c0aa84ba72c2f6bf0e19 GIT binary patch literal 4381 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 XiGhSdWW{Ls00000NkvXXu0mjfNdRw~ literal 0 HcmV?d00001 diff --git a/dist/ByteBufferAB.min.js.gz b/dist/ByteBufferAB.min.js.gz deleted file mode 100644 index 1bcb4b6b23f0e0e456648af4f352b8f8499d3458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8334 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 diff --git a/dist/ByteBufferAB_DataView.min.js.gz b/dist/ByteBufferAB_DataView.min.js.gz deleted file mode 100644 index 54a1559d847cdef6d6b5e9f1a5d09c700caff1ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7653 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 TxFhbOKJ5JiBUFF}a-IMHD4YVv diff --git a/dist/README.md b/dist/README.md index a97d31e..8303d70 100644 --- a/dist/README.md +++ b/dist/README.md @@ -9,16 +9,16 @@ ByteBuffer.js uses either ArrayBuffers in the browser or Buffers under node.js. Using Typed Arrays here is pretty much ideal, but it [requires a somewhat recent browser](http://caniuse.com/#feat=typedarrays). -* **[ByteBufferAB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.js)** +* **[bytebuffer.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer.js)** uses an ArrayBuffer as its backing buffer, accessed through an [Uint8Array](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array). -* **[ByteBufferAB.min.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.js)** +* **[bytebuffer.min.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer.min.js)** has been compiled with Closure Compiler using advanced optimizations. -* **[ByteBufferAB.min.js.gz](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.js.gz)** +* **[bytebuffer.min.js.gz](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer.min.js.gz)** has also been gzipped using `-9`. -* **[ByteBufferAB.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB.min.map)** +* **[bytebuffer.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer.min.map)** is the source map generated by Closure Compiler. ##### Accessed through a DataView ([polyfill](https://github.com/inexorabletash/polyfill/blob/master/typedarray.js) compatible) @@ -26,25 +26,22 @@ Using Typed Arrays here is pretty much ideal, but it [requires a somewhat recent Using DataViews is [generally slower](https://github.com/dcodeIO/ByteBuffer.js/issues/16) but works well with common polyfills for older browsers (avoids array access operators on Typed Arrays). -* **[ByteBufferAB_DataView.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.js)** +* **[bytebuffer-dataview.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer-dataview.js)** uses an ArrayBuffer as its backing buffer, accessed through a [DataView](https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView). -* **[ByteBufferAB_DataView.min.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.min.js)** +* **[bytebuffer-dataview.min.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer-dataview.min.js)** has been compiled with Closure Compiler using advanced optimizations. -* **[ByteBufferAB_DataView.min.js.gz](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.min.js.gz)** +* **[bytebuffer-dataview.min.js.gz](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer-dataview.min.js.gz)** has also been gzipped using `-9`. -* **[ByteBufferAB_DataView.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferAB_DataView.min.map)** +* **[bytebuffer-dataview.min.map](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer-dataview.min.map)** is the source map generated by Closure Compiler. ### node.js: [Buffer](https://nodejs.org/api/buffer.html)-backed -* **[ByteBufferNB.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/ByteBufferNB.js)** +* **[bytebuffer-node.js](https://raw.githubusercontent.com/dcodeIO/ByteBuffer.js/master/dist/bytebuffer-node.js)** uses a [node Buffer](https://nodejs.org/api/buffer.html) as its backing buffer and accessor. Also available as `bytebuffer` on [npm](https://www.npmjs.org/package/bytebuffer) and [bower](http://bower.io/search/?q=bytebuffer). - -When installed as an [npm package](https://www.npmjs.org/package/bytebuffer), both versions are available. -`exports` and `exports.ByteBufferNB` point at ByteBufferNB, `exports.ByteBufferAB` points at ByteBufferAB. diff --git a/dist/ByteBufferAB_DataView.js b/dist/bytebuffer-dataview.js similarity index 99% rename from dist/ByteBufferAB_DataView.js rename to dist/bytebuffer-dataview.js index 368b6ec..9a6808f 100644 --- a/dist/ByteBufferAB_DataView.js +++ b/dist/bytebuffer-dataview.js @@ -23,7 +23,7 @@ (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) - define(["Long"], factory); + define(["long"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "4.1.0"; + ByteBuffer.VERSION = "5.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB_DataView.min.js b/dist/bytebuffer-dataview.min.js similarity index 99% rename from dist/ByteBufferAB_DataView.min.js rename to dist/bytebuffer-dataview.min.js index 579a388..6d32933 100644 --- a/dist/ByteBufferAB_DataView.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -5,7 +5,7 @@ see: https://github.com/dcodeIO/ByteBuffer.js for details */ function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e= g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},b:function(b,c){a.d(b,function(b){a.i(b,c)})},c:function(b, c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,e=0;null!==(c=a());)e+=128>c?1:2048>c?2:65536>c?3:4;return e},a:function(b){var c=0,e=0;a.d(b,function(a){++c;e+=128>a?1:2048>a?2:65536>a?3:4});return[c,e]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return a^*C9+DNwF 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 QMSa-$2bbhe2y&hP08nD&LjV8( literal 0 HcmV?d00001 diff --git a/dist/ByteBufferAB_DataView.min.map b/dist/bytebuffer-dataview.min.map similarity index 99% rename from dist/ByteBufferAB_DataView.min.map rename to dist/bytebuffer-dataview.min.map index 05e8b0b..a4293ff 100644 --- a/dist/ByteBufferAB_DataView.min.map +++ b/dist/bytebuffer-dataview.min.map @@ -3,6 +3,6 @@ "file":"", "lineCount":85, "mappings":"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", -"sources":["dist/ByteBufferAB_DataView.js"], +"sources":["dist/bytebuffer-dataview.js"], "names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","writeByte","readInt8","ByteBufferPrototype.readInt8","getInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/dist/ByteBufferNB.js b/dist/bytebuffer-node.js similarity index 99% rename from dist/ByteBufferNB.js rename to dist/bytebuffer-node.js index 11a919a..569f1a8 100644 --- a/dist/ByteBufferNB.js +++ b/dist/bytebuffer-node.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "4.1.0"; + ByteBuffer.VERSION = "5.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.js b/dist/bytebuffer.js similarity index 99% rename from dist/ByteBufferAB.js rename to dist/bytebuffer.js index 22231fb..10df3d4 100644 --- a/dist/ByteBufferAB.js +++ b/dist/bytebuffer.js @@ -23,7 +23,7 @@ (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) - define(["Long"], factory); + define(["long"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "4.1.0"; + ByteBuffer.VERSION = "5.0.0"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/ByteBufferAB.min.js b/dist/bytebuffer.min.js similarity index 99% rename from dist/ByteBufferAB.min.js rename to dist/bytebuffer.min.js index fa48fa8..e0d7136 100644 --- a/dist/ByteBufferAB.min.js +++ b/dist/bytebuffer.min.js @@ -7,7 +7,7 @@ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;f=c?f-1:0;var q=c?-1:1,k=a[b+f];f+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(e=Math.pow(2,-d))&&(d--,e*=2),b=1<=d+k?b+y/e:b+y*Math.pow(2,1-k),2<=b*e&&(d++,e/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*e-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+n]= -b&255,n+=l,b/=256,f-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& (d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0=d&&null!==(f=a())&&56320<=f&&57343>=f?(c(1024*(d-55296)+f-56320+65536),f=null):c(d);null!==f&&c(f)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!== (d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b,c){a.d(b,function(b){a.i(b,c)})},c:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b= this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.c(function(){return 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 literal 0 HcmV?d00001 diff --git a/dist/ByteBufferAB.min.map b/dist/bytebuffer.min.map similarity index 99% rename from dist/ByteBufferAB.min.map rename to dist/bytebuffer.min.map index 3d2ee7c..7fc2353 100644 --- a/dist/ByteBufferAB.min.map +++ b/dist/bytebuffer.min.map @@ -3,6 +3,6 @@ "file":"", "lineCount":90, "mappings":"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", -"sources":["dist/ByteBufferAB.js"], +"sources":["dist/bytebuffer.js"], "names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","readBytes","ByteBufferPrototype.readBytes","relative","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","writeByte","readInt8","ByteBufferPrototype.readInt8","readByte","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","writeVarint32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","readVarint32","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","start","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] } diff --git a/index.js b/index.js index 4e9e48e..cf99dc9 100644 --- a/index.js +++ b/index.js @@ -1,23 +1 @@ -/* - Copyright 2013 Daniel Wirtz - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ -var ByteBufferNB = require("./dist/ByteBufferNB.js"), - ByteBufferAB = require("./dist/ByteBufferAB.js"), - ByteBufferAB_DataView = require("./dist/ByteBufferAB_DataView.js"); - -module.exports = ByteBufferNB; -module.exports.ByteBufferNB = ByteBufferNB; -module.exports.ByteBufferAB = ByteBufferAB; -module.exports.ByteBufferAB_DataView = ByteBufferAB_DataView; +module.exports = require("./dist/bytebuffer-node.js"); diff --git a/package.json b/package.json index b3b1ffe..7cc176a 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "bytebuffer", - "version": "4.1.0", + "version": "5.0.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", - "main": "index.js", - "browser": "dist/ByteBufferAB.js", + "main": "./dist/bytebuffer-node.js", + "browser": "./dist/bytebuffer.js", "repository": { "type": "git", "url": "https://github.com/dcodeIO/ByteBuffer.js.git" @@ -24,8 +24,7 @@ "webrtc" ], "dependencies": { - "long": "~2 >=2.3.0", - "bufferview": "~1" + "long": "~3" }, "devDependencies": { "closurecompiler": "~1", @@ -44,9 +43,9 @@ "test": "node node_modules/testjs/bin/testjs tests/suite.js", "make": "npm run-script build && npm run-script compile && npm run-script compress && npm test", "build": "node scripts/build.js", - "compile": "npm run-script compileAB && npm run-script compileAB_DataView", - "compileAB": "ccjs dist/ByteBufferAB.js --create_source_map=dist/ByteBufferAB.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB.min.js", - "compileAB_DataView": "ccjs dist/ByteBufferAB_DataView.js --create_source_map=dist/ByteBufferAB_DataView.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/Long.js > dist/ByteBufferAB_DataView.min.js", - "compress": "gzip -c -9 dist/ByteBufferAB.min.js > dist/ByteBufferAB.min.js.gz && gzip -c -9 dist/ByteBufferAB_DataView.min.js > dist/ByteBufferAB_DataView.min.js.gz" + "compile": "npm run-script compile-default && npm run-script compile-dataview", + "compile-default": "ccjs dist/bytebuffer.js --create_source_map=dist/bytebuffer.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/long.js > dist/bytebuffer.min.js", + "compile-dataview": "ccjs dist/bytebuffer-dataview.js --create_source_map=dist/bytebuffer-dataview.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/long.js > dist/bytebuffer-dataview.min.js", + "compress": "gzip -c -9 dist/bytebuffer.min.js > dist/bytebuffer.min.js.gz && gzip -c -9 dist/bytebuffer-dataview.min.js > dist/bytebuffer-dataview.min.js.gz" } } diff --git a/scripts/build.js b/scripts/build.js index a0e9502..011a851 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -71,40 +71,39 @@ var scope = { // Other ALIASES : true, // Include aliases like writeByte, writeShort .. - BUFFERVIEW : false, // Include BufferView as ByteBuffer#view under node INLINE : true, // Inline any assertion code VERBOSE_MS : false // Include MetaScript details as comments }; // Optimize for size : INLINE=false, ALIASES=false, VERBOSE_MS=false, WHATEVERYOUDONTNEED=false -// Optimize for speed : INLINE=true, BUFFERVIEW=false +// Optimize for speed : INLINE=true if (!scope.UTF8) scope.STRINGS = false; // Build node ByteBuffer using Buffers scope.NODE = true; -console.log("Building ByteBufferNB with scope", JSON.stringify(scope, null, 2)); +console.log("Building bytebuffer-node with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( - path.join(distDir, "ByteBufferNB.js"), - MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap_node.js")), filename, scope, srcDir) + path.join(distDir, "bytebuffer-node.js"), + MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap-node.js")), filename, scope, srcDir) ); // Build browser ByteBuffer using Typed Arrays scope.NODE = false; scope.DATAVIEW = false; delete scope.BUFFERVIEW; -console.log("Building ByteBufferAB with scope", JSON.stringify(scope, null, 2)); +console.log("Building bytebuffer.js with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( - path.join(distDir, "ByteBufferAB.js"), + path.join(distDir, "bytebuffer.js"), MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap.js")), filename, scope) ); // Build alternative browser ByteBuffer using a DataView scope.NODE = false; scope.DATAVIEW = true; -console.log("Building ByteBufferAB_DataView with scope", JSON.stringify(scope, null, 2)); +console.log("Building bytebuffer-dataview with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( - path.join(distDir, "ByteBufferAB_DataView.js"), + path.join(distDir, "bytebuffer-dataview.js"), MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap.js")), filename, scope) ); diff --git a/src/ByteBuffer.js b/src/ByteBuffer.js index 0e1735a..52e2f68 100644 --- a/src/ByteBuffer.js +++ b/src/ByteBuffer.js @@ -41,19 +41,7 @@ var ByteBuffer = function(capacity, littleEndian, noAssert) { * @expose */ this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); - //? } - //? if (NODE && BUFFERVIEW) { - - /** - * View to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. This is not - * used internally but may be useful if you need to access its functionality in node as well as the browser. - * @type {?BufferView} - * @expose - * @see https://github.com/dcodeIO/node-BufferView - */ - this.view = capacity === 0 ? null : new BufferView(this.buffer); - //? } else if (!NODE) { - + //? if (DATAVIEW) { /** * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. diff --git a/src/bower.json b/src/bower.json index 23d20f7..99dc4a3 100644 --- a/src/bower.json +++ b/src/bower.json @@ -3,7 +3,7 @@ "version": "/*?= VERSION */", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", - "main": "dist/ByteBufferAB.js", + "main": "dist/bytebuffer.js", "keywords": ["net", "array", "buffer", "arraybuffer", "typed array", "bytebuffer", "json", "websocket", "webrtc"], "dependencies": { "long": "latest" diff --git a/src/bytebuffer.js b/src/bytebuffer.js new file mode 100644 index 0000000..52e2f68 --- /dev/null +++ b/src/bytebuffer.js @@ -0,0 +1,220 @@ +//? include("macros.js"); +/** + * Constructs a new ByteBuffer. + * @class The swiss army knife for binary data in JavaScript. + * @exports ByteBuffer + * @constructor + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @expose + */ +var ByteBuffer = function(capacity, littleEndian, noAssert) { + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (!noAssert) { + capacity = capacity | 0; + if (capacity < 0) + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; + } + //? if (NODE) { + + /** + * Backing node Buffer. + * @type {!Buffer} + * @expose + */ + this.buffer = capacity === 0 ? EMPTY_BUFFER : new Buffer(capacity); + //? } else { + + /** + * Backing ArrayBuffer. + * @type {!ArrayBuffer} + * @expose + */ + this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); + + //? if (DATAVIEW) { + /** + * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?DataView} + * @expose + */ + this.view = capacity === 0 ? null : new DataView(this.buffer); + //? } else { + /** + * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?Uint8Array} + * @expose + */ + this.view = capacity === 0 ? null : new Uint8Array(this.buffer); + //? } + //? } + + /** + * Absolute read/write offset. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.offset = 0; + + /** + * Marked offset. + * @type {number} + * @expose + * @see ByteBuffer#mark + * @see ByteBuffer#reset + */ + this.markedOffset = -1; + + /** + * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.limit = capacity; + + /** + * Whether to use little endian byte order, defaults to `false` for big endian. + * @type {boolean} + * @expose + */ + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : false; + + /** + * Whether to skip assertions of offsets and values, defaults to `false`. + * @type {boolean} + * @expose + */ + this.noAssert = !!noAssert; +}; + +/** + * ByteBuffer version. + * @type {string} + * @const + * @expose + */ +ByteBuffer.VERSION = "/*?= VERSION */"; + +/** + * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. + * @type {boolean} + * @const + * @expose + */ +ByteBuffer.LITTLE_ENDIAN = true; + +/** + * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. + * @type {boolean} + * @const + * @expose + */ +ByteBuffer.BIG_ENDIAN = false; + +/** + * Default initial capacity of `16`. + * @type {number} + * @expose + */ +ByteBuffer.DEFAULT_CAPACITY = 16; + +/** + * Default endianess of `false` for big endian. + * @type {boolean} + * @expose + */ +ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; + +/** + * Default no assertions flag of `false`. + * @type {boolean} + * @expose + */ +ByteBuffer.DEFAULT_NOASSERT = false; +//? if (NODE) { + +/** + * A `Long` class for representing a 64-bit two's-complement integer value. + * @type {!Long} + * @const + * @see https://npmjs.org/package/long + * @expose + */ +ByteBuffer.Long = Long; +//? } else { + +/** + * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded + * and int64 support is not available. + * @type {?Long} + * @const + * @see https://github.com/dcodeIO/Long.js + * @expose + */ +ByteBuffer.Long = Long || null; +//? } + +/** + * @alias ByteBuffer.prototype + * @inner + */ +var ByteBufferPrototype = ByteBuffer.prototype; + +/** + * An indicator used to reliably determine if an object is a ByteBuffer or not. + * @type {boolean} + * @const + * @expose + * @private + */ +ByteBufferPrototype.__isByteBuffer__; + +Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { + value: true, + enumerable: false, + configurable: false +}); + +//? include("helpers.js"); + +//? include("methods/static/*.js"); +//? if (BYTES) { + +//? include("types/bytes/*.js"); +//? } +//? if (INTS) { + +//? include("types/ints/*.js"); +//? } +//? if (FLOATS) { + +//? include("types/floats/float*.js"); +//? } +//? if (VARINTS) { + +//? include("types/varints/*.js"); +//? } +//? if (UTF8 && STRINGS) { + +//? include("types/strings/*.js"); +//? } + +//? include("methods/*.js"); +//? if (ENCODINGS) { + +//? include("encodings/*.js"); +//? } \ No newline at end of file diff --git a/src/encodings/hex.js b/src/encodings/hex.js index 5a0cbcf..289ecb1 100644 --- a/src/encodings/hex.js +++ b/src/encodings/hex.js @@ -52,8 +52,6 @@ ByteBuffer.fromHex = function(str, littleEndian, noAssert) { //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, true); bb.buffer = new Buffer(str, "hex"); - //? if (BUFFERVIEW) - bb.view = new BufferView(bb.buffer); bb.limit = bb.buffer.length; //? } else { var k = str.length, diff --git a/src/encodings/utf8.js b/src/encodings/utf8.js index 0107fee..c1f7b54 100644 --- a/src/encodings/utf8.js +++ b/src/encodings/utf8.js @@ -53,8 +53,6 @@ ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { //? if (NODE) { var bb = new ByteBuffer(0, littleEndian, noAssert); bb.buffer = new Buffer(str, "utf8"); - //? if (BUFFERVIEW) - bb.view = new BufferView(bb.buffer); bb.limit = bb.buffer.length; //? } else { var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), diff --git a/src/methods/clone.js b/src/methods/clone.js index 7229b36..67bded2 100644 --- a/src/methods/clone.js +++ b/src/methods/clone.js @@ -12,8 +12,6 @@ ByteBufferPrototype.clone = function(copy) { var buffer = new Buffer(this.buffer.length); this.buffer.copy(buffer); bb.buffer = buffer; - //? if (BUFFERVIEW) - bb.view = new BufferView(this.buffer); //? } else { bb.buffer = new ArrayBuffer(this.buffer.byteLength); //? if (DATAVIEW) { @@ -25,7 +23,7 @@ ByteBufferPrototype.clone = function(copy) { //? } } else { bb.buffer = this.buffer; - //? if (!NODE || BUFFERVIEW) + //? if (!NODE) bb.view = this.view; } bb.offset = this.offset; diff --git a/src/methods/compact.js b/src/methods/compact.js index dd4651f..8888378 100644 --- a/src/methods/compact.js +++ b/src/methods/compact.js @@ -18,7 +18,7 @@ ByteBufferPrototype.compact = function(begin, end) { var len = end - begin; if (len === 0) { this.buffer = EMPTY_BUFFER; - //? if (!NODE || BUFFERVIEW) + //? if (!NODE) this.view = null; if (this.markedOffset >= 0) this.markedOffset -= begin; this.offset = 0; @@ -29,8 +29,6 @@ ByteBufferPrototype.compact = function(begin, end) { var buffer = new Buffer(len); this.buffer.copy(buffer, 0, begin, end); this.buffer = buffer; - //? if (BUFFERVIEW) - this.view = new BufferView(buffer); //? } else if (DATAVIEW) { var buffer = new ArrayBuffer(len); new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); diff --git a/src/methods/prepend.js b/src/methods/prepend.js index c090090..879c1e8 100644 --- a/src/methods/prepend.js +++ b/src/methods/prepend.js @@ -36,8 +36,6 @@ ByteBufferPrototype.prepend = function(source, encoding, offset) { var buffer = new Buffer(this.buffer.length + diff); this.buffer.copy(buffer, len, offset, this.buffer.length); this.buffer = buffer; - //? if (BUFFERVIEW) - this.view = new BufferView(buffer); //? } else if (DATAVIEW) { var buffer = new ArrayBuffer(this.buffer.byteLength + diff); var arrayView = new Uint8Array(buffer); diff --git a/src/methods/resize.js b/src/methods/resize.js index 5cb4a1d..b015795 100644 --- a/src/methods/resize.js +++ b/src/methods/resize.js @@ -18,8 +18,6 @@ ByteBufferPrototype.resize = function(capacity) { var buffer = new Buffer(capacity); this.buffer.copy(buffer); this.buffer = buffer; - //? if (BUFFERVIEW) - this.view = new BufferView(buffer); } //? } else { if (this.buffer.byteLength < capacity) { diff --git a/src/methods/static/wrap.js b/src/methods/static/wrap.js index 3335834..ba759ab 100644 --- a/src/methods/static/wrap.js +++ b/src/methods/static/wrap.js @@ -85,8 +85,6 @@ ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { bb = new ByteBuffer(0, littleEndian, noAssert); if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER bb.buffer = buffer; - //? if (BUFFERVIEW) - bb.view = new BufferView(buffer); bb.limit = buffer.length; } //? } else { diff --git a/src/wrap_node.js b/src/wrap-node.js similarity index 83% rename from src/wrap_node.js rename to src/wrap-node.js index c65ca85..da61003 100644 --- a/src/wrap_node.js +++ b/src/wrap-node.js @@ -26,8 +26,6 @@ module.exports = (function() { var buffer = require("buffer"), Buffer = buffer["Buffer"], - //? if (BUFFERVIEW) - BufferView = require("bufferview"), Long = require("long"), memcpy = null; try { memcpy = require("memcpy"); } catch (e) {} @@ -46,17 +44,7 @@ module.exports = (function() { * @expose */ ByteBuffer.memcpy = memcpy; - //? if (BUFFERVIEW) { - - /** - * node-BufferView. Available when compiled with `BUFFERVIEW=true`, which is the default. - * @type {!BufferView} - * @see https://npmjs.org/package/bufferview - * @expose - */ - ByteBuffer.BufferView = BufferView; - //? } - + return ByteBuffer; })(); diff --git a/src/wrap.js b/src/wrap.js index ddeb526..f606b1e 100644 --- a/src/wrap.js +++ b/src/wrap.js @@ -26,7 +26,7 @@ (function(global, factory) { /* AMD */ if (typeof define === 'function' && define["amd"]) - define(["Long"], factory); + define(["long"], factory); /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) module['exports'] = (function() { var Long; try { Long = require("long"); } catch (e) {} @@ -38,6 +38,6 @@ })(this, function(Long) { "use strict"; - //? include("ByteBuffer.js"); + //? include("bytebuffer.js"); return ByteBuffer; }); diff --git a/tests/suite.js b/tests/suite.js index b97a531..7a6525f 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -18,10 +18,10 @@ * ByteBuffer.js Test Suite. * @author Daniel Wirtz */ // -var ByteBuffer = require("../dist/ByteBufferNB.js"); +var ByteBuffer = require("../dist/bytebuffer-node.js"); var ByteBufferNB = ByteBuffer.ByteBufferNB = ByteBuffer; -var ByteBufferAB = ByteBuffer.ByteBufferAB = require("../dist/ByteBufferAB.min.js"); -var ByteBufferAB_DataView = ByteBuffer.ByteBufferAB_DataView = require("../dist/ByteBufferAB_DataView.min.js"); +var ByteBufferAB = ByteBuffer.ByteBufferAB = require("../dist/bytebuffer.min.js"); +var ByteBufferAB_DataView = ByteBuffer.ByteBufferAB_DataView = require("../dist/bytebuffer-dataview.min.js"); var pkg = require("../package.json"); /** @@ -946,84 +946,6 @@ function makeSuite(ByteBuffer) { test.done(); }; - - suite.loaders = {}; - - suite.loaders.commonjs = function(test) { - var fs = require("fs"), - vm = require("vm"), - util = require('util'); - - var code = fs.readFileSync(__dirname+"/../dist/ByteBuffer"+(type === ArrayBuffer ? "AB" : "NB")+".js"); - var Long = ByteBuffer.Long; - var sandbox = new Sandbox({ - require: function(moduleName) { - switch (moduleName) { - case 'long': return Long; - case 'buffer': return require("buffer"); - } - }, - module: { - exports: {}, - id: "bytebuffer" - }, - exports: {}, - ArrayBuffer: ArrayBuffer, - DataView: DataView - }); - vm.runInNewContext(code, sandbox, "commonjs-sandbox"); - test.equal(typeof sandbox.module.exports, 'function'); - test.ok(sandbox.module.exports.Long); - test.strictEqual(sandbox.module.exports.Long, ByteBuffer.Long); - test.done(); - }; - - if (type === ArrayBuffer) { - suite.loaders.amd = function(test) { - var fs = require("fs"), - vm = require("vm"), - util = require('util'); - - var code = fs.readFileSync(__dirname+"/../dist/ByteBufferAB.min.js"); - var sandbox = new Sandbox({ - require: function() {}, - define: (function() { - function define(moduleName, dependencies, constructor) { - define.called = [moduleName, dependencies]; - } - define.amd = true; - define.called = null; - return define; - })(), - DataView: DataView - }); - vm.runInNewContext(code, sandbox, "amd-sandbox"); - test.ok(sandbox.define.called); - test.equal(sandbox.define.called[0][0], "Long"); - test.done(); - }; - - suite.loaders.shim = function(test) { - var fs = require("fs"), - vm = require("vm"), - util = require('util'); - - var code = fs.readFileSync(__dirname+"/../dist/ByteBufferAB.min.js"); - var sandbox = new Sandbox({ - dcodeIO: { - Long: ByteBuffer.Long - }, - ArrayBuffer: ArrayBuffer, - DataView: DataView - }); - vm.runInNewContext(code, sandbox, "shim-sandbox"); - test.notEqual(typeof sandbox.dcodeIO, 'undefined'); - test.notEqual(typeof sandbox.dcodeIO.ByteBuffer, 'undefined'); - test.ok(sandbox.dcodeIO.ByteBuffer.Long); - test.strictEqual(sandbox.dcodeIO.ByteBuffer.Long, ByteBuffer.Long); - test.done(); - }; - } suite.debug = {}; From 5655f7c0096cff0e895fd64a2aa4957c392c136c Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 23 Oct 2015 20:50:54 +0200 Subject: [PATCH 75/91] Also update repository urls, some cleanup --- .npmignore | 4 - dist/bytebuffer-dataview.min.js.gz | Bin 7650 -> 7650 bytes dist/bytebuffer.min.js.gz | Bin 8331 -> 8331 bytes externs/bytebuffer.js | 763 +++++++++++++++++++++++++++++ package.json | 4 +- webpack.config.js | 3 - 6 files changed, 765 insertions(+), 9 deletions(-) delete mode 100644 .npmignore create mode 100644 externs/bytebuffer.js delete mode 100644 webpack.config.js diff --git a/.npmignore b/.npmignore deleted file mode 100644 index fe024b6..0000000 --- a/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules/ -npm-debug.log -.idea/ -ByteBuffer.png diff --git a/dist/bytebuffer-dataview.min.js.gz b/dist/bytebuffer-dataview.min.js.gz index 70c0eb5e49e81276d3205b5376f4dd7d916fcac2..bba6dbb2e4db60a0c1ea9b4944e1cea9b90a5532 100644 GIT binary patch delta 15 WcmaE4{m7b4zMF$1t8pXS9a#V`L~>_6@8;l0Yuw1zssI2bnFO2w delta 15 WcmeBn>~>_6@8;m>uGq-dssI2cN(8t7 diff --git a/externs/bytebuffer.js b/externs/bytebuffer.js new file mode 100644 index 0000000..a321f54 --- /dev/null +++ b/externs/bytebuffer.js @@ -0,0 +1,763 @@ +/* + * Copyright 2012 The Closure Compiler Authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @fileoverview Externs for ByteBuffer.js. + * @see https://github.com/dcodeIO/ByteBuffer.js + * @externs + */ + +/** + BEGIN_NODE_INCLUDE + var ByteBuffer = require('bytebuffer'); + END_NODE_INCLUDE + */ + +/** + * @param {number=} capacity + * @param {boolean=} littleEndian + * @param {boolean=} sparse + * @constructor + */ +function ByteBuffer(capacity, littleEndian, sparse) {}; + +/** + * @type {?ArrayBuffer} + */ +ByteBuffer.prototype.array; + +/** + * @type {number} + */ +ByteBuffer.prototype.offset; + +/** + * @type {number} + */ +ByteBuffer.prototype.markedOffset; + +/** + * @type {number} + */ +ByteBuffer.prototype.limit; + +/** + * @type {boolean} + */ +ByteBuffer.prototype.littleEndian; + +/** + * @type {string} + * @const + */ +ByteBuffer.VERSION; + +/** + * @type {number} + * @const + */ +ByteBuffer.DEFAULT_CAPACITY = 32; + +/** + * @type {boolean} + * @const + */ +ByteBuffer.LITTLE_ENDIAN = true; + +/** + * @type {boolean} + * @const + */ +ByteBuffer.BIG_ENDIAN = false; + +/** + * @param {number=} capacity + * @param {boolean=} littleEndian + * @returns {!ByteBuffer} + * @nosideeffects + */ +ByteBuffer.allocate = function(capacity, littleEndian) {}; + +/** + * @param {!ArrayBuffer|!Buffer|!{array: ArrayBuffer}|!{buffer: ArrayBuffer}|string} buffer + * @param {(string|boolean)=} enc + * @param {boolean=} littleEndian + * @returns {!ByteBuffer} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.wrap = function(buffer, enc, littleEndian) {}; + +/** + * @param {boolean=} littleEndian + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.LE = function(littleEndian) {}; + +/** + * @param {boolean=} bigEndian + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.BE = function(bigEndian) {}; + +/** + * @param {number} capacity + * @returns {boolean} + */ +ByteBuffer.prototype.resize = function(capacity) {}; + +/** + * @param {number} begin + * @param {number} end + * @returns {!ByteBuffer} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.prototype.slice = function(begin, end) {}; + +/** + * @param {number} begin + * @param {number} end + * @returns {!ByteBuffer} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.prototype.sliceAndCompact = function(begin, end) {}; + +/** + * @param {number} capacity + * @returns {boolean} + */ +ByteBuffer.prototype.ensureCapacity = function(capacity) {}; + +/** + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.flip = function() {}; + +/** + * @param {number=} offset + * @returns {!ByteBuffer} + * @throws {Error} + */ +ByteBuffer.prototype.mark = function(offset) {}; + +/** + * @returns {!ByteBuffer} this + */ +ByteBuffer.prototype.reset = function() {}; + +/** + * @returns {!ByteBuffer} + * @nosideeffects + */ +ByteBuffer.prototype.clone = function() {}; + +/** + * @returns {!ByteBuffer} + * @nosideeffects + */ +ByteBuffer.prototype.copy = function() {}; + +/** + * @returns {number} + * @nosideeffects + */ +ByteBuffer.prototype.remaining = function() {}; + +/** + * @returns {number} + * @nosideeffects + */ +ByteBuffer.prototype.capacity = function() {}; + +/** + * @returns {!ByteBuffer} + * @throws {Error} + */ +ByteBuffer.prototype.compact = function() {}; + +/** + * @returns {!ByteBuffer} + * @throws {Error} + */ +ByteBuffer.prototype.reverse = function() {}; + +/** + * @param {!ByteBuffer} src + * @param {number=} offset + * @returns {!ByteBuffer} + * @throws {Error} + */ +ByteBuffer.prototype.append = function(src, offset) {}; + +/** + * @param {!ByteBuffer} src + * @param {number=} offset + * @returns {!ByteBuffer} + * @throws {Error} + */ +ByteBuffer.prototype.prepend = function(src, offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeInt8 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readInt8 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeByte = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readByte = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeUint8 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readUint8 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeInt16 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readInt16 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeShort = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readShort = function (offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeUint16 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readUint16 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeInt32 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readInt32 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeInt = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readInt = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeUint32 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readUint32 = function(offset) {}; + +/** + * @param {number|Long} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeInt64 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {Long} + * @throws {Error} + */ +ByteBuffer.prototype.readInt64 = function(offset) {}; + +/** + * @param {number|Long} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeUint64 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {Long} + * @throws {Error} + */ +ByteBuffer.prototype.readUint64 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeFloat32 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readFloat32 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeFloat = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readFloat = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeFloat64 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readFloat64 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeDouble = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readDouble = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeLong = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.prototype.readLong = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeVarint32 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number|!{value: number, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readVarint32 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeZigZagVarint32 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number|{value: number, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readZigZagVarint32 = function(offset) {}; + +/** + * @param {number|Long} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + * @throws {Error} + */ +ByteBuffer.prototype.writeVarint64 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {!Long|{value: !Long, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readVarint64 = function(offset) {}; + +/** + * @param {number|Long} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + * @throws {Error} + */ +ByteBuffer.prototype.writeZigZagVarint64 = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {!Long|!{value: !Long, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readZigZagVarint64 = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeVarint = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number|!{value: number, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readVarint = function(offset) {}; + +/** + * @param {number} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeZigZagVarint = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {number|{value: number, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readZigZagVarint = function(offset) {}; + +/** + * @param {number} value + * @returns {number} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.calculateVarint32 = function(value) {}; + +/** + * @param {number} value + * @returns {number} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.calculateVarint64 = function(value) {}; + +/** + * @param {string} str + * @returns {number} + * @nosideeffects + */ +ByteBuffer.calculateUTF8String = function(str) {}; + +/** + * @param {string} str + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeUTF8String = function(str, offset) {}; + +/** + * @param {number} chars + * @param {number=} offset + * @returns {string|!{string: string, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readUTF8String = function(chars, offset) {}; + +/** + * @param {number} length + * @param {number} offset + * @throws {Error} + */ +ByteBuffer.prototype.readUTF8StringBytes = function(length, offset) {}; + +/** + * @param {string} str + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeLString = function(str, offset) {}; + +/** + * @param {number=} offset + * @returns {string|!{string: string, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readLString = function(offset) {}; + +/** + * @param {string} str + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeVString = function(str, offset) {}; + +/** + * @param {number=} offset + * @returns {string|!{string: string, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readVString = function(offset) {}; + +/** + * @param {string} str + * @param {number=} offset + * @returns {!ByteBuffer|number} + */ +ByteBuffer.prototype.writeCString = function(str, offset) {}; + +/** + * @param {number=} offset + * @returns {string|!{string: string, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readCString = function(offset) {}; + +/** + * @param {number=} wrap + * @returns {string} + * @nosideeffects + */ +ByteBuffer.prototype.toColumns = function(wrap) {}; + +/** + * @param {function(string)=} out + */ +ByteBuffer.prototype.printDebug = function(out) {}; + +/** + * @param {boolean=} debug + * @returns {string} + * @nosideeffects + */ +ByteBuffer.prototype.toHex = function(debug) {}; + +/** + * @returns {string} + * @nosideeffects + */ +ByteBuffer.prototype.toBinary = function() {}; + +/** + * @returns {string} + * @nosideeffects + */ +ByteBuffer.prototype.toUTF8 = function() {}; + +/** + * @returns {string} + * @nosideeffects + */ +ByteBuffer.prototype.toBase64 = function() {}; + +/** + * @param {string=} enc + * @returns {string} + * @nosideeffects + */ +ByteBuffer.prototype.toString = function(enc) {}; + +/** + * @param {boolean=} forceCopy + * @returns {ArrayBuffer} + * @nosideeffects + */ +ByteBuffer.prototype.toArrayBuffer = function(forceCopy) {}; + +/** + * @param {!ByteBuffer} src + * @param {number} offset + * @returns {!{char: number, length: number}} + * @nosideeffects + */ +ByteBuffer.decodeUTF8Char = function(src, offset) {}; + +/** + * @param {number} charCode + * @param {!ByteBuffer} dst + * @param {number} offset + * @returns {number} + * @throws {Error} + */ +ByteBuffer.encodeUTF8Char = function(charCode, dst, offset) {}; + +/** + * @param {number} charCode + * @returns {number} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.calculateUTF8Char = function(charCode) {}; + +/** + * @param {number} n + * @returns {number} + * @nosideeffects + */ +ByteBuffer.zigZagEncode32 = function(n) {}; + +/** + * @param {number} n + * @returns {number} + * @nosideeffects + */ +ByteBuffer.zigZagDecode32 = function(n) {}; + +/** + * @param {!ByteBuffer} bb + * @returns {string} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.encode64 = function(bb) {}; + +/** + * @param {string} str + * @param {boolean=} littleEndian + * @returns {!ByteBuffer} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.decode64 = function(str, littleEndian) {}; + +/** + * @param {!ByteBuffer} bb + * @returns {string} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.encodeHex = function(bb) {}; + +/** + * @param {string} str + * @param {boolean=} littleEndian + * @returns {!ByteBuffer} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.decodeHex = function(str, littleEndian) {}; + +/** + * @param {!ByteBuffer} bb + * @returns {string} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.encodeBinary = function(bb) {}; + +/** + * @param {string} str + * @param {boolean=} littleEndian + * @returns {!ByteBuffer} + * @throws {Error} + * @nosideeffects + */ +ByteBuffer.decodeBinary = function(str, littleEndian) {}; + +/** + * @type {number} + * @const + */ +ByteBuffer.MAX_VARINT32_BYTES = 5; + +/** + * @type {number} + * @const + */ +ByteBuffer.MAX_VARINT64_BYTES = 10; diff --git a/package.json b/package.json index 7cc176a..a15fb58 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,10 @@ "browser": "./dist/bytebuffer.js", "repository": { "type": "git", - "url": "https://github.com/dcodeIO/ByteBuffer.js.git" + "url": "https://github.com/dcodeIO/bytebuffer.js.git" }, "bugs": { - "url": "https://github.com/dcodeIO/ByteBuffer.js/issues" + "url": "https://github.com/dcodeIO/bytebuffer.js/issues" }, "keywords": [ "net", diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 4b90a3e..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - entry: "./dist/ByteBufferAB.js" -}; From 51464958c86d3b84bbb8909fc5c7d7cd0b5a439e Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 23 Oct 2015 20:56:58 +0200 Subject: [PATCH 76/91] Update logo --- ByteBuffer.png | Bin 4381 -> 0 bytes bytebuffer.png | Bin 4381 -> 3652 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ByteBuffer.png diff --git a/ByteBuffer.png b/ByteBuffer.png deleted file mode 100644 index 0f50568f26f12331f2f9c0aa84ba72c2f6bf0e19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4381 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 XiGhSdWW{Ls00000NkvXXu0mjfNdRw~ diff --git a/bytebuffer.png b/bytebuffer.png index 0f50568f26f12331f2f9c0aa84ba72c2f6bf0e19..5d1d8ca148e03b9e7069c771dced0b67637c5142 100644 GIT binary patch delta 3650 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 UPCw%;!~g&Q07*qoM6N<$f(8WNFaQ7m literal 4381 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 XiGhSdWW{Ls00000NkvXXu0mjfNdRw~ From ffd2d49450ba45d088e22faf769b06ccc1f09a74 Mon Sep 17 00:00:00 2001 From: dcode Date: Sat, 24 Oct 2015 21:20:50 +0200 Subject: [PATCH 77/91] Renamed other relevant parts --- README.md | 24 ++++++++++++------------ bytebuffer.png | Bin 3652 -> 3699 bytes dist/bytebuffer-dataview.js | 6 +++--- dist/bytebuffer-dataview.min.js | 6 +++--- dist/bytebuffer-dataview.min.js.gz | Bin 7650 -> 7638 bytes dist/bytebuffer-node.js | 6 +++--- dist/bytebuffer.js | 6 +++--- dist/bytebuffer.min.js | 6 +++--- dist/bytebuffer.min.js.gz | Bin 8331 -> 8320 bytes package.json | 4 ++-- scripts/build.js | 13 ++++--------- src/wrap-node.js | 6 +++--- src/wrap.js | 8 ++++---- tests/suite.js | 24 ++++++++++-------------- 14 files changed, 50 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 228dc9c..5dfe9d0 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -![ByteBuffer.js - The swiss army knife for binary data in JavaScript.](https://raw.github.com/dcodeIO/ByteBuffer.js/master/bytebuffer.png) +![bytebuffer.js - The swiss army knife for binary data in JavaScript.](https://raw.github.com/dcodeIO/bytebuffer.js/master/bytebuffer.png) ====================================== A fast and complete ByteBuffer implementation using either ArrayBuffers in the browser or node Buffers under node.js, generated from a single source tree through [MetaScript](https://github.com/dcodeIO/MetaScript). -[![Build Status](https://travis-ci.org/dcodeIO/ByteBuffer.js.svg?branch=master)](https://travis-ci.org/dcodeIO/ByteBuffer.js) -[![Donate](https://raw.githubusercontent.com/dcodeIO/Long.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=info%40code-emitter.com&item_name=Open%20Source%3A%20ByteBuffer.js) +[![Build Status](https://travis-ci.org/dcodeIO/bytebuffer.js.svg?branch=master)](https://travis-ci.org/dcodeIO/bytebuffer.js) +[![Donate](https://raw.githubusercontent.com/dcodeIO/bytebuffer.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=dcode%40dcode.io&item_name=Open%20Source%3A%20bytebuffer.js) Features -------- @@ -34,26 +34,26 @@ var ByteBuffer = require("bytebuffer"); var bb = new ByteBuffer() .writeIString("Hello world!") .flip(); -console.log(bb.readIString()+" from ByteBuffer.js"); +console.log(bb.readIString()+" from bytebuffer.js"); ``` -In the browser, 64 bit integer support is optional and present only if [Long.js](https://github.com/dcodeIO/Long.js) has -been loaded prior to ByteBuffer.js. +In the browser, 64 bit integer support is optional and present only if [Long.js](https://github.com/dcodeIO/long.js) has +been loaded prior to bytebuffer.js. API --- -* [View the API documentation](https://github.com/dcodeIO/ByteBuffer.js/wiki/API) -* [Check the wiki](https://github.com/dcodeIO/ByteBuffer.js/wiki) +* [View the API documentation](https://github.com/dcodeIO/bytebuffer.js/wiki/API) +* [Check the wiki](https://github.com/dcodeIO/bytebuffer.js/wiki) Downloads --------- -* [Distributions](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist) -* [ZIP-Archive](https://github.com/dcodeIO/ByteBuffer.js/archive/master.zip) -* [Tarball](https://github.com/dcodeIO/ByteBuffer.js/tarball/master) +* [Distributions](https://github.com/dcodeIO/bytebuffer.js/tree/master/dist) +* [ZIP-Archive](https://github.com/dcodeIO/bytebuffer.js/archive/master.zip) +* [Tarball](https://github.com/dcodeIO/bytebuffer.js/tarball/master) Support for IE<10, FF<15, Chrome<9 etc. --------------------------------------- -* Use bytebuffer-dataview with a polyfill ([see](https://github.com/dcodeIO/ByteBuffer.js/tree/master/dist)) +* Use bytebuffer-dataview with a polyfill ([see](https://github.com/dcodeIO/bytebuffer.js/tree/master/dist)) Contributors ------------ diff --git a/bytebuffer.png b/bytebuffer.png index 5d1d8ca148e03b9e7069c771dced0b67637c5142..d31cd6b48922629865a513ab36491775413a60f3 100644 GIT binary patch delta 3662 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 delta 3615 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 diff --git a/dist/bytebuffer-dataview.js b/dist/bytebuffer-dataview.js index 9a6808f..3c6ec42 100644 --- a/dist/bytebuffer-dataview.js +++ b/dist/bytebuffer-dataview.js @@ -15,10 +15,10 @@ */ /** - * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer: ArrayBuffer, Accessor: DataView * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details + * see: https://github.com/dcodeIO/bytebuffer.js for details */ (function(global, factory) { diff --git a/dist/bytebuffer-dataview.min.js b/dist/bytebuffer-dataview.min.js index 6d32933..acebbe1 100644 --- a/dist/bytebuffer-dataview.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -1,8 +1,8 @@ /* - ByteBuffer.js (c) 2015 Daniel Wirtz - [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + bytebuffer.js (c) 2015 Daniel Wirtz + Backing buffer: ArrayBuffer, Accessor: DataView Released under the Apache License, Version 2.0 - see: https://github.com/dcodeIO/ByteBuffer.js for details + see: https://github.com/dcodeIO/bytebuffer.js for details */ function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return 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 delta 7580 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 - * [BUILD] ByteBufferNB - Backing buffer / Accessor: node Buffer + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer / Accessor: node Buffer * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details + * see: https://github.com/dcodeIO/bytebuffer.js for details */ module.exports = (function() { "use strict"; diff --git a/dist/bytebuffer.js b/dist/bytebuffer.js index 10df3d4..85cbe4a 100644 --- a/dist/bytebuffer.js +++ b/dist/bytebuffer.js @@ -15,10 +15,10 @@ */ /** - * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details + * see: https://github.com/dcodeIO/bytebuffer.js for details */ (function(global, factory) { diff --git a/dist/bytebuffer.min.js b/dist/bytebuffer.min.js index e0d7136..e7ad019 100644 --- a/dist/bytebuffer.min.js +++ b/dist/bytebuffer.min.js @@ -1,8 +1,8 @@ /* - ByteBuffer.js (c) 2015 Daniel Wirtz - [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array + bytebuffer.js (c) 2015 Daniel Wirtz + Backing buffer: ArrayBuffer, Accessor: Uint8Array Released under the Apache License, Version 2.0 - see: https://github.com/dcodeIO/ByteBuffer.js for details + see: https://github.com/dcodeIO/bytebuffer.js for details */ function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;f=c?f-1:0;var q=c?-1:1,k=a[b+f]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 diff --git a/package.json b/package.json index a15fb58..c3cb75a 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "version": "5.0.0", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", - "main": "./dist/bytebuffer-node.js", - "browser": "./dist/bytebuffer.js", + "main": "dist/bytebuffer-node.js", + "browser": "dist/bytebuffer.js", "repository": { "type": "git", "url": "https://github.com/dcodeIO/bytebuffer.js.git" diff --git a/scripts/build.js b/scripts/build.js index 011a851..3b6fb94 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -14,12 +14,7 @@ limitations under the License. */ -/** - * @overview ByteBuffer.js Build Script (c) 2013 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details - */ // -var MetaScript = require("../../MetaScript/MetaScript.js"), +var MetaScript = require("metascript"), path = require("path"), fs = require("fs"); @@ -80,7 +75,7 @@ var scope = { if (!scope.UTF8) scope.STRINGS = false; -// Build node ByteBuffer using Buffers +// Build node version using Buffers scope.NODE = true; console.log("Building bytebuffer-node with scope", JSON.stringify(scope, null, 2)); fs.writeFileSync( @@ -88,7 +83,7 @@ fs.writeFileSync( MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap-node.js")), filename, scope, srcDir) ); -// Build browser ByteBuffer using Typed Arrays +// Build browser version using Typed Arrays scope.NODE = false; scope.DATAVIEW = false; delete scope.BUFFERVIEW; @@ -98,7 +93,7 @@ fs.writeFileSync( MetaScript.transform(fs.readFileSync(filename = path.join(srcDir, "wrap.js")), filename, scope) ); -// Build alternative browser ByteBuffer using a DataView +// Build alternative browser version using a DataView scope.NODE = false; scope.DATAVIEW = true; console.log("Building bytebuffer-dataview with scope", JSON.stringify(scope, null, 2)); diff --git a/src/wrap-node.js b/src/wrap-node.js index da61003..6d157c3 100644 --- a/src/wrap-node.js +++ b/src/wrap-node.js @@ -16,10 +16,10 @@ //? NODE = true; /** - * @license ByteBuffer.js (c) 2015 Daniel Wirtz - * [BUILD] ByteBufferNB - Backing buffer / Accessor: node Buffer + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer / Accessor: node Buffer * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details + * see: https://github.com/dcodeIO/bytebuffer.js for details */ module.exports = (function() { "use strict"; diff --git a/src/wrap.js b/src/wrap.js index f606b1e..2a9136e 100644 --- a/src/wrap.js +++ b/src/wrap.js @@ -15,13 +15,13 @@ */ /** - * @license ByteBuffer.js (c) 2015 Daniel Wirtz + * @license bytebuffer.js (c) 2015 Daniel Wirtz //? if (DATAVIEW) - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: DataView + * Backing buffer: ArrayBuffer, Accessor: DataView //? else - * [BUILD] ByteBufferAB - Backing buffer: ArrayBuffer, Accessor: Uint8Array + * Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/ByteBuffer.js for details + * see: https://github.com/dcodeIO/bytebuffer.js for details */ (function(global, factory) { diff --git a/tests/suite.js b/tests/suite.js index 7a6525f..edb8bf5 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -14,14 +14,10 @@ limitations under the License. */ -/** - * ByteBuffer.js Test Suite. - * @author Daniel Wirtz - */ // var ByteBuffer = require("../dist/bytebuffer-node.js"); -var ByteBufferNB = ByteBuffer.ByteBufferNB = ByteBuffer; -var ByteBufferAB = ByteBuffer.ByteBufferAB = require("../dist/bytebuffer.min.js"); -var ByteBufferAB_DataView = ByteBuffer.ByteBufferAB_DataView = require("../dist/bytebuffer-dataview.min.js"); +var ByteBufferNode = ByteBuffer; +var ByteBufferBrowser = require("../dist/bytebuffer.min.js"); +var ByteBufferBrowser_DataView = require("../dist/bytebuffer-dataview.min.js"); var pkg = require("../package.json"); /** @@ -57,12 +53,12 @@ function makeSuite(ByteBuffer) { suite.init = function(test) { test.ok(require("../index.js")); - if (ByteBuffer == ByteBufferNB) + if (ByteBuffer == ByteBufferNode) test.log("\n\n --- ByteBufferNB ---\n".bold.white), test.log("[optional] node-memcpy is "+(ByteBuffer.memcpy ? "present" : "not present")); - else if (ByteBuffer == ByteBufferAB) + else if (ByteBuffer == ByteBufferBrowser) test.log("\n\n --- ByteBufferAB ---\n".bold.white); - else if (ByteBuffer == ByteBufferAB_DataView) + else if (ByteBuffer == ByteBufferBrowser_DataView) test.log("\n\n --- ByteBufferAB_DataView ---\n".bold.white); test.ok(type === Buffer || type === ArrayBuffer); test.ok(typeof ByteBuffer == "function"); @@ -959,7 +955,7 @@ function makeSuite(ByteBuffer) { if (type === ArrayBuffer) { suite.debug.printDebugVisual = function(test) { - var bb = ByteBuffer.wrap("Hello world! from ByteBuffer.js. This is just a last visual test of ByteBuffer#printDebug."); + var bb = ByteBuffer.wrap("Hello world! from byteBuffer.js. This is just a last visual test of ByteBuffer#printDebug."); console.log(""); bb.printDebug(console.log); test.done(); @@ -974,7 +970,7 @@ module.exports = { test.log("Version "+ByteBuffer.VERSION+", "+new Date().toISOString()+"\n"); test.done(); }, - "NB": makeSuite(ByteBufferNB), - "AB": makeSuite(ByteBufferAB), - "AB_DataView": makeSuite(ByteBufferAB_DataView) + "node": makeSuite(ByteBufferNode), + "browser": makeSuite(ByteBufferBrowser), + "dataview": makeSuite(ByteBufferBrowser_DataView) }; \ No newline at end of file From 1c107321bf605cac7a869473da83100422c64246 Mon Sep 17 00:00:00 2001 From: dcode Date: Sun, 25 Oct 2015 03:25:53 +0100 Subject: [PATCH 78/91] Preparations to replace utfx with something efficient eventually, see #60 --- dist/bytebuffer-dataview.min.js.gz | Bin 7638 -> 7638 bytes dist/bytebuffer.min.js.gz | Bin 8320 -> 8320 bytes src/encodings/impl/utf8.js | 126 +++++++++++++++++++++++++++++ src/macros.js | 24 ++++++ 4 files changed, 150 insertions(+) create mode 100644 src/encodings/impl/utf8.js diff --git a/dist/bytebuffer-dataview.min.js.gz b/dist/bytebuffer-dataview.min.js.gz index 1d53359db0985342b344c9bc71618ebc79faede8..6f463e94fbe2a661735444e4f34104b2d785770a 100644 GIT binary patch delta 16 Xcmca+ea)I(zMF%i*;Z#G`*~RaF{%Z0 delta 16 Xcmca+ea)I(zMF&N#7*su?B`_xH!ucN diff --git a/dist/bytebuffer.min.js.gz b/dist/bytebuffer.min.js.gz index 2b155481b7548850947d9d7419f4043252b0583f..e5a39086d6a4fb645870a217a98378d4e3521287 100644 GIT binary patch delta 16 XcmZp0Y;a_k@8;lWu+`bfUa0^8Cx8Tg delta 16 XcmZp0Y;a_k@8;k*dQ*ENd!+&ZEd~W% diff --git a/src/encodings/impl/utf8.js b/src/encodings/impl/utf8.js new file mode 100644 index 0000000..f276519 --- /dev/null +++ b/src/encodings/impl/utf8.js @@ -0,0 +1,126 @@ +// encodings/impl/utf8 + +/** + * Encodes a standard JavaScript string (UTF16) to UTF8 bytes. + * @param {string} src Source string + * @param {number} srcOffset Source offset + * @param {!ByteBuffer} dst Destination ByteBuffer + * @param {number} dstOffset Destination offset + * @param {number} count Number of char codes to encode + * @returns {number} Number of bytes encoded + * @inner + */ +function bytebuffer_utf8_encode(src, srcOffset, dst, dstOffset, count) { + if (count === 0) + return 0; + var n = 0; + //? // SET(varValue, varOffset, varTarget) with varTarget referencing a ByteBuffer + do { + var cc = src.charCodeAt(srcOffset++); + --count; + if (cc < 0x80) { + n += 1; + //? SET('cc', 'dstOffset++', 'dst'); + } else if (cc < 0x800) { + n += 2; + //? SET('0xC0 | (cc >> 6)', 'dstOffset++', 'dst'); + //? SET('0x80 | (cc & 0x3F)', 'dstOffset++', 'dst'); + } else if (cc < 0xD800 || cc >= 0xE000) { + n += 3; + //? SET('0xE0 | (cc >> 12)', 'dstOffset++', 'dst'); + //? SET('0x80 | ((cc >> 6) & 0x3F)', 'dstOffset++', 'dst'); + //? SET('0x80 | (cc & 0x3F)', 'dstOffset++', 'dst'); + } else { // surrogate + if (count === 0) + throw Error("truncated utf8 surrogate"); + cc = 0x10000 + (((cc & 0x3FF) << 10) | (src.charCodeAt(srcOffset++) & 0x3FF)); + --count; + n += 4; + //? SET('0xF0 | (cc >> 18)', 'dstOffset++', 'dst'); + //? SET('0x80 | ((cc >> 12) & 0x3F)', 'dstOffset++', 'dst'); + //? SET('0x80 | ((cc >> 6) & 0x3F)', 'dstOffset++', 'dst'); + //? SET('0x80 | (cc & 0x3F)', 'dstOffset++', 'dst'); + } + } while (count > 0); + return n; +} + +/** + * Decodes UTF8 bytes to a standard JavaScript string (UTF16). + * @param {!ByteBuffer} src Source ByteBuffer + * @param {number} srcOffset Source offset + * @param {number} count Number of bytes to decode + * @returns {string} Decoded string + * @inner + */ +function bytebuffer_utf8_decode(src, srcOffset, count) { + if (count === 0) + return ""; + var parts = [], // readily assembled parts + batch = []; // char codes for batch processing + //? // GET(varOffset, varTarget) with varTarget referencing a ByteBuffer + while (count--) { + var c = /*? GET('srcOffset++', 'src') */, + c2, c3; + switch (c >> 4) { + case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: + batch.push(c); + break; + case 12: case 13: + if (count < 1) + throw Error("truncated utf8 sequence"); + c2 = /*? GET('srcOffset++', 'src') */; + --count; + batch.push(((c & 0x1F) << 6) | (c2 & 0x3F)); + break; + case 14: + if (count < 2) + throw Error("truncated utf8 sequence"); + c2 = /*? GET('srcOffset++', 'src') */; + c3 = /*? GET('srcOffset++', 'src') */; + count -= 2; + batch.push(((c & 0x0F) << 12) | ((c2 & 0x3F) << 6) | ((c3 & 0x3F) << 0)); + break; + } + if (batch.length > 1023) { + parts.push(String.fromCharCode.apply(String, batch)); + batch.length = 0; + } + } + if (batch.length > 0) { + if (parts.length === 0) + return String.fromCharCode.apply(String, batch); + parts.push(String.fromCharCode.apply(String, batch)); + } + return parts.join(''); +} + +/** + * Calculates the number of UTF8 bytes required to store a standard JavaScript string (UTF16). + * @param {string} src Source string + * @param {number} srcOffset Source offset + * @param {number} count Number of char codes to calculate + * @returns {number} Number of bytes required + * @inner + */ +function bytebuffer_utf8_calculate(src, srcOffset, count) { + if (count === 0) + return 0; + var n = 0; + do { + var cc = src.charCodeAt(srcOffset++); + --count; + if (cc < 0x80) { + n += 1; + } else if (cc < 0x800) { + n += 2; + } else if (cc < 0xD800 || cc >= 0xE000) { + n += 3; + } else { + if (count === 0) + throw Error("truncated utf8 surrogate"); + n += 4; + } + } while (count > 0); + return n; +} diff --git a/src/macros.js b/src/macros.js index 08358f3..0726369 100644 --- a/src/macros.js +++ b/src/macros.js @@ -195,4 +195,28 @@ WRITE_UINT32_ARRAY = function(varValue, varOffset, varTarget, varEndian) { if (VERBOSE_MS) writeln(__+'// '); }; +SET = function(varValue, varOffset, varTarget) { // with varTarget referencing a ByteBuffer + if (typeof varValue === 'undefined') varValue = 'value'; + if (typeof varOffset === 'undefined') varOffset = 'offset'; + if (typeof varTarget === 'undefined') varTarget = 'this'; + if (NODE) { + writeln(__+varTarget+'.buffer['+varOffset+'] = '+varValue+';'); + } else if (DATAVIEW) { + writeln(__+varTarget+'.view.setUint8('+varValue+', '+varOffset+');'); + } else { + writeln(__+varTarget+'.view['+varOffset+'] = '+varValue+';'); + } +}; + +GET = function(varOffset, varTarget) { // with varTarget referencing a ByteBuffer + if (typeof varOffset === 'undefined') varOffset = 'offset'; + if (typeof varTarget === 'undefined') varTarget = 'this'; + if (NODE) { + write(varTarget+'.buffer['+varOffset+']'); + } else if (DATAVIEW) { + write(varTarget+'.view.getUint8('+varOffset+')'); + } else { + write(varTarget+'.view['+varOffset+']'); + } +}; //?. \ No newline at end of file From 19d4b7e5c75dff3928cd3873ab90cca831af0e81 Mon Sep 17 00:00:00 2001 From: dcode Date: Sun, 25 Oct 2015 16:36:35 +0100 Subject: [PATCH 79/91] Pre-publish --- dist/bytebuffer-dataview.min.js.gz | Bin 7638 -> 7638 bytes dist/bytebuffer.min.js.gz | Bin 8320 -> 8320 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/dist/bytebuffer-dataview.min.js.gz b/dist/bytebuffer-dataview.min.js.gz index 6f463e94fbe2a661735444e4f34104b2d785770a..e05477cd952f67eaac5d7e1e85d6b092e56188b5 100644 GIT binary patch delta 15 Wcmca+ea)IpzMF&N)whjo7i0l5B?e~z delta 15 Wcmca+ea)IpzMF%i*>)q_1z7+s9tB4L diff --git a/dist/bytebuffer.min.js.gz b/dist/bytebuffer.min.js.gz index e5a39086d6a4fb645870a217a98378d4e3521287..62afb3b3ee279121aadc599bdc4f5c50b537b5f8 100644 GIT binary patch delta 15 WcmZp0Y;a_g@8;lm{%s>$l>z`Mo&|9L delta 15 WcmZp0Y;a_g@8;lWu-(X3r2qgUmjqD& From 66ee8556133eaad07316e8d3a5d1571d1b9a2921 Mon Sep 17 00:00:00 2001 From: dcode Date: Sun, 25 Oct 2015 17:03:33 +0100 Subject: [PATCH 80/91] Update travis, README --- .travis.yml | 3 ++- donate.png | Bin 1553 -> 1584 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 784e99e..ced0467 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: node_js node_js: - - 0.10 - 0.12 + - 4.2 +sudo: false diff --git a/donate.png b/donate.png index f1404fde9f1fad2111de347d2bf2bd4b329e2007..628591b5fdcea03deff0e935f74bc2e214eef1be 100644 GIT binary patch delta 1543 zcmV+i2Kf1r46qE47YY;z1^@s64f-k`ks&C5(n&-?RCwC#S$k|#RUH1>-rKJ4(v>>) zD0e&-7{Ut33?#BU4GD`uOC;idmS93mBsRvF=pR}V6C=iKMvQ;pV<-?4A5T@`_nz;Z`#a}+_jkVj?x}3|?%m*j zi=TU58*JZCM|cyJ7=jdbZrKhz&Sq4~pj60wL^B43aODP4j~vm-G(bJ9 z6T8d?gIb9*ZCwZqia(S~3UaZuz>M~u5L!F$Ou}ZB9-t0YcEBz zPWF^UzrCp(FE2F^p@}0_RfcVQ>rlQZA1-zw5D5Y55`28(8h&oPnthE9^P@L^I_ZeE z#K6wi5TZx^Kcb7wI=o~K0If|zT_soGlNZ*)njQeoA0F?wb9osKHOY{^SCi8-k7(zU zTDaF4M9Jt?!F!Dt{MxNFT&wkPEKxA}9J>y>rlTX%AY@nfNBP0iT zvGBbpXgdM=QvC!*iso`X@(ei-@Q|KSF{yxWH=0rNOFi7*A4kPv%jhmiqh`GhrbH0V z>YrdY#Nl466`valfX#z|d;h)ycX^J0bKDI9E8hMoFzAPC1ufwF>Mo#vrK1Ox?|qHh z;|*|@D&bs0!SUgKcuqB=cB5&=>liDOMzlZJ577KQXyCqn39|OSut{=_X7efB^oLM$ zf#@f#g7adBfSZ&+1*5~t_m9IDx59L!5w1;7i{p`9Rde_(JRvJW&0RRjE+<$3zB_3+ zmaKrgY6BQ^8jM8`{4oH3Zb$|unuJ%jl z12G&;rch;^`jfo6Hy06-EXrguNr`5Z5pX=oFbYaV>F664BAU^Pez_cm$h8R^A(Am` zNK;V2eS>PiOu~9jWPBbjb^*vo13c%h!{_Tm^{bWQ{3!C)GV?ZnJ|T3q=WF5P$aBNP zLVef4I)nmbCynT`Cml3R zmVqs|qr#>c$Gz8ssNS*?UTp-mtpliSx(d(E4e*sP@bwOV!%?D#srs5Esj6(vnl%s2 zZIa0(D3Z<{n137nDFt5ZDg>o9LN1q2eyFs0p9CjUKMDj1#JAr@NLL6>TLRo@1e5B9 zqoN$1`X+GZRY0x{_WpC=)C@vO3ruky_UL7Jjq8Q}&aydR=2_wKHo~M;i+DH)ru!6_ z;zdM)%-|w_a+q$Of#aE#U<&5Jcj*c|vQ?5~9n&IO%+}J#C%^Q4gy>A`YwH%E?d zB>H}B7q42gsHv(^y^MuPCe#U7Y!lc}P`uCdOUA{zF>k`pa9DUDLfaUg@sq)GbmFs_ zwqU1-WyZ|4NkjCiwd>Q0WOQ2R9hu0^MDbLSJWlj-i(kzia!gp1idz;2)IAq1(@Ie& zYWl7v{se!NjgrfnDAnSp-b@BM4oLOS$}G|MS=_3j-=(TF-3Rxsc%@(8aryww-!M|~ tutcZc+$_Z^?L~#&vc1c-yy;&71^|m)*1*nzGdchO002ovPDHLkV1nvE^sxW{ delta 1512 zcmV= zp|WnWJ{SKy2C1B;vUA^B3@Ubfms&iYMC%!kkUcaGP<<|Bh)gw5m+k+eNfxqI;5{81(RmKHp z%Z|ZTYCz*piMvL0f^?$5?g3fWWra3`E2_7l@^(vrQiZ-nPoQYL588o_sdnLi(g(l< zcF`hI%&g+2nQ%U6k}TuqDBRsXIJ=Cf%+sLm{w&xl^lXV}^i(P~2%2~kglZwxa1?`7_pzS<0jZranoodT_eQ><@DJo4-II9g(zmN~Md|t%e?OkxL(uz3O+aqENo_iM<^P+B zrX3giZeYV}`_b5Z2970aI2Nm6f9oT-TF#;IQ8VP?Ial;Q}Gin_ioxMbK3XCR+8fz9-?mrGTY60_k8|ofk18MGB zG&G%oYs7-U_x)(GEhBu0)ER|+$$fBcdKlJh+E{aGl{6273sXIkfLkahnHgcrOM<&G z44chHlbe89uSR8#0<1TGDyyPpBf5>x$C2@3Y!SNtwA~x3jR-=6nZ~thd2qv2$(KBw z^G}dJ^RODEjf>M1(0R!OE;R=0yi6&FKudm%4z0{Qz&yFZ5nfkQ2Kz!IT<3oV%Z_5N z;}NMnSz6jLVYG-%D+{SV=LI4YlAU~f0s)_q+Gfa2v`o9N-iU2~%nP_W`Uze|E9v%D z>kmSQ?bw7v^S98QfSJa1U-|`m?VG`TaRC83*xQztqp`IcY_EruUI^R5T)4VJu&*eF z`^TQi9F$8tX(RmP*A~@n1xmP1cffhF2TuE{DLgR2-!i_KhgOfX>HPFW@<{DE^}VTR z(H2UUqh4dc5$_^@99Fncfl(1ZhXOpQcnX6hs{u<9{%A~gj7PuM5BB+`qUsopAbGSt z1Fo}OIQH~9T=a}%MSdn~cORuZdGuV62u{%%l^3QI&GuY}$aeQ5V3-e1Ujp>Au+k=Kx2=K8-3HFISbS-fk*na;`3Pvt zU=l%8rZ~9uE5!DWsv=km=ficX6^zj!;o|{VeeJL=CtINshjl682RYv5D{EB zjit}$I`V5(+V>M8kuc>>=Slamkhdoj(|8(-jZ6K~dD8vTdDD1$%yfR)iGHPtW`^1M z1doKsoV0hQBXe)Hh30t^5oIIgd$Ko^n# O0000 Date: Sun, 25 Oct 2015 17:09:55 +0100 Subject: [PATCH 81/91] More README --- README.md | 2 +- donate.png | Bin 1584 -> 1478 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5dfe9d0..fa3adb8 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Features * **bytebuffer**   Backing buffer: ArrayBuffer, Accessor: Uint8Array * **bytebuffer-dataview**   Backing buffer: ArrayBuffer, Accessor: DataView * **bytebuffer-node**   Backing buffer / Accessor: node Buffer -* 8, 16, 32 and 64 bit signed and unsigned integers +* 8, 16, 32 and 64 bit (through [long.js](https://github.com/dcodeIO/long.js)) signed and unsigned integers * 32 and 64 bit floats * Varints as used in protobuf (32 and 64 bit, zig-zag) * [Base64](https://github.com/dcodeIO/lxiv), [utf8](https://github.com/dcodeIO/utfx), binary, hex and debug encodings diff --git a/donate.png b/donate.png index 628591b5fdcea03deff0e935f74bc2e214eef1be..207d001071c4b8355e7a4f2f133b0e0347dc7da4 100644 GIT binary patch delta 1423 zcmV;A1#tSX48{wPNq=ZbL_t(|+U!|vOjB1Fe%jtr`T;GqR}E0UB9_i|A0e zg^HzxQrg{nZY?fSB;oeQB5(5M9G-K|d(L^z+xNWpAUks82!FWMuf47v@ii+$oPnAe zhZJ(<`F(hnMV}!b$ap-(IXx_Fnp~>yLJD9EWf?EXhP2l|SQI7n52J z`$}bGnMQ6`6mEO@+=bKMYez>%5sgMAo8+Gj?>_THhoW)Z9GzCI)G5|dzV@@GNFV8469Ssi~={G?|x{XgXU#N_K4ee@ApQ2FO!2 z>U26ZG&I2L^`g1C8O6oL1TQNqLrY5w!4Dle1dT?Mg6Ei|>a@y_R7C1ls}({TxO?|*96o#)IXO85FE1}gb$@mB93Cy9202kBv}rd@!nrOD zYn???5-pJUxX9&l?BBotiGG5I&nmIlg4J1|2K)XpqV}~*#JJDnHj@HP+egZrkLhVL!GB|ejDz5e2L+OWKqN(LFe;^rfuBYJmxEb!& z4m52yEO;M}luAWlPfrgC8Bde$?(WnvdI4fzL4TotD1gSRAwa2uv#XEbh76#D)?ss9 z3z&!*hBNJ`edEPMER3V^bQ|0OGXfoVan8Ph$NXT1V{okB2-l7>(8d^OQx@>s7}#+c z=x`Js*>eDu1-p3~>^%B-c@E&qr;M1#Evm zntuNadUb}_pW;gypWW)00V)k_E3^pk#AD(i?}Sm*pE!$vpG)s$==1qdQBi@mwzgT@ zJsuA#D=RTDFpw6aJ=X_NQjkYHm}CeAtAB{cGVFcg>2~W4jnJO$U8PEjv%V1v?R9n@SNJ3Ks$nwlEy*|Uda zA>thu!_lKhaq{HJr=-yf3mr@_lP7c(%zJra$WSK8)8@e4(SuXF3UO^{5}V8_?0@|9 z7rrT9Y=3-%iFGiy?!fu#CfEyYD9O_#anG$0H0;_8k2Zv+&M`E3d*H4v17oGZ+@FBM z%3qKTe=m41g2=XR-8!!?3n2@sudl~}0|(IB+WPcIrJctlc$xZv5JZUg-9bRN60DZL zH+tJaPY=RTQV92XFIeLiU`ZZq4}Y$JRnrJ$m|%!-u!XO~qc0}?ottt%=bGX6w8NlP zi+FGZ^k6IK)oV!zVncEm`Y*xp%4X1(Trk}?;FfKXD-7m^I3S)DF$yiO)B_^B}A5!f_?ntEVDCY0Pu%BE>3gmm0000000>D%PDHLkV1hUFu`K`q delta 1529 zcmV$DT@E6V+F=Zfnlf6F;<^Zv@Zth(@E54Ae|J@wl5sEw{6U z^yxQFhFL1s_0Q+0e*X>ecpS4Pt?|(`4zOLj;enPr+-iqLSjJ6=xl zT{mS}8DV6W=zlTuM^b7kkw|38y|hF#28D3t22zh4(aAJGJ**SE%m#y6i8F0o2n>op zluHV7v9!R9_MQ-0JMT=wb6V2LI!kEb>TZ@UFxVoM@B(WuMY2xzltjP1sT?maH4veR zBUV+0ZF}obz9=6qb|DZ60qPQbeBv5@ZoHa(jSlmpH-9?mh_=MQ&ess4NB%#ei_AK_ zWDWqWO+sBISKyNu*20<|0L~vC@3(V#84fkckiJ)w(=(4~=aX8v*BL~~=vBdcjTijd ztu$P#^>8dw!_yvx>(3BEu{69}twdUq0-mWmj|Snr6%+i_RGMH^$?+@c?{4Ua&!4~t zl|^DmynkiFu7&~BoF5eYx>oCi_DntFUkZ~?)=+Gqp=cu{2YIpZy(nlq0s2z?1V)PH zay{}4IS=rVo>4KWfNwXNQS(bZ+}|HZ#bV3oE=i+iy$+^C5YFnKU^m3!UaJ+K8w!BU zgMfSgz5;i7j(~IA4FN0O{wXl%hie5b;QQ(>pns*K2bJ%AjoRZ4aF#0JTtdO|;eL2d zHKTT;X~ydqE0adFKiCh@{5@#kzJ3X^_P(%5a*by5DctmjP;-IkC#{0>Vuyg6lt2Ze z!^-!M!xy*0bfgikO;3yCkzG}D_$)jjD?-g(ILR(2SOC5|X*iawfV*k~7;_qoMGyQj z0Do>s1}2(>SGJVwZ9Q0P3S18lwz3k4M`6sNV4q8o=#FPkI$8rU98IQBWt{qxyt+3R z5t1y*WHL#KW|R?dJjpN$N=51D8x|s((TaY#9EQlX2^=AkF>6RuP{4hIYQRjwdQN0~ z9xiqP$VUS_=dQ!&>qGUcmE!y;^42o*Hh(@LbhYPe;p512!^1*-*TFi30%RwR=&~mr zG)?23-a_p08-=9%UK>ow;p&`=@4|WalRQTB42t*iEmV}+gb2>m+0r5*Vtrh%5b12m zTmg633*c?-n0T>j{pkJ3_&nIW5qKI};Xc*|lXc!W9*V^NGuMotP&5Jekyf$%#eahf zr)RvDOqnw4Q0oo&azKG&13G+R^JBhJOs!fXD!hIx4?`*=G#XV_(mP)`hY;Ea-!_{l z8T2T5+BxtvU&Wy<rWwb**Mq3u zvJzfx1huULsBO9m&(00-l`!!24u8W@qKB#ank1>JY|WZA56x|o$s{O}&K;P48~rH- zUh66Zr8Pn>mrs7Ew0WNdCsRKP1PR2q-$qDR2u@o9+-L-o>V~7D9G?0naOPD&t_}A7 zbKukrLP`rvaUS;QWq6J2h5pX6Ibh~l;qf-Yq*aS}I0&Zu6qw>gM1suVB7bt2Zk~bT znU!D)=D~OA3Ouq^l4KpzB3jJW(#R*j^nHZrVYTVOa&b3Dj&CITer*@8TC=FBs!_d+ zg-IsV30Q0s*icZs&-6>i#kw(X!q0G6cp*aD7@qNy!E10L|YpQt_}vr{3Hw#VYMZh2FBg f%eB1eUjYUHi(S^h&Ve&J00000NkvXXu0mjfLQC?( From a7a250da00217ab867e3818b36a910928348a066 Mon Sep 17 00:00:00 2001 From: dcode Date: Sun, 25 Oct 2015 23:15:47 +0100 Subject: [PATCH 82/91] More work on encodings, see #60 --- README.md | 4 +- dist/bytebuffer-dataview.js | 6 +- dist/bytebuffer-dataview.min.js | 26 ++-- dist/bytebuffer-dataview.min.js.gz | Bin 7638 -> 7636 bytes dist/bytebuffer-dataview.min.map | 2 +- dist/bytebuffer-node.js | 4 +- dist/bytebuffer.js | 6 +- dist/bytebuffer.min.js | 22 +-- dist/bytebuffer.min.js.gz | Bin 8320 -> 8305 bytes dist/bytebuffer.min.map | 2 +- src/ByteBuffer.js | 220 ----------------------------- src/bytebuffer.js | 6 +- src/encodings/impl/base64.js | 3 + src/encodings/impl/binary.js | 65 +++++++++ src/encodings/impl/debug.js | 3 + src/encodings/impl/hex.js | 101 +++++++++++++ src/encodings/impl/utf8.js | 16 +-- 17 files changed, 219 insertions(+), 267 deletions(-) delete mode 100644 src/ByteBuffer.js create mode 100644 src/encodings/impl/base64.js create mode 100644 src/encodings/impl/binary.js create mode 100644 src/encodings/impl/debug.js create mode 100644 src/encodings/impl/hex.js diff --git a/README.md b/README.md index fa3adb8..8f2c1e9 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A fast and complete ByteBuffer implementation using either ArrayBuffers in the b generated from a single source tree through [MetaScript](https://github.com/dcodeIO/MetaScript). [![Build Status](https://travis-ci.org/dcodeIO/bytebuffer.js.svg?branch=master)](https://travis-ci.org/dcodeIO/bytebuffer.js) -[![Donate](https://raw.githubusercontent.com/dcodeIO/bytebuffer.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=dcode%40dcode.io&item_name=Open%20Source%3A%20bytebuffer.js) +[![Donate](https://raw.githubusercontent.com/dcodeIO/bytebuffer.js/master/donate.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=dcode%40dcode.io&item_name=%3C3%20bytebuffer.js) Features -------- @@ -61,4 +61,4 @@ Contributors License ------- -Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.html +**License:** [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) - Logo derived from [W3C HTML5 Logos](http://www.w3.org/html/logo/) (CC A 3.0) diff --git a/dist/bytebuffer-dataview.js b/dist/bytebuffer-dataview.js index 3c6ec42..d5bab3c 100644 --- a/dist/bytebuffer-dataview.js +++ b/dist/bytebuffer-dataview.js @@ -108,14 +108,14 @@ * @type {boolean} * @expose */ - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : false; + this.littleEndian = littleEndian; /** * Whether to skip assertions of offsets and values, defaults to `false`. * @type {boolean} * @expose */ - this.noAssert = !!noAssert; + this.noAssert = noAssert; }; /** @@ -168,7 +168,7 @@ * and int64 support is not available. * @type {?Long} * @const - * @see https://github.com/dcodeIO/Long.js + * @see https://github.com/dcodeIO/long.js * @expose */ ByteBuffer.Long = Long || null; diff --git a/dist/bytebuffer-dataview.min.js b/dist/bytebuffer-dataview.min.js index acebbe1..8a64045 100644 --- a/dist/bytebuffer-dataview.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -4,19 +4,19 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function n(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit= -b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null=== -a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes= -d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&& -(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function n(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset; +b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!== +typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this}; +d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a= +this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b% +1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ " (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ diff --git a/dist/bytebuffer-dataview.min.js.gz b/dist/bytebuffer-dataview.min.js.gz index e05477cd952f67eaac5d7e1e85d6b092e56188b5..b2023d76756bac3e6abc1cc555ca280059dbee0a 100644 GIT binary patch literal 7636 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 RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian="undefined"!==typeof b?!!b:!1;this.noAssert=!!c}function m(a){var b=0;return function(){return b>1,g=-7;f=c?f-1:0;var q=c?-1:1,k=a[b+f];f+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(e=Math.pow(2,-d))&&(d--,e*=2),b=1<=d+k?b+y/e:b+y*Math.pow(2,1-k),2<=b*e&&(d++,e/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*e-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+n]= -b&255,n+=l,b/=256,f-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&& -(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function m(a){var b=0;return function(){return b>1,g=-7;f=c?f-1:0;var q=c?-1:1,k=a[b+f];f+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(e=Math.pow(2,-d))&&(d--,e*=2),b=1<=d+k?b+y/e:b+y*Math.pow(2,1-k),2<=b*e&&(d++,e/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*e-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+n]=b&255,n+=l,b/=256,f-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0); +if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>= +0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); }b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); diff --git a/dist/bytebuffer.min.js.gz b/dist/bytebuffer.min.js.gz index 62afb3b3ee279121aadc599bdc4f5c50b537b5f8..3a509765310efd29aa9712a5be4f9e2746fdae41 100644 GIT binary patch delta 8076 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 z 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�(=X4vBY?R4q{HDcdEUdD=I=QD z4NnYDf((2gid1?>KXa7$97>3WXn>mIzmu2ZE_^UHK9kw^3PgCv?IMMKH9_(0$DhOc eL!Q4BWLzB{L;3paF^?2K>-`Qv5Om7 255) + throw Error("illegal binary char code: "+cc); + //? SET('cc', 'dstOffset++', 'dst'); + ++n; + } + return n; +} + +/** + * Decodes bytes to a binary JavaScript string. + * @param {!ByteBuffer} src Source ByteBuffer + * @param {number} srcOffset Source offset + * @param {number} count Number of bytes to decode + * @returns {string} Decoded string + * @inner + */ +function binary_decode(src, srcOffset, count) { + if (count === 0) + return ""; + var parts = [], // readily assembled parts + batch = []; // char codes for batch processing + while (count--) { + batch.push(/*? GET('srcOffset++', 'src') */); + if (batch.length > 1023) { + parts.push(String.fromCharCode.apply(String, batch)); + batch.length = 0; + } + } + if (batch.length > 0) { + if (parts.length === 0) + return String.fromCharCode.apply(String, batch); + parts.push(String.fromCharCode.apply(String, batch)); + } + return parts.join(''); +} + +/** + * Calculates the number of bytes required to store a binary JavaScript string. + * @param {string} src Source string + * @param {number} srcOffset Source offset + * @param {number} count Number of char codes to calculate + * @returns {number} Number of bytes required + * @inner + */ +function binary_calculate(src, srcOffset, count) { + return count; +} + +ByteBuffer.registerEncoding("binary", binary_encode, binary_decode, binary_calculate); diff --git a/src/encodings/impl/debug.js b/src/encodings/impl/debug.js new file mode 100644 index 0000000..e3f0617 --- /dev/null +++ b/src/encodings/impl/debug.js @@ -0,0 +1,3 @@ +// encodings/impl/debug + +// TODO diff --git a/src/encodings/impl/hex.js b/src/encodings/impl/hex.js new file mode 100644 index 0000000..148a463 --- /dev/null +++ b/src/encodings/impl/hex.js @@ -0,0 +1,101 @@ +// encodings/impl/hex + +/** + * Encodes a hexadecimal JavaScript string to bytes. + * @param {string} src Source string + * @param {number} srcOffset Source offset + * @param {!ByteBuffer} dst Destination ByteBuffer + * @param {number} dstOffset Destination offset + * @param {number} count Number of char codes to encode + * @returns {number} Number of bytes encoded + * @inner + */ +function hex_encode(src, srcOffset, dst, dstOffset, count) { + if (count === 0) + return 0; + var n = 0; + while (count--) { + if (count === 0) + throw Error("truncated hex sequence"); + --count; + var value = 0, + shift = 0; + for (var i=0; i<2; ++i) { + var cc = src.charCodeAt(srcOffset++); + switch (cc) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: + value |= (cc - 0x30) << shift; + break; + case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x46: + value |= (cc - 0x4B) << shift; + break; + case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: + value |= (cc - 0x6B) << shift; + break; + default: + throw Error("illegal hex char code: "+cc); + } + shift += 4; + } + //? SET('value', 'dstOffset++', 'dst'); + ++n; + } + return n; +} + +/** + * Decodes bytes to a hexadecimal JavaScript string. + * @param {!ByteBuffer} src Source ByteBuffer + * @param {number} srcOffset Source offset + * @param {number} count Number of bytes to decode + * @returns {string} Decoded string + * @inner + */ +function hex_decode(src, srcOffset, count) { + if (count === 0) + return ""; + var parts = [], // readily assembled parts + batch = []; // char codes for batch processing + while (count--) { + var value = /*? GET('srcOffset++', 'src') */, + shift = 4; + for (var i=0; i<2; ++i) { + var c = (value >>> shift) & 0xf; + switch (c) { + case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: + batch.push(0x30 + c); + break; + case 10: case 11: case 12: case 13: case 14: case 15: + batch.push(0x37 + c); + break; + } + shift = 0; + } + if (batch.length > 1023) { + parts.push(String.fromCharCode.apply(String, batch)); + batch.length = 0; + } + } + if (batch.length > 0) { + if (parts.length === 0) + return String.fromCharCode.apply(String, batch); + parts.push(String.fromCharCode.apply(String, batch)); + } + return parts.join(''); +} + +/** + * Calculates the number of bytes required to store a hexadecimal JavaScript string. + * @param {string} src Source string + * @param {number} srcOffset Source offset + * @param {number} count Number of char codes to calculate + * @returns {number} Number of bytes required + * @inner + */ +function hex_calculate(src, srcOffset, count) { + if ((count % 2) !== 0) + throw Error("illegal number of hex char codes: "+count); + return count / 2; +} + +ByteBuffer.registerEncoding("hex", hex_encode, hex_decode, hex_calculate); diff --git a/src/encodings/impl/utf8.js b/src/encodings/impl/utf8.js index f276519..109a8a1 100644 --- a/src/encodings/impl/utf8.js +++ b/src/encodings/impl/utf8.js @@ -1,7 +1,7 @@ // encodings/impl/utf8 /** - * Encodes a standard JavaScript string (UTF16) to UTF8 bytes. + * Encodes a standard JavaScript string to UTF8 bytes. * @param {string} src Source string * @param {number} srcOffset Source offset * @param {!ByteBuffer} dst Destination ByteBuffer @@ -10,7 +10,7 @@ * @returns {number} Number of bytes encoded * @inner */ -function bytebuffer_utf8_encode(src, srcOffset, dst, dstOffset, count) { +function utf8_encode(src, srcOffset, dst, dstOffset, count) { if (count === 0) return 0; var n = 0; @@ -46,14 +46,14 @@ function bytebuffer_utf8_encode(src, srcOffset, dst, dstOffset, count) { } /** - * Decodes UTF8 bytes to a standard JavaScript string (UTF16). + * Decodes UTF8 bytes to a standard JavaScript string. * @param {!ByteBuffer} src Source ByteBuffer * @param {number} srcOffset Source offset * @param {number} count Number of bytes to decode * @returns {string} Decoded string * @inner */ -function bytebuffer_utf8_decode(src, srcOffset, count) { +function utf8_decode(src, srcOffset, count) { if (count === 0) return ""; var parts = [], // readily assembled parts @@ -96,14 +96,14 @@ function bytebuffer_utf8_decode(src, srcOffset, count) { } /** - * Calculates the number of UTF8 bytes required to store a standard JavaScript string (UTF16). + * Calculates the number of UTF8 bytes required to store a standard JavaScript string. * @param {string} src Source string * @param {number} srcOffset Source offset * @param {number} count Number of char codes to calculate * @returns {number} Number of bytes required * @inner */ -function bytebuffer_utf8_calculate(src, srcOffset, count) { +function utf8_calculate(src, srcOffset, count) { if (count === 0) return 0; var n = 0; @@ -117,10 +117,10 @@ function bytebuffer_utf8_calculate(src, srcOffset, count) { } else if (cc < 0xD800 || cc >= 0xE000) { n += 3; } else { - if (count === 0) - throw Error("truncated utf8 surrogate"); n += 4; } } while (count > 0); return n; } + +ByteBuffer.registerEncoding("utf8", utf8_encode, utf8_decode, utf8_calculate); From cd6011c7b2d1d7a8792831918c467a3e1eb071c2 Mon Sep 17 00:00:00 2001 From: Max Seiden <140dbs@gmail.com> Date: Sat, 23 Jan 2016 17:51:18 -0800 Subject: [PATCH 83/91] https://github.com/dcodeIO/bytebuffer.js/issues/66 - BitSet support --- dist/bytebuffer-dataview.js | 709 ++++++++++++++++------------- dist/bytebuffer-dataview.min.js | 72 +-- dist/bytebuffer-dataview.min.js.gz | Bin 7636 -> 7902 bytes dist/bytebuffer-dataview.min.map | 6 +- dist/bytebuffer-node.js | 487 ++++++++++++-------- dist/bytebuffer.js | 709 ++++++++++++++++------------- dist/bytebuffer.min.js | 171 +++---- dist/bytebuffer.min.js.gz | Bin 8305 -> 8552 bytes dist/bytebuffer.min.map | 6 +- src/types/bytes/bitset.js | 89 ++++ tests/suite.js | 31 +- 11 files changed, 1344 insertions(+), 936 deletions(-) create mode 100644 src/types/bytes/bitset.js diff --git a/dist/bytebuffer-dataview.js b/dist/bytebuffer-dataview.js index d5bab3c..a0d1182 100644 --- a/dist/bytebuffer-dataview.js +++ b/dist/bytebuffer-dataview.js @@ -392,6 +392,101 @@ return bb; }; + /** + * Writes the array as a bitset. + * @param {Array} value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.writeBitSet = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + } + + /** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ + ByteBufferPrototype.readBitSet = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; + } /** * Reads the specified number of bytes. * @param {number} length Number of bytes to read @@ -2623,117 +2718,117 @@ // lxiv-embeddable - /** - * lxiv-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/lxiv for details - */ - var lxiv = function() { - "use strict"; - - /** - * lxiv namespace. - * @type {!Object.} - * @exports lxiv - */ - var lxiv = {}; - - /** - * Character codes for output. - * @type {!Array.} - * @inner - */ - var aout = [ - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 - ]; - - /** - * Character codes for input. - * @type {!Array.} - * @inner - */ - var ain = []; - for (var i=0, k=aout.length; i>2)&0x3f]); - t = (b&0x3)<<4; - if ((b = src()) !== null) { - t |= (b>>4)&0xf; - dst(aout[(t|((b>>4)&0xf))&0x3f]); - t = (b&0xf)<<2; - if ((b = src()) !== null) - dst(aout[(t|((b>>6)&0x3))&0x3f]), - dst(aout[b&0x3f]); - else - dst(aout[t&0x3f]), - dst(61); - } else - dst(aout[t&0x3f]), - dst(61), - dst(61); - } - }; - - /** - * Decodes base64 char codes to bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - * @throws {Error} If a character code is invalid - */ - lxiv.decode = function(src, dst) { - var c, t1, t2; - function fail(c) { - throw Error("Illegal character code: "+c); - } - while ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') fail(c); - if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') fail(c); - dst((t1<<2)>>>0|(t2&0x30)>>4); - if ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') - if (c === 61) break; else fail(c); - dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); - if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') - if (c === 61) break; else fail(c); - dst(((t1&0x3)<<6)>>>0|t2); - } - } - } - } - }; - - /** - * Tests if a string is valid base64. - * @param {string} str String to test - * @returns {boolean} `true` if valid, otherwise `false` - */ - lxiv.test = function(str) { - return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); - }; - - return lxiv; - }(); + /** + * lxiv-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/lxiv for details + */ + var lxiv = function() { + "use strict"; + + /** + * lxiv namespace. + * @type {!Object.} + * @exports lxiv + */ + var lxiv = {}; + + /** + * Character codes for output. + * @type {!Array.} + * @inner + */ + var aout = [ + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 + ]; + + /** + * Character codes for input. + * @type {!Array.} + * @inner + */ + var ain = []; + for (var i=0, k=aout.length; i>2)&0x3f]); + t = (b&0x3)<<4; + if ((b = src()) !== null) { + t |= (b>>4)&0xf; + dst(aout[(t|((b>>4)&0xf))&0x3f]); + t = (b&0xf)<<2; + if ((b = src()) !== null) + dst(aout[(t|((b>>6)&0x3))&0x3f]), + dst(aout[b&0x3f]); + else + dst(aout[t&0x3f]), + dst(61); + } else + dst(aout[t&0x3f]), + dst(61), + dst(61); + } + }; + + /** + * Decodes base64 char codes to bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + * @throws {Error} If a character code is invalid + */ + lxiv.decode = function(src, dst) { + var c, t1, t2; + function fail(c) { + throw Error("Illegal character code: "+c); + } + while ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') fail(c); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') fail(c); + dst((t1<<2)>>>0|(t2&0x30)>>4); + if ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t1&0x3)<<6)>>>0|t2); + } + } + } + } + }; + + /** + * Tests if a string is valid base64. + * @param {string} str String to test + * @returns {boolean} `true` if valid, otherwise `false` + */ + lxiv.test = function(str) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); + }; + + return lxiv; + }(); // encodings/base64 @@ -3109,202 +3204,202 @@ // utfx-embeddable - /** - * utfx-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/utfx for details - */ - var utfx = function() { - "use strict"; - - /** - * utfx namespace. - * @inner - * @type {!Object.} - */ - var utfx = {}; - - /** - * Maximum valid code point. - * @type {number} - * @const - */ - utfx.MAX_CODEPOINT = 0x10FFFF; - - /** - * Encodes UTF8 code points to UTF8 bytes. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte - */ - utfx.encodeUTF8 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, - src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp < 0x80) - dst(cp&0x7F); - else if (cp < 0x800) - dst(((cp>>6)&0x1F)|0xC0), - dst((cp&0x3F)|0x80); - else if (cp < 0x10000) - dst(((cp>>12)&0x0F)|0xE0), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - else - dst(((cp>>18)&0x07)|0xF0), - dst(((cp>>12)&0x3F)|0x80), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - cp = null; - } - }; - - /** - * Decodes UTF8 bytes to UTF8 code points. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the - * remaining bytes. - */ - utfx.decodeUTF8 = function(src, dst) { - var a, b, c, d, fail = function(b) { - b = b.slice(0, b.indexOf(null)); - var err = Error(b.toString()); - err.name = "TruncatedError"; - err['bytes'] = b; - throw err; - }; - while ((a = src()) !== null) { - if ((a&0x80) === 0) - dst(a); - else if ((a&0xE0) === 0xC0) - ((b = src()) === null) && fail([a, b]), - dst(((a&0x1F)<<6) | (b&0x3F)); - else if ((a&0xF0) === 0xE0) - ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), - dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); - else if ((a&0xF8) === 0xF0) - ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), - dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); - else throw RangeError("Illegal starting byte: "+a); - } - }; - - /** - * Converts UTF16 characters to UTF8 code points. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Code points destination as a function successively called with each converted code - * point. - */ - utfx.UTF16toUTF8 = function(src, dst) { - var c1, c2 = null; - while (true) { - if ((c1 = c2 !== null ? c2 : src()) === null) - break; - if (c1 >= 0xD800 && c1 <= 0xDFFF) { - if ((c2 = src()) !== null) { - if (c2 >= 0xDC00 && c2 <= 0xDFFF) { - dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); - c2 = null; continue; - } - } - } - dst(c1); - } - if (c2 !== null) dst(c2); - }; - - /** - * Converts UTF8 code points to UTF16 characters. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a code point is out of range - */ - utfx.UTF8toUTF16 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp <= 0xFFFF) - dst(cp); - else - cp -= 0x10000, - dst((cp>>10)+0xD800), - dst((cp%0x400)+0xDC00); - cp = null; - } - }; - - /** - * Converts and encodes UTF16 characters to UTF8 bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` - * if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - */ - utfx.encodeUTF16toUTF8 = function(src, dst) { - utfx.UTF16toUTF8(src, function(cp) { - utfx.encodeUTF8(cp, dst); - }); - }; - - /** - * Decodes and converts UTF8 bytes to UTF16 characters. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. - */ - utfx.decodeUTF8toUTF16 = function(src, dst) { - utfx.decodeUTF8(src, function(cp) { - utfx.UTF8toUTF16(cp, dst); - }); - }; - - /** - * Calculates the byte length of an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Byte length - */ - utfx.calculateCodePoint = function(cp) { - return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }; - - /** - * Calculates the number of UTF8 bytes required to store UTF8 code points. - * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively - * `null` if there are no more code points left. - * @returns {number} The number of UTF8 bytes required - */ - utfx.calculateUTF8 = function(src) { - var cp, l=0; - while ((cp = src()) !== null) - l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - return l; - }; - - /** - * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. - * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. - */ - utfx.calculateUTF16asUTF8 = function(src) { - var n=0, l=0; - utfx.UTF16toUTF8(src, function(cp) { - ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }); - return [n,l]; - }; - - return utfx; - }(); + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; + + /** + * utfx namespace. + * @inner + * @type {!Object.} + */ + var utfx = {}; + + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; + }; + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; + } + } + } + dst(c1); + } + if (c2 !== null) dst(c2); + }; + + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; + + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; + + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; + + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; + + /** + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required + */ + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + return l; + }; + + /** + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. + */ + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }); + return [n,l]; + }; + + return utfx; + }(); // encodings/utf8 diff --git a/dist/bytebuffer-dataview.min.js b/dist/bytebuffer-dataview.min.js index 8a64045..fca5f2f 100644 --- a/dist/bytebuffer-dataview.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -4,23 +4,25 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -function t(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function n(a){var b=0;return function(){return ba)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function n(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset; b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!== typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this}; -d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a= -this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b% -1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+ -0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c,e),b.limit=a.length,c=0;c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b, +h=a.length,d=h>>3,g=0,f;for(b+=this.writeVarint32(h,b);d--;)f=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]&1)<<7,this.writeByte(f,b++);if(g>3,d=0,g=[];for(a+=c.length;h--;)c=this.readByte(a++),g[d++]=!!(c&1),g[d++]=!!(c& +2),g[d++]=!!(c&4),g[d++]=!!(c&8),g[d++]=!!(c&16),g[d++]=!!(c&32),g[d++]=!!(c&64),g[d++]=!!(c&128);if(d>h++&1);b&&(this.offset=a);return g};d.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e= +this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength; +b>e&&this.resize((e*=2)>b?e:b);--b;this.view.setInt8(b,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8= +function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);--b;this.view.setUint8(b,a);c&&(this.offset+=1); +return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ +a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); +b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readUInt32=d.readUint32;k&&(d.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeLong=d.writeInt64,d.readInt64=function(a){var b= "undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.readLong=d.readInt64,d.writeUint64=function(a,b){var c= @@ -42,19 +44,19 @@ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeErro this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");e=k.fromBits(e|h<<28,h>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,h=a.length; if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;m.b(n(a),function(a){this.view.setUint8(b++, a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;m.c(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+ -" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=s(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=t(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); }var e=b,h;h=m.a(n(a),this.noAssert)[1];b+=4+h;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+ " (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a),e=this.readUTF8String(e,f.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};f.METRICS_CHARS="c";f.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,h=b;e=m.a(n(a))[1];b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-h};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};f.calculateString=f.calculateUTF8Bytes; +" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=m.a(n(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};f.calculateString=f.calculateUTF8Bytes; d.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var d=0,l=c,g; -if(b===f.METRICS_CHARS){g=s();m.f(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); -}var p=c+a;m.c(function(){return c>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); +}var p=c+a;m.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d,l;d=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(d);b+=l+d;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+d;b+=this.writeVarint32(d,b);m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+d+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+d+l));return c?(this.offset=b,this):b-e};d.readVString= function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a),e=this.readUTF8String(e.value,f.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};d.append=function(a,b,c){if("number"===typeof b|| "string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength;c>d&&this.resize((d*=2)>c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset, a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)): (b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ -b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== +b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-= a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength); var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);l&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+ this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone(); -c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return u;a=new ArrayBuffer(c-b); +c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b); (new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug(); -case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!== -(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.g=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61===d)break;else e(d);b((h&3)<<6>>>0| -f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;w.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0 -d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1;break;default:if(!c&& -k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string"); -if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,l=0,g=0;ld||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e? -c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},f:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!==(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f, -g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},d:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},e:function(a,c){var e=null;"number"===typeof a&&(e=a,a=function(){return null});for(;null!==e||null!==(e=a());)65535>=e?c(e):(e-=65536,c((e>>10)+55296),c(e%1024+56320)),e=null},b:function(b,c){a.d(b,function(b){a.i(b,c)})},c:function(b, -c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,e=0;null!==(c=a());)e+=128>c?1:2048>c?2:65536>c?3:4;return e},a:function(b){var c=0,e=0;a.d(b,function(a){++c;e+=128>a?1:2048>a?2:65536>a?3:4});return[c,e]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return a>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<< +2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.decode=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61===d)break;else e(d); +b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a=a|0;b=b|0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;x.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+="0"+e.toString(16).toUpperCase():d+=e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e): +"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1; +break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!== +typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,l=0,g=0;ld||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},h:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!== +(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},g:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b, +c){a.f(b,function(b){a.i(b,c)})},c:function(b,c){a.h(b,function(b){a.g(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.f(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return 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 IppK#d0K1Q7ZvX%Q literal 7636 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 value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.writeBitSet = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.length) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + } + + /** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ + ByteBufferPrototype.readBitSet = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; + } /** * Reads the specified number of bytes. * @param {number} length Number of bytes to read @@ -3097,202 +3192,202 @@ module.exports = (function() { // utfx-embeddable - /** - * utfx-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/utfx for details - */ - var utfx = function() { - "use strict"; - - /** - * utfx namespace. - * @inner - * @type {!Object.} - */ - var utfx = {}; - - /** - * Maximum valid code point. - * @type {number} - * @const - */ - utfx.MAX_CODEPOINT = 0x10FFFF; - - /** - * Encodes UTF8 code points to UTF8 bytes. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte - */ - utfx.encodeUTF8 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, - src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp < 0x80) - dst(cp&0x7F); - else if (cp < 0x800) - dst(((cp>>6)&0x1F)|0xC0), - dst((cp&0x3F)|0x80); - else if (cp < 0x10000) - dst(((cp>>12)&0x0F)|0xE0), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - else - dst(((cp>>18)&0x07)|0xF0), - dst(((cp>>12)&0x3F)|0x80), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - cp = null; - } - }; - - /** - * Decodes UTF8 bytes to UTF8 code points. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the - * remaining bytes. - */ - utfx.decodeUTF8 = function(src, dst) { - var a, b, c, d, fail = function(b) { - b = b.slice(0, b.indexOf(null)); - var err = Error(b.toString()); - err.name = "TruncatedError"; - err['bytes'] = b; - throw err; - }; - while ((a = src()) !== null) { - if ((a&0x80) === 0) - dst(a); - else if ((a&0xE0) === 0xC0) - ((b = src()) === null) && fail([a, b]), - dst(((a&0x1F)<<6) | (b&0x3F)); - else if ((a&0xF0) === 0xE0) - ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), - dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); - else if ((a&0xF8) === 0xF0) - ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), - dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); - else throw RangeError("Illegal starting byte: "+a); - } - }; - - /** - * Converts UTF16 characters to UTF8 code points. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Code points destination as a function successively called with each converted code - * point. - */ - utfx.UTF16toUTF8 = function(src, dst) { - var c1, c2 = null; - while (true) { - if ((c1 = c2 !== null ? c2 : src()) === null) - break; - if (c1 >= 0xD800 && c1 <= 0xDFFF) { - if ((c2 = src()) !== null) { - if (c2 >= 0xDC00 && c2 <= 0xDFFF) { - dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); - c2 = null; continue; - } - } - } - dst(c1); - } - if (c2 !== null) dst(c2); - }; - - /** - * Converts UTF8 code points to UTF16 characters. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a code point is out of range - */ - utfx.UTF8toUTF16 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp <= 0xFFFF) - dst(cp); - else - cp -= 0x10000, - dst((cp>>10)+0xD800), - dst((cp%0x400)+0xDC00); - cp = null; - } - }; - - /** - * Converts and encodes UTF16 characters to UTF8 bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` - * if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - */ - utfx.encodeUTF16toUTF8 = function(src, dst) { - utfx.UTF16toUTF8(src, function(cp) { - utfx.encodeUTF8(cp, dst); - }); - }; - - /** - * Decodes and converts UTF8 bytes to UTF16 characters. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. - */ - utfx.decodeUTF8toUTF16 = function(src, dst) { - utfx.decodeUTF8(src, function(cp) { - utfx.UTF8toUTF16(cp, dst); - }); - }; - - /** - * Calculates the byte length of an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Byte length - */ - utfx.calculateCodePoint = function(cp) { - return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }; - - /** - * Calculates the number of UTF8 bytes required to store UTF8 code points. - * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively - * `null` if there are no more code points left. - * @returns {number} The number of UTF8 bytes required - */ - utfx.calculateUTF8 = function(src) { - var cp, l=0; - while ((cp = src()) !== null) - l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - return l; - }; - - /** - * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. - * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. - */ - utfx.calculateUTF16asUTF8 = function(src) { - var n=0, l=0; - utfx.UTF16toUTF8(src, function(cp) { - ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }); - return [n,l]; - }; - - return utfx; - }(); + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; + + /** + * utfx namespace. + * @inner + * @type {!Object.} + */ + var utfx = {}; + + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; + }; + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; + } + } + } + dst(c1); + } + if (c2 !== null) dst(c2); + }; + + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; + + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; + + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; + + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; + + /** + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required + */ + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + return l; + }; + + /** + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. + */ + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }); + return [n,l]; + }; + + return utfx; + }(); // encodings/utf8 diff --git a/dist/bytebuffer.js b/dist/bytebuffer.js index 476756b..9c78984 100644 --- a/dist/bytebuffer.js +++ b/dist/bytebuffer.js @@ -391,6 +391,101 @@ return bb; }; + /** + * Writes the array as a bitset. + * @param {Array} value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.writeBitSet = function(value, offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); + if (typeof offset !== 'number' || offset % 1 !== 0) + throw TypeError("Illegal offset: "+offset+" (not an integer)"); + offset >>>= 0; + if (offset < 0 || offset + 0 > this.buffer.byteLength) + throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + } + + /** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ + ByteBufferPrototype.readBitSet = function(offset) { + var relative = typeof offset === 'undefined'; + if (relative) offset = this.offset; + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; + } /** * Reads the specified number of bytes. * @param {number} length Number of bytes to read @@ -2908,117 +3003,117 @@ // lxiv-embeddable - /** - * lxiv-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/lxiv for details - */ - var lxiv = function() { - "use strict"; - - /** - * lxiv namespace. - * @type {!Object.} - * @exports lxiv - */ - var lxiv = {}; - - /** - * Character codes for output. - * @type {!Array.} - * @inner - */ - var aout = [ - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 - ]; - - /** - * Character codes for input. - * @type {!Array.} - * @inner - */ - var ain = []; - for (var i=0, k=aout.length; i>2)&0x3f]); - t = (b&0x3)<<4; - if ((b = src()) !== null) { - t |= (b>>4)&0xf; - dst(aout[(t|((b>>4)&0xf))&0x3f]); - t = (b&0xf)<<2; - if ((b = src()) !== null) - dst(aout[(t|((b>>6)&0x3))&0x3f]), - dst(aout[b&0x3f]); - else - dst(aout[t&0x3f]), - dst(61); - } else - dst(aout[t&0x3f]), - dst(61), - dst(61); - } - }; - - /** - * Decodes base64 char codes to bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - * @throws {Error} If a character code is invalid - */ - lxiv.decode = function(src, dst) { - var c, t1, t2; - function fail(c) { - throw Error("Illegal character code: "+c); - } - while ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') fail(c); - if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') fail(c); - dst((t1<<2)>>>0|(t2&0x30)>>4); - if ((c = src()) !== null) { - t1 = ain[c]; - if (typeof t1 === 'undefined') - if (c === 61) break; else fail(c); - dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); - if ((c = src()) !== null) { - t2 = ain[c]; - if (typeof t2 === 'undefined') - if (c === 61) break; else fail(c); - dst(((t1&0x3)<<6)>>>0|t2); - } - } - } - } - }; - - /** - * Tests if a string is valid base64. - * @param {string} str String to test - * @returns {boolean} `true` if valid, otherwise `false` - */ - lxiv.test = function(str) { - return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); - }; - - return lxiv; - }(); + /** + * lxiv-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/lxiv for details + */ + var lxiv = function() { + "use strict"; + + /** + * lxiv namespace. + * @type {!Object.} + * @exports lxiv + */ + var lxiv = {}; + + /** + * Character codes for output. + * @type {!Array.} + * @inner + */ + var aout = [ + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47 + ]; + + /** + * Character codes for input. + * @type {!Array.} + * @inner + */ + var ain = []; + for (var i=0, k=aout.length; i>2)&0x3f]); + t = (b&0x3)<<4; + if ((b = src()) !== null) { + t |= (b>>4)&0xf; + dst(aout[(t|((b>>4)&0xf))&0x3f]); + t = (b&0xf)<<2; + if ((b = src()) !== null) + dst(aout[(t|((b>>6)&0x3))&0x3f]), + dst(aout[b&0x3f]); + else + dst(aout[t&0x3f]), + dst(61); + } else + dst(aout[t&0x3f]), + dst(61), + dst(61); + } + }; + + /** + * Decodes base64 char codes to bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + * @throws {Error} If a character code is invalid + */ + lxiv.decode = function(src, dst) { + var c, t1, t2; + function fail(c) { + throw Error("Illegal character code: "+c); + } + while ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') fail(c); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') fail(c); + dst((t1<<2)>>>0|(t2&0x30)>>4); + if ((c = src()) !== null) { + t1 = ain[c]; + if (typeof t1 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t2&0xf)<<4)>>>0|(t1&0x3c)>>2); + if ((c = src()) !== null) { + t2 = ain[c]; + if (typeof t2 === 'undefined') + if (c === 61) break; else fail(c); + dst(((t1&0x3)<<6)>>>0|t2); + } + } + } + } + }; + + /** + * Tests if a string is valid base64. + * @param {string} str String to test + * @returns {boolean} `true` if valid, otherwise `false` + */ + lxiv.test = function(str) { + return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(str); + }; + + return lxiv; + }(); // encodings/base64 @@ -3394,202 +3489,202 @@ // utfx-embeddable - /** - * utfx-embeddable (c) 2014 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/utfx for details - */ - var utfx = function() { - "use strict"; - - /** - * utfx namespace. - * @inner - * @type {!Object.} - */ - var utfx = {}; - - /** - * Maximum valid code point. - * @type {number} - * @const - */ - utfx.MAX_CODEPOINT = 0x10FFFF; - - /** - * Encodes UTF8 code points to UTF8 bytes. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte - */ - utfx.encodeUTF8 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, - src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp < 0x80) - dst(cp&0x7F); - else if (cp < 0x800) - dst(((cp>>6)&0x1F)|0xC0), - dst((cp&0x3F)|0x80); - else if (cp < 0x10000) - dst(((cp>>12)&0x0F)|0xE0), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - else - dst(((cp>>18)&0x07)|0xF0), - dst(((cp>>12)&0x3F)|0x80), - dst(((cp>>6)&0x3F)|0x80), - dst((cp&0x3F)|0x80); - cp = null; - } - }; - - /** - * Decodes UTF8 bytes to UTF8 code points. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the - * remaining bytes. - */ - utfx.decodeUTF8 = function(src, dst) { - var a, b, c, d, fail = function(b) { - b = b.slice(0, b.indexOf(null)); - var err = Error(b.toString()); - err.name = "TruncatedError"; - err['bytes'] = b; - throw err; - }; - while ((a = src()) !== null) { - if ((a&0x80) === 0) - dst(a); - else if ((a&0xE0) === 0xC0) - ((b = src()) === null) && fail([a, b]), - dst(((a&0x1F)<<6) | (b&0x3F)); - else if ((a&0xF0) === 0xE0) - ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), - dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); - else if ((a&0xF8) === 0xF0) - ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), - dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); - else throw RangeError("Illegal starting byte: "+a); - } - }; - - /** - * Converts UTF16 characters to UTF8 code points. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @param {!function(number)} dst Code points destination as a function successively called with each converted code - * point. - */ - utfx.UTF16toUTF8 = function(src, dst) { - var c1, c2 = null; - while (true) { - if ((c1 = c2 !== null ? c2 : src()) === null) - break; - if (c1 >= 0xD800 && c1 <= 0xDFFF) { - if ((c2 = src()) !== null) { - if (c2 >= 0xDC00 && c2 <= 0xDFFF) { - dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); - c2 = null; continue; - } - } - } - dst(c1); - } - if (c2 !== null) dst(c2); - }; - - /** - * Converts UTF8 code points to UTF16 characters. - * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point - * respectively `null` if there are no more code points left or a single numeric code point. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a code point is out of range - */ - utfx.UTF8toUTF16 = function(src, dst) { - var cp = null; - if (typeof src === 'number') - cp = src, src = function() { return null; }; - while (cp !== null || (cp = src()) !== null) { - if (cp <= 0xFFFF) - dst(cp); - else - cp -= 0x10000, - dst((cp>>10)+0xD800), - dst((cp%0x400)+0xDC00); - cp = null; - } - }; - - /** - * Converts and encodes UTF16 characters to UTF8 bytes. - * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` - * if there are no more characters left. - * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. - */ - utfx.encodeUTF16toUTF8 = function(src, dst) { - utfx.UTF16toUTF8(src, function(cp) { - utfx.encodeUTF8(cp, dst); - }); - }; - - /** - * Decodes and converts UTF8 bytes to UTF16 characters. - * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there - * are no more bytes left. - * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. - * @throws {RangeError} If a starting byte is invalid in UTF8 - * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. - */ - utfx.decodeUTF8toUTF16 = function(src, dst) { - utfx.decodeUTF8(src, function(cp) { - utfx.UTF8toUTF16(cp, dst); - }); - }; - - /** - * Calculates the byte length of an UTF8 code point. - * @param {number} cp UTF8 code point - * @returns {number} Byte length - */ - utfx.calculateCodePoint = function(cp) { - return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }; - - /** - * Calculates the number of UTF8 bytes required to store UTF8 code points. - * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively - * `null` if there are no more code points left. - * @returns {number} The number of UTF8 bytes required - */ - utfx.calculateUTF8 = function(src) { - var cp, l=0; - while ((cp = src()) !== null) - l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - return l; - }; - - /** - * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. - * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively - * `null` if there are no more characters left. - * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. - */ - utfx.calculateUTF16asUTF8 = function(src) { - var n=0, l=0; - utfx.UTF16toUTF8(src, function(cp) { - ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; - }); - return [n,l]; - }; - - return utfx; - }(); + /** + * utfx-embeddable (c) 2014 Daniel Wirtz + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/utfx for details + */ + var utfx = function() { + "use strict"; + + /** + * utfx namespace. + * @inner + * @type {!Object.} + */ + var utfx = {}; + + /** + * Maximum valid code point. + * @type {number} + * @const + */ + utfx.MAX_CODEPOINT = 0x10FFFF; + + /** + * Encodes UTF8 code points to UTF8 bytes. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte + */ + utfx.encodeUTF8 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, + src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp < 0x80) + dst(cp&0x7F); + else if (cp < 0x800) + dst(((cp>>6)&0x1F)|0xC0), + dst((cp&0x3F)|0x80); + else if (cp < 0x10000) + dst(((cp>>12)&0x0F)|0xE0), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + else + dst(((cp>>18)&0x07)|0xF0), + dst(((cp>>12)&0x3F)|0x80), + dst(((cp>>6)&0x3F)|0x80), + dst((cp&0x3F)|0x80); + cp = null; + } + }; + + /** + * Decodes UTF8 bytes to UTF8 code points. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Code points destination as a function successively called with each decoded code point. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the + * remaining bytes. + */ + utfx.decodeUTF8 = function(src, dst) { + var a, b, c, d, fail = function(b) { + b = b.slice(0, b.indexOf(null)); + var err = Error(b.toString()); + err.name = "TruncatedError"; + err['bytes'] = b; + throw err; + }; + while ((a = src()) !== null) { + if ((a&0x80) === 0) + dst(a); + else if ((a&0xE0) === 0xC0) + ((b = src()) === null) && fail([a, b]), + dst(((a&0x1F)<<6) | (b&0x3F)); + else if ((a&0xF0) === 0xE0) + ((b=src()) === null || (c=src()) === null) && fail([a, b, c]), + dst(((a&0x0F)<<12) | ((b&0x3F)<<6) | (c&0x3F)); + else if ((a&0xF8) === 0xF0) + ((b=src()) === null || (c=src()) === null || (d=src()) === null) && fail([a, b, c ,d]), + dst(((a&0x07)<<18) | ((b&0x3F)<<12) | ((c&0x3F)<<6) | (d&0x3F)); + else throw RangeError("Illegal starting byte: "+a); + } + }; + + /** + * Converts UTF16 characters to UTF8 code points. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @param {!function(number)} dst Code points destination as a function successively called with each converted code + * point. + */ + utfx.UTF16toUTF8 = function(src, dst) { + var c1, c2 = null; + while (true) { + if ((c1 = c2 !== null ? c2 : src()) === null) + break; + if (c1 >= 0xD800 && c1 <= 0xDFFF) { + if ((c2 = src()) !== null) { + if (c2 >= 0xDC00 && c2 <= 0xDFFF) { + dst((c1-0xD800)*0x400+c2-0xDC00+0x10000); + c2 = null; continue; + } + } + } + dst(c1); + } + if (c2 !== null) dst(c2); + }; + + /** + * Converts UTF8 code points to UTF16 characters. + * @param {(!function():number|null) | number} src Code points source, either as a function returning the next code point + * respectively `null` if there are no more code points left or a single numeric code point. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a code point is out of range + */ + utfx.UTF8toUTF16 = function(src, dst) { + var cp = null; + if (typeof src === 'number') + cp = src, src = function() { return null; }; + while (cp !== null || (cp = src()) !== null) { + if (cp <= 0xFFFF) + dst(cp); + else + cp -= 0x10000, + dst((cp>>10)+0xD800), + dst((cp%0x400)+0xDC00); + cp = null; + } + }; + + /** + * Converts and encodes UTF16 characters to UTF8 bytes. + * @param {!function():number|null} src Characters source as a function returning the next char code respectively `null` + * if there are no more characters left. + * @param {!function(number)} dst Bytes destination as a function successively called with the next byte. + */ + utfx.encodeUTF16toUTF8 = function(src, dst) { + utfx.UTF16toUTF8(src, function(cp) { + utfx.encodeUTF8(cp, dst); + }); + }; + + /** + * Decodes and converts UTF8 bytes to UTF16 characters. + * @param {!function():number|null} src Bytes source as a function returning the next byte respectively `null` if there + * are no more bytes left. + * @param {!function(number)} dst Characters destination as a function successively called with each converted char code. + * @throws {RangeError} If a starting byte is invalid in UTF8 + * @throws {Error} If the last sequence is truncated. Has an array property `bytes` holding the remaining bytes. + */ + utfx.decodeUTF8toUTF16 = function(src, dst) { + utfx.decodeUTF8(src, function(cp) { + utfx.UTF8toUTF16(cp, dst); + }); + }; + + /** + * Calculates the byte length of an UTF8 code point. + * @param {number} cp UTF8 code point + * @returns {number} Byte length + */ + utfx.calculateCodePoint = function(cp) { + return (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }; + + /** + * Calculates the number of UTF8 bytes required to store UTF8 code points. + * @param {(!function():number|null)} src Code points source as a function returning the next code point respectively + * `null` if there are no more code points left. + * @returns {number} The number of UTF8 bytes required + */ + utfx.calculateUTF8 = function(src) { + var cp, l=0; + while ((cp = src()) !== null) + l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + return l; + }; + + /** + * Calculates the number of UTF8 code points respectively UTF8 bytes required to store UTF16 char codes. + * @param {(!function():number|null)} src Characters source as a function returning the next char code respectively + * `null` if there are no more characters left. + * @returns {!Array.} The number of UTF8 code points at index 0 and the number of UTF8 bytes required at index 1. + */ + utfx.calculateUTF16asUTF8 = function(src) { + var n=0, l=0; + utfx.UTF16toUTF8(src, function(cp) { + ++n; l += (cp < 0x80) ? 1 : (cp < 0x800) ? 2 : (cp < 0x10000) ? 3 : 4; + }); + return [n,l]; + }; + + return utfx; + }(); // encodings/utf8 diff --git a/dist/bytebuffer.min.js b/dist/bytebuffer.min.js index e7abf2f..3839f1e 100644 --- a/dist/bytebuffer.min.js +++ b/dist/bytebuffer.min.js @@ -4,87 +4,90 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -function u(k){function g(a,b,c){"undefined"===typeof a&&(a=g.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=g.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=g.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function m(a){var b=0;return function(){return b>1,g=-7;f=c?f-1:0;var q=c?-1:1,k=a[b+f];f+=q;c=k&(1<<-g)-1;k>>=-g;for(g+=n;0>=-g;for(g+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;n=d?0:n-1;var l=d?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=t):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(e=Math.pow(2,-d))&&(d--,e*=2),b=1<=d+k?b+y/e:b+y*Math.pow(2,1-k),2<=b*e&&(d++,e/=2),d+k>=t?(b=0,d=t):1<=d+k?(b=(b*e-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+n]=b&255,n+=l,b/=256,f-=8);d=d<=p||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0); -if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a,c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,d),0>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>= -0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4); -return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+ -3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0> -a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a); -else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8; -var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+ -1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4, -this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+= -this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a}; -e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian, -52,8);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32= -function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var d=g.calculateVarint32(a),f;b+=d;f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;for(a>>>=0;128<=a;)f=a&127|128,this.view[b++]=f,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view[a++];5>c&&(d|=(f&127)<<7*c);++c}while(0!==(f&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};k&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64= -function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64= -function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=g.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,h=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b); -b-=d;switch(d){case 10:this.view[b+9]=h>>>7&1;case 9:this.view[b+8]=9!==d?h|128:h&127;case 8:this.view[b+7]=8!==d?e>>>21|128:e>>>21&127;case 7:this.view[b+6]=7!==d?e>>>14|128:e>>>14&127;case 6:this.view[b+5]=6!==d?e>>>7|128:e>>>7&127;case 5:this.view[b+4]=5!==d?e|128:e&127;case 4:this.view[b+3]=4!==d?f>>>21|128:f>>>21&127;case 3:this.view[b+2]=3!==d?f>>>14|128:f>>>14&127;case 2:this.view[b+1]=2!==d?f>>>7|128:f>>>7&127;case 1:this.view[b]=1!==d?f|128:f&127}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag= -function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,h=0,h=this.view[a++],d=h&127;if(h&128&&(h=this.view[a++],d|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&& -(h=this.view[a++],d|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],d|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f=h&127,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<14,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],f|=(h&127)<<21,h&128||this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e=h&127,h&128|| -this.noAssert&&"undefined"===typeof h)&&(h=this.view[a++],e|=(h&127)<<7,h&128||this.noAssert&&"undefined"===typeof h))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!== -typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f=l.a(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;l.b(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]= -0;return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;l.c(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view[a++];return 0=== -f?null:f}.bind(this),d=s(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=l.a(m(a),this.noAssert)[1];b+= -4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.littleEndian?(this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255);b+=4;l.b(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,d=this.readUint32(a),d=this.readUTF8String(d,g.METRICS_BYTES,a+=4);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};g.METRICS_CHARS="c";g.METRICS_BYTES="b";e.writeUTF8String=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=l.a(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;l.b(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-f};e.writeString=e.writeUTF8String;g.calculateUTF8Chars=function(a){return l.a(m(a))[0]}; -g.calculateUTF8Bytes=function(a){return l.a(m(a))[1]};g.calculateString=g.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,h;if(b===g.METRICS_CHARS){h=s();l.f(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+"+a+") <= "+this.buffer.byteLength);}var p=c+a;l.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=l.a(m(a),this.noAssert)[1];e=g.calculateVarint32(f);b+=e+f;var h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e+f;b+=this.writeVarint32(f,b);l.b(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c? -(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=this.readVarint32(a),d=this.readUTF8String(d.value,g.METRICS_BYTES,a+=d.length);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};e.append= -function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);this.view.set(a.view.subarray(a.offset, -a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view); -b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0=== -a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),f=new Uint8Array(d);f.set(this.view.subarray(a,b));this.buffer=d;this.view=f;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a|| -0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,d=new g(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f, -e;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var h=d-c;if(0===h)return a;a.ensureCapacity(b+h);a.view.set(this.view.subarray(c, -d),b);f&&(this.offset+=h);e&&(a.offset+=h);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!== -typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; -e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ -")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.m();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115, -116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.g=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,g;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(g=c[f],"undefined"=== -typeof g&&d(f),b(e<<2>>>0|(g&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((g&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){g=c[f];if("undefined"===typeof g)if(61===f)break;else d(f);b((e&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end"); -var c;A.h(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end"); -if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};g.fromDebug=function(a, -b,c){var d=a.length;b=new g((d+1)/3|0,b,c);for(var f=0,e=0,h,k=!1,l=!1,q=!1,m=!1,r=!1;f":if(!c){if(m){r=!0;break}m=!0}b.limit=e;k=!1;break;case "'":if(!c){if(q){r=!0;break}q=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){r=!0;break}h=parseInt(h+a.charAt(f++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)): -c.push(d.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new g(d/2|0,b);for(var f,e=0,h=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},f:function(a,c){function d(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var f,e,g,k;null!==(f=a());)if(0===(f&128))c(f);else if(192===(f&224))null===(e=a())&&d([f,e]),c((f&31)<<6|e&63);else if(224===(f&240))null!==(e=a())&&null!== -(g=a())||d([f,e,g]),c((f&15)<<12|(e&63)<<6|g&63);else if(240===(f&248))null!==(e=a())&&null!==(g=a())&&null!==(k=a())||d([f,e,g,k]),c((f&7)<<18|(e&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+f);},d:function(a,c){for(var d,f=null;null!==(d=null!==f?f:a());)55296<=d&&57343>=d&&null!==(f=a())&&56320<=f&&57343>=f?(c(1024*(d-55296)+f-56320+65536),f=null):c(d);null!==f&&c(f)},e:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!== -(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b,c){a.d(b,function(b){a.i(b,c)})},c:function(b,c){a.f(b,function(b){a.e(b,c)})},k:function(a){return 128>a?1:2048>a?2:65536>a?3:4},l:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.d(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b= -this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{l.c(function(){return aa)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function n(a){var b=0;return function(){return b>1,h=-7;f=c?f-1:0;var p=c?-1:1,k=a[b+f];f+=p;c=k&(1<<-h)-1;k>>=-h;for(h+=l;0>=-h;for(h+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;l=d?0:l-1;var m=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-d))&&(d--,g*=2),b=1<=d+k?b+y/g:b+y*Math.pow(2,1-k),2<=b*g&&(d++,g/=2),d+k>=h?(b=0,d=h):1<=d+k?(b=(b*g-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+l]=b&255,l+=m,b/=256,f-=8); +d=d<=e||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};h.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};h.type=function(){return ArrayBuffer};h.wrap=function(a,b,c,d){"string"!==typeof b&&(d= +c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return h.fromBase64(a,c);case "hex":return h.fromHex(a,c);case "binary":return h.fromBinary(a,c);case "utf8":return h.fromUTF8(a,c);case "debug":return h.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(h.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new h(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f=a.length,l=f>>3,g=0,e;for(b+=this.writeVarint32(f,b);l--;)e=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]& +1)<<7,this.writeByte(e,b++);if(g>3,e=0,g=[];for(a+=c.length;f--;)c=this.readByte(a++),g[e++]=!!(c&1),g[e++]=!!(c&2),g[e++]=!!(c&4),g[e++]=!!(c&8),g[e++]=!!(c&16),g[e++]=!!(c&32),g[e++]=!!(c&64),g[e++]=!!(c&128);if(e>f++&1);b&&(this.offset=a); +return g};e.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);--b;this.view[b]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);--b;this.view[b]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0> +b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"=== +typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255, +this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8, +c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&& +(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a)); +b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d& +255);c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<< +16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& +a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>> +24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<< +24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); +}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a}; +e.readDouble=e.readFloat64;h.MAX_VARINT32_BYTES=5;h.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};h.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};h.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=h.calculateVarint32(a),f;b+=d;f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;for(a>>>=0;128<=a;)f=a&127|128,this.view[b++]=f,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(h.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view[a++];5>c&&(d|=(f&127)<<7*c);++c}while(0!==(f&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"=== +typeof a?a.value=h.zigZagDecode32(a.value):a=h.zigZagDecode32(a);return a};k&&(h.MAX_VARINT64_BYTES=10,h.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},h.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, +!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},h.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a); +else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=h.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>> +0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var t=this.buffer.byteLength;b>t&&this.resize((t*=2)>b?t:b);b-=d;switch(d){case 10:this.view[b+9]=g>>>7&1;case 9:this.view[b+8]=9!==d?g|128:g&127;case 8:this.view[b+7]=8!==d?e>>>21|128:e>>>21&127;case 7:this.view[b+6]=7!==d?e>>>14|128:e>>>14&127;case 6:this.view[b+5]=6!==d?e>>>7|128:e>>>7&127;case 5:this.view[b+4]=5!==d?e|128:e&127;case 4:this.view[b+3]=4!==d?f>>>21|128:f>>>21&127;case 3:this.view[b+2]=3!==d?f>>>14|128:f>>>14&127;case 2:this.view[b+1]= +2!==d?f>>>7|128:f>>>7&127;case 1:this.view[b]=1!==d?f|128:f&127}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(h.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0, +f=0,e=0,g=0,g=this.view[a++],d=g&127;if(g&128&&(g=this.view[a++],d|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<14,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<14,g&128||this.noAssert&&"undefined"=== +typeof g)&&(g=this.view[a++],f|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=h.zigZagDecode64(a.value):a=h.zigZagDecode64(a);return a}); +e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f=m.a(n(a))[1]; +b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;m.b(n(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;m.c(function(){if(0=== +f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view[a++];return 0===f?null:f}.bind(this),d=r(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=m.a(n(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.littleEndian?(this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255);b+=4;m.b(n(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f)); +return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,d=this.readUint32(a),d=this.readUTF8String(d,h.METRICS_BYTES,a+=4);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};h.METRICS_CHARS= +"c";h.METRICS_BYTES="b";e.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=m.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;m.b(n(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset= +b,this):b-f};e.writeString=e.writeUTF8String;h.calculateUTF8Chars=function(a){return m.a(n(a))[0]};h.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};h.calculateString=h.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=h.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ +c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,g;if(b===h.METRICS_CHARS){g=r();m.h(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var k=c+a;m.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=m.a(n(a),this.noAssert)[1];e=h.calculateVarint32(f);b+=e+f;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+f;b+=this.writeVarint32(f,b);m.b(n(a),function(a){this.view[b++]= +a}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=this.readVarint32(a),d=this.readUTF8String(d.value,h.METRICS_BYTES, +a+=d.length);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};e.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a=h.wrap(a,b));b=a.limit-a.offset; +if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new h(0,this.littleEndian,this.noAssert); +a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>= +0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),f=new Uint8Array(d);f.set(this.view.subarray(a,b));this.buffer=d;this.view=f;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a, +b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new h(0,this.littleEndian,this.noAssert);var c=b-a,d=new h(c,this.littleEndian,this.noAssert); +d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!h.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ +c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);a.view.set(this.view.subarray(c,d),b);f&&(this.offset+=g);e&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian= +"undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a= +h.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+ +a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a= +this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString= +function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a= +{},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.decode=function(a, +b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,h;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(h=c[f],"undefined"===typeof h&&d(f),b(e<<2>>>0|(h&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((h&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){h=c[f];if("undefined"===typeof h)if(61===f)break;else d(f);b((e&3)<<6>>>0|h)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; +return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a=a|0;b=b|0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;A.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],d=[];ad?f+="0"+d.toString(16).toUpperCase():f+=d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset? +f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};h.fromDebug=function(a,b,c){var d=a.length;b=new h((d+1)/3|0,b,c);for(var f=0,e=0,g,k=!1,m=!1,p=!1,n=!1,q=!1;f":if(!c){if(n){q=!0;break}n=!0}b.limit=e;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(f++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!== +b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};h.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new h(d/ +2|0,b);for(var f,e=0,g=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},h:function(a,c){function d(a){a= +a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var f,e,g,h;null!==(f=a());)if(0===(f&128))c(f);else if(192===(f&224))null===(e=a())&&d([f,e]),c((f&31)<<6|e&63);else if(224===(f&240))null!==(e=a())&&null!==(g=a())||d([f,e,g]),c((f&15)<<12|(e&63)<<6|g&63);else if(240===(f&248))null!==(e=a())&&null!==(g=a())&&null!==(h=a())||d([f,e,g,h]),c((f&7)<<18|(e&63)<<12|(g&63)<<6|h&63);else throw RangeError("Illegal starting byte: "+f);},f:function(a,c){for(var d, +e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},g:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b,c){a.f(b,function(b){a.i(b,c)})},c:function(b,c){a.h(b,function(b){a.g(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!== +(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.f(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return 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 literal 8305 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 value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ +ByteBufferPrototype.writeBitSet = function(value, offset) { + //? RELATIVE() + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); + //? ASSERT_OFFSET(); + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; +} + +/** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ +ByteBufferPrototype.readBitSet = function(offset) { + //? RELATIVE() + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; +} diff --git a/tests/suite.js b/tests/suite.js index edb8bf5..1e3829c 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -633,6 +633,35 @@ function makeSuite(ByteBuffer) { }; }); + suite.types.bitset = function(test) { + var bb = new ByteBuffer(2), + arr; + + function run(data) { + bb.reset(); + bb.writeBitSet(data); + bb.reset(); + test.deepEqual(bb.readBitSet(),data); + }; + + run([]); + run([true]); + run([false]); + run([false,true]); + run([false,false,false,false,false,false,false,false]); + run([true,false,true,false,true,false,true,false]); + run([true,true,true,true,true,true,true,true]); + run([true,false,true,false,true,false,true,false]); + run([true,false,true,false,true,false,true,false,true]); + + bb.reset(); + bb.writeBitSet([,null,"",0,42,"hello world",new Date(0),{},[]]); + bb.reset(); + test.deepEqual(bb.readBitSet(),[false,false,false,false,true,true,true,true,true]); + + test.done(); + }; + suite.types.calculateVarint = function(test) { test.equal(ByteBuffer.MAX_VARINT32_BYTES, 5); test.equal(ByteBuffer.MAX_VARINT64_BYTES, 10); @@ -973,4 +1002,4 @@ module.exports = { "node": makeSuite(ByteBufferNode), "browser": makeSuite(ByteBufferBrowser), "dataview": makeSuite(ByteBufferBrowser_DataView) -}; \ No newline at end of file +}; From 6384cb40b2a56187ba1477070f55aa3eb41cade3 Mon Sep 17 00:00:00 2001 From: Chas Emerick Date: Fri, 5 Feb 2016 16:01:20 -0500 Subject: [PATCH 84/91] add various externs declarations --- externs/ByteBuffer.js | 71 +++++++++++++++++++++++++++++++++++++++++++ externs/bytebuffer.js | 71 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) diff --git a/externs/ByteBuffer.js b/externs/ByteBuffer.js index a321f54..2dd39ae 100644 --- a/externs/ByteBuffer.js +++ b/externs/ByteBuffer.js @@ -113,6 +113,47 @@ ByteBuffer.prototype.LE = function(littleEndian) {}; */ ByteBuffer.prototype.BE = function(bigEndian) {}; +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromBase64 = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromBinary = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromDebug = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromHex = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromUTF8 = function(str, littleEndian, noAssert) {}; + + /** * @param {number} capacity * @returns {boolean} @@ -212,6 +253,15 @@ ByteBuffer.prototype.append = function(src, offset) {}; */ ByteBuffer.prototype.prepend = function(src, offset) {}; +/** + * @param {number|string} value + * @param {number} begin + * @param {number} end + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fill = function(value, begin, end) {}; + + /** * @param {number} value * @param {number=} offset @@ -494,6 +544,21 @@ ByteBuffer.prototype.writeZigZagVarint64 = function(value, offset) {}; */ ByteBuffer.prototype.readZigZagVarint64 = function(offset) {}; +/** + * @param {number|Long} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + * @throws {Error} + */ +ByteBuffer.prototype.writeVarint64ZigZag = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {!Long|{value: !Long, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readVarint64ZigZag = function(offset) {}; + /** * @param {number} value * @param {number=} offset @@ -545,6 +610,12 @@ ByteBuffer.calculateVarint64 = function(value) {}; */ ByteBuffer.calculateUTF8String = function(str) {}; +/** + * @param {string} str + * @returns {number} + */ +ByteBuffer.prototype.calculateUTF8Bytes = function(str) {}; + /** * @param {string} str * @param {number=} offset diff --git a/externs/bytebuffer.js b/externs/bytebuffer.js index a321f54..2dd39ae 100644 --- a/externs/bytebuffer.js +++ b/externs/bytebuffer.js @@ -113,6 +113,47 @@ ByteBuffer.prototype.LE = function(littleEndian) {}; */ ByteBuffer.prototype.BE = function(bigEndian) {}; +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromBase64 = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromBinary = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromDebug = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromHex = function(str, littleEndian, noAssert) {}; + +/** + * @param {string} str + * @param {boolean} littleEndian + * @param {boolean} noAssert + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fromUTF8 = function(str, littleEndian, noAssert) {}; + + /** * @param {number} capacity * @returns {boolean} @@ -212,6 +253,15 @@ ByteBuffer.prototype.append = function(src, offset) {}; */ ByteBuffer.prototype.prepend = function(src, offset) {}; +/** + * @param {number|string} value + * @param {number} begin + * @param {number} end + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.fill = function(value, begin, end) {}; + + /** * @param {number} value * @param {number=} offset @@ -494,6 +544,21 @@ ByteBuffer.prototype.writeZigZagVarint64 = function(value, offset) {}; */ ByteBuffer.prototype.readZigZagVarint64 = function(offset) {}; +/** + * @param {number|Long} value + * @param {number=} offset + * @returns {!ByteBuffer|number} + * @throws {Error} + */ +ByteBuffer.prototype.writeVarint64ZigZag = function(value, offset) {}; + +/** + * @param {number=} offset + * @returns {!Long|{value: !Long, length: number}} + * @throws {Error} + */ +ByteBuffer.prototype.readVarint64ZigZag = function(offset) {}; + /** * @param {number} value * @param {number=} offset @@ -545,6 +610,12 @@ ByteBuffer.calculateVarint64 = function(value) {}; */ ByteBuffer.calculateUTF8String = function(str) {}; +/** + * @param {string} str + * @returns {number} + */ +ByteBuffer.prototype.calculateUTF8Bytes = function(str) {}; + /** * @param {string} str * @param {number=} offset From 3f285219269cbecd4a75cb8ea40cda85fdf27d27 Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 12 Feb 2016 14:59:09 +0100 Subject: [PATCH 85/91] Post-merge, externs, switched to simple opt. --- dist/bytebuffer-dataview.js | 5278 +++++++++++++------------- dist/bytebuffer-dataview.min.js | 163 +- dist/bytebuffer-dataview.min.js.gz | Bin 7902 -> 7988 bytes dist/bytebuffer-dataview.min.map | 6 +- dist/bytebuffer-node.js | 5232 +++++++++++++------------- dist/bytebuffer.js | 5610 ++++++++++++++-------------- dist/bytebuffer.min.js | 174 +- dist/bytebuffer.min.js.gz | Bin 8552 -> 8658 bytes dist/bytebuffer.min.map | 4 +- externs/ByteBuffer.js | 834 ----- externs/bytebuffer.js | 28 + package.json | 6 +- 12 files changed, 8265 insertions(+), 9070 deletions(-) delete mode 100644 externs/ByteBuffer.js diff --git a/dist/bytebuffer-dataview.js b/dist/bytebuffer-dataview.js index a0d1182..d9beb30 100644 --- a/dist/bytebuffer-dataview.js +++ b/dist/bytebuffer-dataview.js @@ -1,540 +1,540 @@ -/* - Copyright 2013-2014 Daniel Wirtz - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ - -/** - * @license bytebuffer.js (c) 2015 Daniel Wirtz - * Backing buffer: ArrayBuffer, Accessor: DataView - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/bytebuffer.js for details - */ -(function(global, factory) { - - /* AMD */ if (typeof define === 'function' && define["amd"]) - define(["long"], factory); - /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) - module['exports'] = (function() { - var Long; try { Long = require("long"); } catch (e) {} - return factory(Long); - })(); - /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); - -})(this, function(Long) { - "use strict"; - - /** - * Constructs a new ByteBuffer. - * @class The swiss army knife for binary data in JavaScript. - * @exports ByteBuffer - * @constructor - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @expose - */ - var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') - capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') - littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') - noAssert = ByteBuffer.DEFAULT_NOASSERT; - if (!noAssert) { - capacity = capacity | 0; - if (capacity < 0) - throw RangeError("Illegal capacity"); - littleEndian = !!littleEndian; - noAssert = !!noAssert; - } - - /** - * Backing ArrayBuffer. - * @type {!ArrayBuffer} - * @expose - */ - this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); - - /** - * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. - * @type {?DataView} - * @expose - */ - this.view = capacity === 0 ? null : new DataView(this.buffer); - - /** - * Absolute read/write offset. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.offset = 0; - - /** - * Marked offset. - * @type {number} - * @expose - * @see ByteBuffer#mark - * @see ByteBuffer#reset - */ - this.markedOffset = -1; - - /** - * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.limit = capacity; - - /** - * Whether to use little endian byte order, defaults to `false` for big endian. - * @type {boolean} - * @expose - */ - this.littleEndian = littleEndian; - - /** - * Whether to skip assertions of offsets and values, defaults to `false`. - * @type {boolean} - * @expose - */ - this.noAssert = noAssert; - }; - - /** - * ByteBuffer version. - * @type {string} - * @const - * @expose - */ - ByteBuffer.VERSION = "5.0.0"; - - /** - * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. - * @type {boolean} - * @const - * @expose - */ - ByteBuffer.LITTLE_ENDIAN = true; - - /** - * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. - * @type {boolean} - * @const - * @expose - */ - ByteBuffer.BIG_ENDIAN = false; - - /** - * Default initial capacity of `16`. - * @type {number} - * @expose - */ - ByteBuffer.DEFAULT_CAPACITY = 16; - - /** - * Default endianess of `false` for big endian. - * @type {boolean} - * @expose - */ - ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; - - /** - * Default no assertions flag of `false`. - * @type {boolean} - * @expose - */ - ByteBuffer.DEFAULT_NOASSERT = false; - - /** - * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded - * and int64 support is not available. - * @type {?Long} - * @const - * @see https://github.com/dcodeIO/long.js - * @expose - */ - ByteBuffer.Long = Long || null; - - /** - * @alias ByteBuffer.prototype - * @inner - */ - var ByteBufferPrototype = ByteBuffer.prototype; - - /** - * An indicator used to reliably determine if an object is a ByteBuffer or not. - * @type {boolean} - * @const - * @expose - * @private - */ - ByteBufferPrototype.__isByteBuffer__; - - Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { - value: true, - enumerable: false, - configurable: false - }); - - // helpers - - /** - * @type {!ArrayBuffer} - * @inner - */ - var EMPTY_BUFFER = new ArrayBuffer(0); - - /** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ - var stringFromCharCode = String.fromCharCode; - - /** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - * @inner - */ - function stringSource(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; - } - - /** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - * @inner - */ - function stringDestination() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; - } - - /** - * Gets the accessor type. - * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) - * @expose - */ - ByteBuffer.accessor = function() { - return DataView; - }; - /** - * Allocates a new ByteBuffer backed by a buffer of the specified capacity. - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} - * @expose - */ - ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { - return new ByteBuffer(capacity, littleEndian, noAssert); - }; - - /** - * Concatenates multiple ByteBuffers into one. - * @param {!Array.} buffers Buffers to concatenate - * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", - * defaults to "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - * to {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} Concatenated ByteBuffer - * @expose - */ - ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { - if (typeof encoding === 'boolean' || typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - var capacity = 0; - for (var i=0, k=buffers.length, length; i 0) capacity += length; - } - if (capacity === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var bb = new ByteBuffer(capacity, littleEndian, noAssert), - bi; - var view = new Uint8Array(bb.buffer); - i=0; while (i} buffer Anything that can be wrapped - * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to - * "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` - * @expose - */ - ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { - if (typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') - encoding = "utf8"; - switch (encoding) { - case "base64": - return ByteBuffer.fromBase64(buffer, littleEndian); - case "hex": - return ByteBuffer.fromHex(buffer, littleEndian); - case "binary": - return ByteBuffer.fromBinary(buffer, littleEndian); - case "utf8": - return ByteBuffer.fromUTF8(buffer, littleEndian); - case "debug": - return ByteBuffer.fromDebug(buffer, littleEndian); - default: - throw Error("Unsupported encoding: "+encoding); - } - } - if (buffer === null || typeof buffer !== 'object') - throw TypeError("Illegal buffer"); - var bb; - if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBufferPrototype.clone.call(buffer); - bb.markedOffset = -1; - return bb; - } - if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER - bb.buffer = buffer.buffer; - bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.byteLength; - bb.view = new DataView(buffer.buffer); - } - } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.byteLength > 0) { - bb.buffer = buffer; - bb.offset = 0; - bb.limit = buffer.byteLength; - bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; - } - } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets - bb = new ByteBuffer(buffer.length, littleEndian, noAssert); - bb.limit = buffer.length; - for (var i=0; i} value Array of booleans to write - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {!ByteBuffer} - * @expose - */ - ByteBufferPrototype.writeBitSet = function(value, offset) { +/* + Copyright 2013-2014 Daniel Wirtz + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +/** + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer: ArrayBuffer, Accessor: DataView + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/bytebuffer.js for details + */ +(function(global, factory) { + + /* AMD */ if (typeof define === 'function' && define["amd"]) + define(["long"], factory); + /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return factory(Long); + })(); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); + +})(this, function(Long) { + "use strict"; + + /** + * Constructs a new ByteBuffer. + * @class The swiss army knife for binary data in JavaScript. + * @exports ByteBuffer + * @constructor + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @expose + */ + var ByteBuffer = function(capacity, littleEndian, noAssert) { + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (!noAssert) { + capacity = capacity | 0; + if (capacity < 0) + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; + } + + /** + * Backing ArrayBuffer. + * @type {!ArrayBuffer} + * @expose + */ + this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); + + /** + * DataView utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?DataView} + * @expose + */ + this.view = capacity === 0 ? null : new DataView(this.buffer); + + /** + * Absolute read/write offset. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.offset = 0; + + /** + * Marked offset. + * @type {number} + * @expose + * @see ByteBuffer#mark + * @see ByteBuffer#reset + */ + this.markedOffset = -1; + + /** + * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.limit = capacity; + + /** + * Whether to use little endian byte order, defaults to `false` for big endian. + * @type {boolean} + * @expose + */ + this.littleEndian = littleEndian; + + /** + * Whether to skip assertions of offsets and values, defaults to `false`. + * @type {boolean} + * @expose + */ + this.noAssert = noAssert; + }; + + /** + * ByteBuffer version. + * @type {string} + * @const + * @expose + */ + ByteBuffer.VERSION = "5.0.0"; + + /** + * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.LITTLE_ENDIAN = true; + + /** + * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.BIG_ENDIAN = false; + + /** + * Default initial capacity of `16`. + * @type {number} + * @expose + */ + ByteBuffer.DEFAULT_CAPACITY = 16; + + /** + * Default endianess of `false` for big endian. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; + + /** + * Default no assertions flag of `false`. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_NOASSERT = false; + + /** + * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded + * and int64 support is not available. + * @type {?Long} + * @const + * @see https://github.com/dcodeIO/long.js + * @expose + */ + ByteBuffer.Long = Long || null; + + /** + * @alias ByteBuffer.prototype + * @inner + */ + var ByteBufferPrototype = ByteBuffer.prototype; + + /** + * An indicator used to reliably determine if an object is a ByteBuffer or not. + * @type {boolean} + * @const + * @expose + * @private + */ + ByteBufferPrototype.__isByteBuffer__; + + Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { + value: true, + enumerable: false, + configurable: false + }); + + // helpers + + /** + * @type {!ArrayBuffer} + * @inner + */ + var EMPTY_BUFFER = new ArrayBuffer(0); + + /** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ + var stringFromCharCode = String.fromCharCode; + + /** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ + function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + } + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return DataView; + }; + /** + * Allocates a new ByteBuffer backed by a buffer of the specified capacity. + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} + * @expose + */ + ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { + return new ByteBuffer(capacity, littleEndian, noAssert); + }; + + /** + * Concatenates multiple ByteBuffers into one. + * @param {!Array.} buffers Buffers to concatenate + * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", + * defaults to "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + * to {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} Concatenated ByteBuffer + * @expose + */ + ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { + if (typeof encoding === 'boolean' || typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + var capacity = 0; + for (var i=0, k=buffers.length, length; i 0) capacity += length; + } + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); + var bb = new ByteBuffer(capacity, littleEndian, noAssert), + bi; + var view = new Uint8Array(bb.buffer); + i=0; while (i} buffer Anything that can be wrapped + * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to + * "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` + * @expose + */ + ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { + if (typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + if (typeof buffer === 'string') { + if (typeof encoding === 'undefined') + encoding = "utf8"; + switch (encoding) { + case "base64": + return ByteBuffer.fromBase64(buffer, littleEndian); + case "hex": + return ByteBuffer.fromHex(buffer, littleEndian); + case "binary": + return ByteBuffer.fromBinary(buffer, littleEndian); + case "utf8": + return ByteBuffer.fromUTF8(buffer, littleEndian); + case "debug": + return ByteBuffer.fromDebug(buffer, littleEndian); + default: + throw Error("Unsupported encoding: "+encoding); + } + } + if (buffer === null || typeof buffer !== 'object') + throw TypeError("Illegal buffer"); + var bb; + if (ByteBuffer.isByteBuffer(buffer)) { + bb = ByteBufferPrototype.clone.call(buffer); + bb.markedOffset = -1; + return bb; + } + if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER + bb.buffer = buffer.buffer; + bb.offset = buffer.byteOffset; + bb.limit = buffer.byteOffset + buffer.byteLength; + bb.view = new DataView(buffer.buffer); + } + } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.byteLength > 0) { + bb.buffer = buffer; + bb.offset = 0; + bb.limit = buffer.byteLength; + bb.view = buffer.byteLength > 0 ? new DataView(buffer) : null; + } + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (var i=0; i} value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.writeBitSet = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (!(value instanceof Array)) - throw TypeError("Illegal BitSet: Not an array"); + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - - var start = offset, - bits = value.length, - bytes = (bits >> 3), - bit = 0, - k; - - offset += this.writeVarint32(bits,offset); - - while(bytes--) { - k = (!!value[bit++] & 1) | - ((!!value[bit++] & 1) << 1) | - ((!!value[bit++] & 1) << 2) | - ((!!value[bit++] & 1) << 3) | - ((!!value[bit++] & 1) << 4) | - ((!!value[bit++] & 1) << 5) | - ((!!value[bit++] & 1) << 6) | - ((!!value[bit++] & 1) << 7); - this.writeByte(k,offset++); - } - - if(bit < bits) { - var m = 0; k = 0; - while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); - this.writeByte(k,offset++); - } - - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - } - - /** - * Reads a BitSet as an array of booleans. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {Array - * @expose - */ - ByteBufferPrototype.readBitSet = function(offset) { + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + } + + /** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ + ByteBufferPrototype.readBitSet = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - - var ret = this.readVarint32(offset), - bits = ret.value, - bytes = (bits >> 3), - bit = 0, - value = [], - k; - - offset += ret.length; - - while(bytes--) { - k = this.readByte(offset++); - value[bit++] = !!(k & 0x01); - value[bit++] = !!(k & 0x02); - value[bit++] = !!(k & 0x04); - value[bit++] = !!(k & 0x08); - value[bit++] = !!(k & 0x10); - value[bit++] = !!(k & 0x20); - value[bit++] = !!(k & 0x40); - value[bit++] = !!(k & 0x80); - } - - if(bit < bits) { - var m = 0; - k = this.readByte(offset++); - while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); - } - - if (relative) { - this.offset = offset; - } - return value; - } - /** - * Reads the specified number of bytes. - * @param {number} length Number of bytes to read - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {!ByteBuffer} - * @expose - */ - ByteBufferPrototype.readBytes = function(length, offset) { + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; + } + /** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.readBytes = function(length, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var slice = this.slice(offset, offset + length); + } + var slice = this.slice(offset, offset + length); if (relative) this.offset += length; - return slice; - }; - - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; - - // types/ints/int8 - - /** - * Writes an 8bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt8 = function(value, offset) { + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + + // types/ints/int8 + + /** + * Writes an 8bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -543,68 +543,68 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 1; var capacity0 = this.buffer.byteLength; if (offset > capacity0) this.resize((capacity0 *= 2) > offset ? capacity0 : offset); offset -= 1; - this.view.setInt8(offset, value); + this.view.setInt8(offset, value); if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; - - /** - * Reads an 8bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt8 = function(offset) { + return this; + }; + + /** + * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + + /** + * Reads an 8bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view.getInt8(offset); + } + var value = this.view.getInt8(offset); if (relative) this.offset += 1; - return value; - }; - - /** - * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; - - /** - * Writes an 8bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint8 = function(value, offset) { + return value; + }; + + /** + * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + + /** + * Writes an 8bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -613,71 +613,71 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 1; var capacity1 = this.buffer.byteLength; if (offset > capacity1) this.resize((capacity1 *= 2) > offset ? capacity1 : offset); offset -= 1; - this.view.setUint8(offset, value); + this.view.setUint8(offset, value); if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; - - /** - * Reads an 8bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint8 = function(offset) { + return this; + }; + + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + + /** + * Reads an 8bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view.getUint8(offset); + } + var value = this.view.getUint8(offset); if (relative) this.offset += 1; - return value; - }; - - /** - * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; - - // types/ints/int16 - - /** - * Writes a 16bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeInt16 = function(value, offset) { + return value; + }; + + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + + // types/ints/int16 + + /** + * Writes a 16bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeInt16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -686,74 +686,74 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 2; var capacity2 = this.buffer.byteLength; if (offset > capacity2) this.resize((capacity2 *= 2) > offset ? capacity2 : offset); offset -= 2; - this.view.setInt16(offset, value, this.littleEndian); + this.view.setInt16(offset, value, this.littleEndian); if (relative) this.offset += 2; - return this; - }; - - /** - * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; - - /** - * Reads a 16bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readInt16 = function(offset) { + return this; + }; + + /** + * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + + /** + * Reads a 16bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readInt16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = this.view.getInt16(offset, this.littleEndian); + } + var value = this.view.getInt16(offset, this.littleEndian); if (relative) this.offset += 2; - return value; - }; - - /** - * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; - - /** - * Writes a 16bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUint16 = function(value, offset) { + return value; + }; + + /** + * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + + /** + * Writes a 16bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUint16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -762,74 +762,74 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 2; var capacity3 = this.buffer.byteLength; if (offset > capacity3) this.resize((capacity3 *= 2) > offset ? capacity3 : offset); offset -= 2; - this.view.setUint16(offset, value, this.littleEndian); + this.view.setUint16(offset, value, this.littleEndian); if (relative) this.offset += 2; - return this; - }; - - /** - * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; - - /** - * Reads a 16bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUint16 = function(offset) { + return this; + }; + + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + + /** + * Reads a 16bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUint16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = this.view.getUint16(offset, this.littleEndian); + } + var value = this.view.getUint16(offset, this.littleEndian); if (relative) this.offset += 2; - return value; - }; - - /** - * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; - - // types/ints/int32 - - /** - * Writes a 32bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeInt32 = function(value, offset) { + return value; + }; + + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + + // types/ints/int32 + + /** + * Writes a 32bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -838,64 +838,64 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 4; var capacity4 = this.buffer.byteLength; if (offset > capacity4) this.resize((capacity4 *= 2) > offset ? capacity4 : offset); offset -= 4; - this.view.setInt32(offset, value, this.littleEndian); + this.view.setInt32(offset, value, this.littleEndian); if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; - - /** - * Reads a 32bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + + /** + * Reads a 32bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = this.view.getInt32(offset, this.littleEndian); + } + var value = this.view.getInt32(offset, this.littleEndian); if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; - - /** - * Writes a 32bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUint32 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + + /** + * Writes a 32bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -904,71 +904,71 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 4; var capacity5 = this.buffer.byteLength; if (offset > capacity5) this.resize((capacity5 *= 2) > offset ? capacity5 : offset); offset -= 4; - this.view.setUint32(offset, value, this.littleEndian); + this.view.setUint32(offset, value, this.littleEndian); if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; - - /** - * Reads a 32bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + + /** + * Reads a 32bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = this.view.getUint32(offset, this.littleEndian); + } + var value = this.view.getUint32(offset, this.littleEndian); if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; - - // types/ints/int64 - - if (Long) { - - /** - * Writes a 64bit signed integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt64 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + + // types/ints/int64 + + if (Long) { + + /** + * Writes a 64bit signed integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -980,7 +980,7 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -990,68 +990,68 @@ if (offset > capacity6) this.resize((capacity6 *= 2) > offset ? capacity6 : offset); offset -= 8; - if (this.littleEndian) { - this.view.setInt32(offset , value.low , true); - this.view.setInt32(offset+4, value.high, true); - } else { - this.view.setInt32(offset , value.high, false); - this.view.setInt32(offset+4, value.low , false); - } + if (this.littleEndian) { + this.view.setInt32(offset , value.low , true); + this.view.setInt32(offset+4, value.high, true); + } else { + this.view.setInt32(offset , value.high, false); + this.view.setInt32(offset+4, value.low , false); + } if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; - - /** - * Reads a 64bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readInt64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; + + /** + * Reads a 64bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readInt64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = this.littleEndian - ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) - : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), false); + } + var value = this.littleEndian + ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), false) + : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), false); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; - - /** - * Writes a 64bit unsigned integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint64 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; + + /** + * Writes a 64bit unsigned integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1063,7 +1063,7 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1073,263 +1073,263 @@ if (offset > capacity7) this.resize((capacity7 *= 2) > offset ? capacity7 : offset); offset -= 8; - if (this.littleEndian) { - this.view.setInt32(offset , value.low , true); - this.view.setInt32(offset+4, value.high, true); - } else { - this.view.setInt32(offset , value.high, false); - this.view.setInt32(offset+4, value.low , false); - } + if (this.littleEndian) { + this.view.setInt32(offset , value.low , true); + this.view.setInt32(offset+4, value.high, true); + } else { + this.view.setInt32(offset , value.high, false); + this.view.setInt32(offset+4, value.low , false); + } if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. - * @function - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; - - /** - * Reads a 64bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUint64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; + + /** + * Reads a 64bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = this.littleEndian - ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) - : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), true); + } + var value = this.littleEndian + ? new Long(this.view.getInt32(offset , true ), this.view.getInt32(offset+4, true ), true) + : new Long(this.view.getInt32(offset+4, false), this.view.getInt32(offset , false), true); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; - - } // Long - - - // types/floats/float32 - - /** - * Writes a 32bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat32 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + + } // Long + + + // types/floats/float32 + + /** + * Writes a 32bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 4; var capacity8 = this.buffer.byteLength; if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset); offset -= 4; - this.view.setFloat32(offset, value, this.littleEndian); + this.view.setFloat32(offset, value, this.littleEndian); if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; - - /** - * Reads a 32bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; + + /** + * Reads a 32bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = this.view.getFloat32(offset, this.littleEndian); + } + var value = this.view.getFloat32(offset, this.littleEndian); if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; - - // types/floats/float64 - - /** - * Writes a 64bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat64 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + + // types/floats/float64 + + /** + * Writes a 64bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 8; var capacity9 = this.buffer.byteLength; if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset); offset -= 8; - this.view.setFloat64(offset, value, this.littleEndian); + this.view.setFloat64(offset, value, this.littleEndian); if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; - - /** - * Reads a 64bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + + /** + * Reads a 64bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = this.view.getFloat64(offset, this.littleEndian); + } + var value = this.view.getFloat64(offset, this.littleEndian); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; - - - // types/varints/varint32 - - /** - * Maximum number of bytes required to store a 32bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT32_BYTES = 5; - - /** - * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. - * @param {number} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} - * @expose - */ - ByteBuffer.calculateVarint32 = function(value) { - // ref: src/google/protobuf/io/coded_stream.cc - value = value >>> 0; - if (value < 1 << 7 ) return 1; - else if (value < 1 << 14) return 2; - else if (value < 1 << 21) return 3; - else if (value < 1 << 28) return 4; - else return 5; - }; - - /** - * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. - * @param {number} n Signed 32bit integer - * @returns {number} Unsigned zigzag encoded 32bit integer - * @expose - */ - ByteBuffer.zigZagEncode32 = function(n) { - return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h - }; - - /** - * Decodes a zigzag encoded signed 32bit integer. - * @param {number} n Unsigned zigzag encoded 32bit integer - * @returns {number} Signed 32bit integer - * @expose - */ - ByteBuffer.zigZagDecode32 = function(n) { - return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h - }; - - /** - * Writes a 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + + + // types/varints/varint32 + + /** + * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT32_BYTES = 5; + + /** + * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. + * @param {number} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * @expose + */ + ByteBuffer.calculateVarint32 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + value = value >>> 0; + if (value < 1 << 7 ) return 1; + else if (value < 1 << 14) return 2; + else if (value < 1 << 21) return 3; + else if (value < 1 << 28) return 4; + else return 5; + }; + + /** + * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. + * @param {number} n Signed 32bit integer + * @returns {number} Unsigned zigzag encoded 32bit integer + * @expose + */ + ByteBuffer.zigZagEncode32 = function(n) { + return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Decodes a zigzag encoded signed 32bit integer. + * @param {number} n Unsigned zigzag encoded 32bit integer + * @returns {number} Signed 32bit integer + * @expose + */ + ByteBuffer.zigZagDecode32 = function(n) { + return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Writes a 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -1338,190 +1338,190 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var size = ByteBuffer.calculateVarint32(value), - b; + } + var size = ByteBuffer.calculateVarint32(value), + b; offset += size; var capacity10 = this.buffer.byteLength; if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; - value >>>= 0; - while (value >= 0x80) { - b = (value & 0x7f) | 0x80; - this.view.setUint8(offset++, b); - value >>>= 7; - } - this.view.setUint8(offset++, value); - if (relative) { - this.offset = offset; - return this; - } - return size; - }; - - /** - * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { - return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); - }; - - /** - * Reads a 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available - * to fully decode the varint. - * @expose - */ - ByteBufferPrototype.readVarint32 = function(offset) { + value >>>= 0; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + this.view.setUint8(offset++, b); + value >>>= 7; + } + this.view.setUint8(offset++, value); + if (relative) { + this.offset = offset; + return this; + } + return size; + }; + + /** + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { + return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + }; + + /** + * Reads a 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. + * @expose + */ + ByteBufferPrototype.readVarint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var c = 0, - value = 0 >>> 0, - b; - do { - if (!this.noAssert && offset > this.limit) { - var err = Error("Truncated"); - err['truncated'] = true; - throw err; - } - b = this.view.getUint8(offset++); - if (c < 5) - value |= (b & 0x7f) << (7*c); - ++c; - } while ((b & 0x80) !== 0); - value |= 0; - if (relative) { - this.offset = offset; - return value; - } - return { - "value": value, - "length": c - }; - }; - - /** - * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint32ZigZag = function(offset) { - var val = this.readVarint32(offset); - if (typeof val === 'object') - val["value"] = ByteBuffer.zigZagDecode32(val["value"]); - else - val = ByteBuffer.zigZagDecode32(val); - return val; - }; - - // types/varints/varint64 - - if (Long) { - - /** - * Maximum number of bytes required to store a 64bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT64_BYTES = 10; - - /** - * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. - * @param {number|!Long} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} - * @expose - */ - ByteBuffer.calculateVarint64 = function(value) { + } + var c = 0, + value = 0 >>> 0, + b; + do { + if (!this.noAssert && offset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + b = this.view.getUint8(offset++); + if (c < 5) + value |= (b & 0x7f) << (7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; + if (relative) { + this.offset = offset; + return value; + } + return { + "value": value, + "length": c + }; + }; + + /** + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint32ZigZag = function(offset) { + var val = this.readVarint32(offset); + if (typeof val === 'object') + val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + else + val = ByteBuffer.zigZagDecode32(val); + return val; + }; + + // types/varints/varint64 + + if (Long) { + + /** + * Maximum number of bytes required to store a 64bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT64_BYTES = 10; + + /** + * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. + * @param {number|!Long} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} + * @expose + */ + ByteBuffer.calculateVarint64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') value = Long.fromString(value); - // ref: src/google/protobuf/io/coded_stream.cc - var part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - if (part2 == 0) { - if (part1 == 0) { - if (part0 < 1 << 14) - return part0 < 1 << 7 ? 1 : 2; - else - return part0 < 1 << 21 ? 3 : 4; - } else { - if (part1 < 1 << 14) - return part1 < 1 << 7 ? 5 : 6; - else - return part1 < 1 << 21 ? 7 : 8; - } - } else - return part2 < 1 << 7 ? 9 : 10; - }; - - /** - * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. - * @param {number|!Long} value Signed long - * @returns {!Long} Unsigned zigzag encoded long - * @expose - */ - ByteBuffer.zigZagEncode64 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + var part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + if (part2 == 0) { + if (part1 == 0) { + if (part0 < 1 << 14) + return part0 < 1 << 7 ? 1 : 2; + else + return part0 < 1 << 21 ? 3 : 4; + } else { + if (part1 < 1 << 14) + return part1 < 1 << 7 ? 5 : 6; + else + return part1 < 1 << 21 ? 7 : 8; + } + } else + return part2 < 1 << 7 ? 9 : 10; + }; + + /** + * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. + * @param {number|!Long} value Signed long + * @returns {!Long} Unsigned zigzag encoded long + * @expose + */ + ByteBuffer.zigZagEncode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); - }; - - /** - * Decodes a zigzag encoded signed 64bit integer. - * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number - * @returns {!Long} Signed long - * @expose - */ - ByteBuffer.zigZagDecode64 = function(value) { + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); + }; + + /** + * Decodes a zigzag encoded signed 64bit integer. + * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number + * @returns {!Long} Signed long + * @expose + */ + ByteBuffer.zigZagDecode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); - }; - - /** - * Writes a 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64 = function(value, offset) { + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); + }; + + /** + * Writes a 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1533,402 +1533,402 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - var size = ByteBuffer.calculateVarint64(value), - part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + var size = ByteBuffer.calculateVarint64(value), + part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; offset += size; var capacity11 = this.buffer.byteLength; if (offset > capacity11) this.resize((capacity11 *= 2) > offset ? capacity11 : offset); offset -= size; - switch (size) { - case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); - case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); - case 8 : this.view.setUint8(offset+7, size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F); - case 7 : this.view.setUint8(offset+6, size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F); - case 6 : this.view.setUint8(offset+5, size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F); - case 5 : this.view.setUint8(offset+4, size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F); - case 4 : this.view.setUint8(offset+3, size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F); - case 3 : this.view.setUint8(offset+2, size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F); - case 2 : this.view.setUint8(offset+1, size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F); - case 1 : this.view.setUint8(offset , size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F); - } - if (relative) { - this.offset += size; - return this; - } else { - return size; - } - }; - - /** - * Writes a zig-zag encoded 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { - return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); - }; - - /** - * Reads a 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64 = function(offset) { + switch (size) { + case 10: this.view.setUint8(offset+9, (part2 >>> 7) & 0x01); + case 9 : this.view.setUint8(offset+8, size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F); + case 8 : this.view.setUint8(offset+7, size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F); + case 7 : this.view.setUint8(offset+6, size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F); + case 6 : this.view.setUint8(offset+5, size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F); + case 5 : this.view.setUint8(offset+4, size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F); + case 4 : this.view.setUint8(offset+3, size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F); + case 3 : this.view.setUint8(offset+2, size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F); + case 2 : this.view.setUint8(offset+1, size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F); + case 1 : this.view.setUint8(offset , size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F); + } + if (relative) { + this.offset += size; + return this; + } else { + return size; + } + }; + + /** + * Writes a zig-zag encoded 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { + return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); + }; + + /** + * Reads a 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - // ref: src/google/protobuf/io/coded_stream.cc - var start = offset, - part0 = 0, - part1 = 0, - part2 = 0, - b = 0; - b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 7; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 14; if (b & 0x80) { - b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { - b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { - b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { - throw Error("Buffer overrun"); }}}}}}}}}} - var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); - if (relative) { - this.offset = offset; - return value; - } else { - return { - 'value': value, - 'length': offset-start - }; - } - }; - - /** - * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64ZigZag = function(offset) { - var val = this.readVarint64(offset); - if (val && val['value'] instanceof Long) - val["value"] = ByteBuffer.zigZagDecode64(val["value"]); - else - val = ByteBuffer.zigZagDecode64(val); - return val; - }; - - } // Long - - - // types/strings/cstring - - /** - * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - * characters itself. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * contained in `str` + 1 if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeCString = function(str, offset) { + } + // ref: src/google/protobuf/io/coded_stream.cc + var start = offset, + part0 = 0, + part1 = 0, + part2 = 0, + b = 0; + b = this.view.getUint8(offset++); part0 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 14; if (b & 0x80) { + b = this.view.getUint8(offset++); part0 |= (b & 0x7F) << 21; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 7; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 14; if (b & 0x80) { + b = this.view.getUint8(offset++); part1 |= (b & 0x7F) << 21; if (b & 0x80) { + b = this.view.getUint8(offset++); part2 = (b & 0x7F) ; if (b & 0x80) { + b = this.view.getUint8(offset++); part2 |= (b & 0x7F) << 7; if (b & 0x80) { + throw Error("Buffer overrun"); }}}}}}}}}} + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); + if (relative) { + this.offset = offset; + return value; + } else { + return { + 'value': value, + 'length': offset-start + }; + } + }; + + /** + * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64ZigZag = function(offset) { + var val = this.readVarint64(offset); + if (val && val['value'] instanceof Long) + val["value"] = ByteBuffer.zigZagDecode64(val["value"]); + else + val = ByteBuffer.zigZagDecode64(val); + return val; + }; + + } // Long + + + // types/strings/cstring + + /** + * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + * characters itself. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * contained in `str` + 1 if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeCString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - var i, - k = str.length; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + } + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k+1; var capacity12 = this.buffer.byteLength; if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - this.view.setUint8(offset++, 0); - if (relative) { - this.offset = offset; - return this; - } - return k; - }; - - /** - * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - * itself. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readCString = function(offset) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + this.view.setUint8(offset++, 0); + if (relative) { + this.offset = offset; + return this; + } + return k; + }; + + /** + * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + * itself. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readCString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var start = offset, - temp; - // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: - var sd, b = -1; - utfx.decodeUTF8toUTF16(function() { - if (b === 0) return null; - if (offset >= this.limit) - throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - b = this.view.getUint8(offset++); - return b === 0 ? null : b; - }.bind(this), sd = stringDestination(), true); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - }; - - // types/strings/istring - - /** - * Writes a length as uint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeIString = function(str, offset) { + } + var start = offset, + temp; + // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + b = this.view.getUint8(offset++); + return b === 0 ? null : b; + }.bind(this), sd = stringDestination(), true); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + }; + + // types/strings/istring + + /** + * Writes a length as uint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeIString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + } + var start = offset, + k; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; offset += 4+k; var capacity13 = this.buffer.byteLength; if (offset > capacity13) this.resize((capacity13 *= 2) > offset ? capacity13 : offset); offset -= 4+k; - this.view.setUint32(offset, k, this.littleEndian); - offset += 4; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - if (offset !== start + 4 + k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as uint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readIString = function(offset) { + this.view.setUint32(offset, k, this.littleEndian); + offset += 4; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start + 4 + k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as uint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readIString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var start = offset; - var len = this.readUint32(offset); - var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); - offset += str['length']; - if (relative) { - this.offset = offset; - return str['string']; - } else { - return { - 'string': str['string'], - 'length': offset - start - }; - } - }; - - // types/strings/utf8string - - /** - * Metrics representing number of UTF8 characters. Evaluates to `c`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_CHARS = 'c'; - - /** - * Metrics representing number of bytes. Evaluates to `b`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_BYTES = 'b'; - - /** - * Writes an UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeUTF8String = function(str, offset) { + } + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; + if (relative) { + this.offset = offset; + return str['string']; + } else { + return { + 'string': str['string'], + 'length': offset - start + }; + } + }; + + // types/strings/utf8string + + /** + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_CHARS = 'c'; + + /** + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_BYTES = 'b'; + + /** + * Writes an UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeUTF8String = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var k; - var start = offset; - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + } + var k; + var start = offset; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k; var capacity14 = this.buffer.byteLength; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. - * @function - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; - - /** - * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. - * @param {string} str String to calculate - * @returns {number} Number of UTF8 characters - * @expose - */ - ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[0]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateUTF8Bytes = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[1]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes; - - /** - * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read. - * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { - if (typeof metrics === 'number') { - offset = metrics; - metrics = undefined; - } + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. + * @function + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; + + /** + * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. + * @param {string} str String to calculate + * @returns {number} Number of UTF8 characters + * @expose + */ + ByteBuffer.calculateUTF8Chars = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateUTF8Bytes = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes; + + /** + * Reads an UTF8 encoded string. + * @param {number} length Number of characters or bytes to read. + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { + if (typeof metrics === 'number') { + offset = metrics; + metrics = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; - if (!this.noAssert) { + if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; + if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; @@ -1937,275 +1937,275 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var i = 0, - start = offset, - sd; - if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = stringDestination(); - utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; - }.bind(this), function(cp) { - ++i; utfx.UTF8toUTF16(cp, sd); - }); - if (i !== length) - throw RangeError("Illegal range: Truncated data, "+i+" == "+length); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - } else if (metrics === ByteBuffer.METRICS_BYTES) { - if (!this.noAssert) { + } + var i = 0, + start = offset, + sd; + if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser + sd = stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.view.getUint8(offset++) : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }); + if (i !== length) + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + } else if (metrics === ByteBuffer.METRICS_BYTES) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var k = offset + length; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view.getUint8(offset++) : null; - }.bind(this), sd = stringDestination(), this.noAssert); - if (offset !== k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - 'string': sd(), - 'length': offset - start - }; - } - } else - throw TypeError("Unsupported metrics: "+metrics); - }; - - /** - * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. - * @function - * @param {number} length Number of characters or bytes to read - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; - - // types/strings/vstring - - /** - * Writes a length as varint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeVString = function(str, offset) { + } + var k = offset + length; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view.getUint8(offset++) : null; + }.bind(this), sd = stringDestination(), this.noAssert); + if (offset !== k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + 'string': sd(), + 'length': offset - start + }; + } + } else + throw TypeError("Unsupported metrics: "+metrics); + }; + + /** + * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. + * @function + * @param {number} length Number of characters or bytes to read + * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; + + // types/strings/vstring + + /** + * Writes a length as varint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeVString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k, l; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; - l = ByteBuffer.calculateVarint32(k); + } + var start = offset, + k, l; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.byteLength; if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; - offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view.setUint8(offset++, b); - }.bind(this)); - if (offset !== start+k+l) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as varint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readVString = function(offset) { + offset += this.writeVarint32(k, offset); + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view.setUint8(offset++, b); + }.bind(this)); + if (offset !== start+k+l) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as varint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readVString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var start = offset; - var len = this.readVarint32(offset); - var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); - offset += str['length']; - if (relative) { - this.offset = offset; - return str['string']; - } else { - return { - 'string': str['string'], - 'length': offset - start - }; - } - }; - - - /** - * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - * data's length. - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` - * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` - */ - ByteBufferPrototype.append = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } + } + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; + if (relative) { + this.offset = offset; + return str['string']; + } else { + return { + 'string': str['string'], + 'length': offset - start + }; + } + }; + + + /** + * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + * data's length. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` + * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` + */ + ByteBufferPrototype.append = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var length = source.limit - source.offset; - if (length <= 0) return this; // Nothing to append + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var length = source.limit - source.offset; + if (length <= 0) return this; // Nothing to append offset += length; var capacity16 = this.buffer.byteLength; if (offset > capacity16) this.resize((capacity16 *= 2) > offset ? capacity16 : offset); offset -= length; - new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); - source.offset += length; + new Uint8Array(this.buffer, offset).set(new Uint8Array(source.buffer).subarray(source.offset, source.limit)); + source.offset += length; if (relative) this.offset += length; - return this; - }; - - /** - * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the - specified offset up to the length of this ByteBuffer's data. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#append - */ - ByteBufferPrototype.appendTo = function(target, offset) { - target.append(this, offset); - return this; - }; - - /** - * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - * disable them if your code already makes sure that everything is valid. - * @param {boolean} assert `true` to enable assertions, otherwise `false` - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.assert = function(assert) { - this.noAssert = !assert; - return this; - }; - - /** - * Gets the capacity of this ByteBuffer's backing buffer. - * @returns {number} Capacity of the backing buffer - * @expose - */ - ByteBufferPrototype.capacity = function() { - return this.buffer.byteLength; - }; - /** - * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the - * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.clear = function() { - this.offset = 0; - this.limit = this.buffer.byteLength; - this.markedOffset = -1; - return this; - }; - - /** - * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, - * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. - * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` - * @returns {!ByteBuffer} Cloned instance - * @expose - */ - ByteBufferPrototype.clone = function(copy) { - var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); - if (copy) { - bb.buffer = new ArrayBuffer(this.buffer.byteLength); - new Uint8Array(bb.buffer).set(this.buffer); - bb.view = new DataView(bb.buffer); - } else { - bb.buffer = this.buffer; - bb.view = this.view; - } - bb.offset = this.offset; - bb.markedOffset = this.markedOffset; - bb.limit = this.limit; - return bb; - }; - - /** - * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes - * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and - * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.compact = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + return this; + }; + + /** + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#append + */ + ByteBufferPrototype.appendTo = function(target, offset) { + target.append(this, offset); + return this; + }; + + /** + * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + * disable them if your code already makes sure that everything is valid. + * @param {boolean} assert `true` to enable assertions, otherwise `false` + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.assert = function(assert) { + this.noAssert = !assert; + return this; + }; + + /** + * Gets the capacity of this ByteBuffer's backing buffer. + * @returns {number} Capacity of the backing buffer + * @expose + */ + ByteBufferPrototype.capacity = function() { + return this.buffer.byteLength; + }; + /** + * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the + * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.clear = function() { + this.offset = 0; + this.limit = this.buffer.byteLength; + this.markedOffset = -1; + return this; + }; + + /** + * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, + * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. + * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` + * @returns {!ByteBuffer} Cloned instance + * @expose + */ + ByteBufferPrototype.clone = function(copy) { + var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); + if (copy) { + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + new Uint8Array(bb.buffer).set(this.buffer); + bb.view = new DataView(bb.buffer); + } else { + bb.buffer = this.buffer; + bb.view = this.view; + } + bb.offset = this.offset; + bb.markedOffset = this.markedOffset; + bb.limit = this.limit; + return bb; + }; + + /** + * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes + * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and + * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.compact = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2214,40 +2214,40 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === 0 && end === this.buffer.byteLength) - return this; // Already compacted - var len = end - begin; - if (len === 0) { - this.buffer = EMPTY_BUFFER; - this.view = null; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = 0; - return this; - } - var buffer = new ArrayBuffer(len); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); - this.buffer = buffer; - this.view = new DataView(buffer); - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = len; - return this; - }; - - /** - * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Copy - * @expose - */ - ByteBufferPrototype.copy = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + } + if (begin === 0 && end === this.buffer.byteLength) + return this; // Already compacted + var len = end - begin; + if (len === 0) { + this.buffer = EMPTY_BUFFER; + this.view = null; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = 0; + return this; + } + var buffer = new ArrayBuffer(len); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(begin, end)); + this.buffer = buffer; + this.view = new DataView(buffer); + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = len; + return this; + }; + + /** + * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Copy + * @expose + */ + ByteBufferPrototype.copy = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2256,94 +2256,94 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return new ByteBuffer(0, this.littleEndian, this.noAssert); - var capacity = end - begin, - bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); - bb.offset = 0; - bb.limit = capacity; - if (bb.markedOffset >= 0) bb.markedOffset -= begin; - this.copyTo(bb, 0, begin, end); - return bb; - }; - - /** - * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} - * by the number of bytes copied if omitted. - * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the - * number of bytes copied if omitted. - * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { - var relative, - targetRelative; - if (!this.noAssert) { - if (!ByteBuffer.isByteBuffer(target)) - throw TypeError("Illegal target: Not a ByteBuffer"); - } - targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; - sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; - sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; - - if (targetOffset < 0 || targetOffset > target.buffer.byteLength) - throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); - if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) - throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); - - var len = sourceLimit - sourceOffset; - if (len === 0) - return target; // Nothing to copy - - target.ensureCapacity(targetOffset + len); - - new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); - - if (relative) this.offset += len; - if (targetRelative) target.offset += len; - - return this; - }; - - /** - * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the - * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - * the required capacity will be used instead. - * @param {number} capacity Required capacity - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.ensureCapacity = function(capacity) { - var current = this.buffer.byteLength; - if (current < capacity) - return this.resize((current *= 2) > capacity ? current : capacity); - return this; - }; - - /** - * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. - * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} this - * @expose - * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes - */ - ByteBufferPrototype.fill = function(value, begin, end) { + } + if (begin === end) + return new ByteBuffer(0, this.littleEndian, this.noAssert); + var capacity = end - begin, + bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); + bb.offset = 0; + bb.limit = capacity; + if (bb.markedOffset >= 0) bb.markedOffset -= begin; + this.copyTo(bb, 0, begin, end); + return bb; + }; + + /** + * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} + * by the number of bytes copied if omitted. + * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the + * number of bytes copied if omitted. + * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + var relative, + targetRelative; + if (!this.noAssert) { + if (!ByteBuffer.isByteBuffer(target)) + throw TypeError("Illegal target: Not a ByteBuffer"); + } + targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; + sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; + sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; + + if (targetOffset < 0 || targetOffset > target.buffer.byteLength) + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); + if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); + + var len = sourceLimit - sourceOffset; + if (len === 0) + return target; // Nothing to copy + + target.ensureCapacity(targetOffset + len); + + new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset); + + if (relative) this.offset += len; + if (targetRelative) target.offset += len; + + return this; + }; + + /** + * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the + * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + * the required capacity will be used instead. + * @param {number} capacity Required capacity + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.ensureCapacity = function(capacity) { + var current = this.buffer.byteLength; + if (current < capacity) + return this.resize((current *= 2) > capacity ? current : capacity); + return this; + }; + + /** + * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. + * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} this + * @expose + * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes + */ + ByteBufferPrototype.fill = function(value, begin, end) { var relative = typeof begin === 'undefined'; if (relative) begin = this.offset; - if (typeof value === 'string' && value.length > 0) - value = value.charCodeAt(0); - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + if (typeof value === 'string' && value.length > 0) + value = value.charCodeAt(0); + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -2355,227 +2355,227 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin >= end) - return this; // Nothing to fill - while (begin < end) this.view.setUint8(begin++, value); - if (relative) this.offset = begin; - return this; - }; - - /** - * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and - * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.flip = function() { - this.limit = this.offset; - this.offset = 0; - return this; - }; - /** - * Marks an offset on this ByteBuffer to be used later. - * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. - * @returns {!ByteBuffer} this - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @see ByteBuffer#reset - * @expose - */ - ByteBufferPrototype.mark = function(offset) { - offset = typeof offset === 'undefined' ? this.offset : offset; - if (!this.noAssert) { + } + if (begin >= end) + return this; // Nothing to fill + while (begin < end) this.view.setUint8(begin++, value); + if (relative) this.offset = begin; + return this; + }; + + /** + * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and + * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.flip = function() { + this.limit = this.offset; + this.offset = 0; + return this; + }; + /** + * Marks an offset on this ByteBuffer to be used later. + * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. + * @returns {!ByteBuffer} this + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @see ByteBuffer#reset + * @expose + */ + ByteBufferPrototype.mark = function(offset) { + offset = typeof offset === 'undefined' ? this.offset : offset; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - this.markedOffset = offset; - return this; - }; - /** - * Sets the byte order. - * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.order = function(littleEndian) { - if (!this.noAssert) { - if (typeof littleEndian !== 'boolean') - throw TypeError("Illegal littleEndian: Not a boolean"); - } - this.littleEndian = !!littleEndian; - return this; - }; - - /** - * Switches (to) little endian byte order. - * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.LE = function(littleEndian) { - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; - return this; - }; - - /** - * Switches (to) big endian byte order. - * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.BE = function(bigEndian) { - this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; - return this; - }; - /** - * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be - * modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` - * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` - */ - ByteBufferPrototype.prepend = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } + } + this.markedOffset = offset; + return this; + }; + /** + * Sets the byte order. + * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.order = function(littleEndian) { + if (!this.noAssert) { + if (typeof littleEndian !== 'boolean') + throw TypeError("Illegal littleEndian: Not a boolean"); + } + this.littleEndian = !!littleEndian; + return this; + }; + + /** + * Switches (to) little endian byte order. + * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.LE = function(littleEndian) { + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; + return this; + }; + + /** + * Switches (to) big endian byte order. + * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.BE = function(bigEndian) { + this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; + return this; + }; + /** + * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be + * modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` + * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` + */ + ByteBufferPrototype.prepend = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var len = source.limit - source.offset; - if (len <= 0) return this; // Nothing to prepend - var diff = len - offset; - if (diff > 0) { // Not enough space before offset, so resize + move - var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - var arrayView = new Uint8Array(buffer); - arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); - this.buffer = buffer; - this.view = new DataView(buffer); - this.offset += diff; - if (this.markedOffset >= 0) this.markedOffset += diff; - this.limit += diff; - offset += diff; - } else { - var arrayView = new Uint8Array(this.buffer); - } - arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); - - source.offset = source.limit; - if (relative) - this.offset -= len; - return this; - }; - - /** - * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#prepend - */ - ByteBufferPrototype.prependTo = function(target, offset) { - target.prepend(this, offset); - return this; - }; - /** - * Prints debug information about this ByteBuffer's contents. - * @param {function(string)=} out Output function to call, defaults to console.log - * @expose - */ - ByteBufferPrototype.printDebug = function(out) { - if (typeof out !== 'function') out = console.log.bind(console); - out( - this.toString()+"\n"+ - "-------------------------------------------------------------------\n"+ - this.toDebug(/* columns */ true) - ); - }; - - /** - * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}, so this returns `limit - offset`. - * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. - * @expose - */ - ByteBufferPrototype.remaining = function() { - return this.limit - this.offset; - }; - /** - * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} - * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been - * marked, sets `offset = 0`. - * @returns {!ByteBuffer} this - * @see ByteBuffer#mark - * @expose - */ - ByteBufferPrototype.reset = function() { - if (this.markedOffset >= 0) { - this.offset = this.markedOffset; - this.markedOffset = -1; - } else { - this.offset = 0; - } - return this; - }; - /** - * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - * large or larger. - * @param {number} capacity Capacity required - * @returns {!ByteBuffer} this - * @throws {TypeError} If `capacity` is not a number - * @throws {RangeError} If `capacity < 0` - * @expose - */ - ByteBufferPrototype.resize = function(capacity) { - if (!this.noAssert) { + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var len = source.limit - source.offset; + if (len <= 0) return this; // Nothing to prepend + var diff = len - offset; + if (diff > 0) { // Not enough space before offset, so resize + move + var buffer = new ArrayBuffer(this.buffer.byteLength + diff); + var arrayView = new Uint8Array(buffer); + arrayView.set(new Uint8Array(this.buffer).subarray(offset, this.buffer.byteLength), len); + this.buffer = buffer; + this.view = new DataView(buffer); + this.offset += diff; + if (this.markedOffset >= 0) this.markedOffset += diff; + this.limit += diff; + offset += diff; + } else { + var arrayView = new Uint8Array(this.buffer); + } + arrayView.set(new Uint8Array(source.buffer).subarray(source.offset, source.limit), offset - len); + + source.offset = source.limit; + if (relative) + this.offset -= len; + return this; + }; + + /** + * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#prepend + */ + ByteBufferPrototype.prependTo = function(target, offset) { + target.prepend(this, offset); + return this; + }; + /** + * Prints debug information about this ByteBuffer's contents. + * @param {function(string)=} out Output function to call, defaults to console.log + * @expose + */ + ByteBufferPrototype.printDebug = function(out) { + if (typeof out !== 'function') out = console.log.bind(console); + out( + this.toString()+"\n"+ + "-------------------------------------------------------------------\n"+ + this.toDebug(/* columns */ true) + ); + }; + + /** + * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}, so this returns `limit - offset`. + * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. + * @expose + */ + ByteBufferPrototype.remaining = function() { + return this.limit - this.offset; + }; + /** + * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} + * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been + * marked, sets `offset = 0`. + * @returns {!ByteBuffer} this + * @see ByteBuffer#mark + * @expose + */ + ByteBufferPrototype.reset = function() { + if (this.markedOffset >= 0) { + this.offset = this.markedOffset; + this.markedOffset = -1; + } else { + this.offset = 0; + } + return this; + }; + /** + * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + * large or larger. + * @param {number} capacity Capacity required + * @returns {!ByteBuffer} this + * @throws {TypeError} If `capacity` is not a number + * @throws {RangeError} If `capacity < 0` + * @expose + */ + ByteBufferPrototype.resize = function(capacity) { + if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; - if (capacity < 0) - throw RangeError("Illegal capacity: 0 <= "+capacity); - } - if (this.buffer.byteLength < capacity) { - var buffer = new ArrayBuffer(capacity); - new Uint8Array(buffer).set(new Uint8Array(this.buffer)); - this.buffer = buffer; - this.view = new DataView(buffer); - } - return this; - }; - /** - * Reverses this ByteBuffer's contents. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.reverse = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + if (capacity < 0) + throw RangeError("Illegal capacity: 0 <= "+capacity); + } + if (this.buffer.byteLength < capacity) { + var buffer = new ArrayBuffer(capacity); + new Uint8Array(buffer).set(new Uint8Array(this.buffer)); + this.buffer = buffer; + this.view = new DataView(buffer); + } + return this; + }; + /** + * Reverses this ByteBuffer's contents. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.reverse = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2584,45 +2584,45 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return this; // Nothing to reverse - Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); - this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? - return this; - }; - /** - * Skips the next `length` bytes. This will just advance - * @param {number} length Number of bytes to skip. May also be negative to move the offset back. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.skip = function(length) { - if (!this.noAssert) { + } + if (begin === end) + return this; // Nothing to reverse + Array.prototype.reverse.call(new Uint8Array(this.buffer).subarray(begin, end)); + this.view = new DataView(this.buffer); // FIXME: Why exactly is this necessary? + return this; + }; + /** + * Skips the next `length` bytes. This will just advance + * @param {number} length Number of bytes to skip. May also be negative to move the offset back. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.skip = function(length) { + if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; - } - var offset = this.offset + length; - if (!this.noAssert) { - if (offset < 0 || offset > this.buffer.byteLength) - throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); - } - this.offset = offset; - return this; - }; - - /** - * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} - * @expose - */ - ByteBufferPrototype.slice = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + } + var offset = this.offset + length; + if (!this.noAssert) { + if (offset < 0 || offset > this.buffer.byteLength) + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); + } + this.offset = offset; + return this; + }; + + /** + * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} + * @expose + */ + ByteBufferPrototype.slice = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2631,24 +2631,24 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var bb = this.clone(); - bb.offset = begin; - bb.limit = end; - return bb; - }; - /** - * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if - * possible. Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose - */ - ByteBufferPrototype.toBuffer = function(forceCopy) { - var offset = this.offset, - limit = this.limit; - if (!this.noAssert) { + } + var bb = this.clone(); + bb.offset = begin; + bb.limit = end; + return bb; + }; + /** + * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if + * possible. Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toBuffer = function(forceCopy) { + var offset = this.offset, + limit = this.limit; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; @@ -2657,67 +2657,67 @@ limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); - } - // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is - // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) - return this.buffer; - if (offset === limit) - return EMPTY_BUFFER; - var buffer = new ArrayBuffer(limit - offset); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); - return buffer; - }; - - /** - * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. - * @function - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. - * Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose - */ - ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; - - /** - * Converts the ByteBuffer's contents to a string. - * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows - * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with - * highlighted offsets. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {string} String representation - * @throws {Error} If `encoding` is invalid - * @expose - */ - ByteBufferPrototype.toString = function(encoding, begin, end) { - if (typeof encoding === 'undefined') - return "ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; - if (typeof encoding === 'number') - encoding = "utf8", - begin = encoding, - end = begin; - switch (encoding) { - case "utf8": - return this.toUTF8(begin, end); - case "base64": - return this.toBase64(begin, end); - case "hex": - return this.toHex(begin, end); - case "binary": - return this.toBinary(begin, end); - case "debug": - return this.toDebug(); - case "columns": - return this.toColumns(); - default: - throw Error("Unsupported encoding: "+encoding); - } - }; - - // lxiv-embeddable - + } + // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is + // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) + return this.buffer; + if (offset === limit) + return EMPTY_BUFFER; + var buffer = new ArrayBuffer(limit - offset); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); + return buffer; + }; + + /** + * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. + * @function + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. + * Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + + /** + * Converts the ByteBuffer's contents to a string. + * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows + * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with + * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {string} String representation + * @throws {Error} If `encoding` is invalid + * @expose + */ + ByteBufferPrototype.toString = function(encoding, begin, end) { + if (typeof encoding === 'undefined') + return "ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; + switch (encoding) { + case "utf8": + return this.toUTF8(begin, end); + case "base64": + return this.toBase64(begin, end); + case "hex": + return this.toHex(begin, end); + case "binary": + return this.toBinary(begin, end); + case "debug": + return this.toDebug(); + case "columns": + return this.toColumns(); + default: + throw Error("Unsupported encoding: "+encoding); + } + }; + + // lxiv-embeddable + /** * lxiv-embeddable (c) 2014 Daniel Wirtz * Released under the Apache License, Version 2.0 @@ -2829,328 +2829,328 @@ return lxiv; }(); - - // encodings/base64 - - /** - * Encodes this ByteBuffer's contents to a base64 encoded string. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. - * @returns {string} Base64 encoded string - * @throws {RangeError} If `begin` or `end` is out of bounds - * @expose - */ - ByteBufferPrototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - begin = begin | 0; end = end | 0; - if (begin < 0 || end > this.capacity || begin > end) - throw RangeError("begin, end"); - var sd; lxiv.encode(function() { - return begin < end ? this.view.getUint8(begin++) : null; - }.bind(this), sd = stringDestination()); - return sd(); - }; - - /** - * Decodes a base64 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBase64 = function(str, littleEndian) { - if (typeof str !== 'string') - throw TypeError("str"); - var bb = new ByteBuffer(str.length/4*3, littleEndian), - i = 0; - lxiv.decode(stringSource(str), function(b) { - bb.view.setUint8(i++, b); - }); - bb.limit = i; - return bb; - }; - - /** - * Encodes a binary string to base64 like `window.btoa` does. - * @param {string} str Binary string - * @returns {string} Base64 encoded string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa - * @expose - */ - ByteBuffer.btoa = function(str) { - return ByteBuffer.fromBinary(str).toBase64(); - }; - - /** - * Decodes a base64 encoded string to binary like `window.atob` does. - * @param {string} b64 Base64 encoded string - * @returns {string} Binary string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob - * @expose - */ - ByteBuffer.atob = function(b64) { - return ByteBuffer.fromBase64(b64).toBinary(); - }; - - // encodings/binary - - /** - * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. - * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. - * @returns {string} Binary encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toBinary = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - begin |= 0; end |= 0; - if (begin < 0 || end > this.capacity() || begin > end) - throw RangeError("begin, end"); - if (begin === end) - return ""; - var chars = [], - parts = []; - while (begin < end) { - chars.push(this.view.getUint8(begin++)); - if (chars.length >= 1024) - parts.push(String.fromCharCode.apply(String, chars)), - chars = []; - } - return parts.join('') + String.fromCharCode.apply(String, chars); - }; - - /** - * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBinary = function(str, littleEndian) { - if (typeof str !== 'string') - throw TypeError("str"); - var i = 0, - k = str.length, - charCode, - bb = new ByteBuffer(k, littleEndian); - while (i 0xff) - throw RangeError("illegal char code: "+charCode); - bb.view.setUint8(i++, charCode); - } - bb.limit = k; - return bb; - }; - - // encodings/debug - - /** - * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - * * `<` : offset, - * * `'` : markedOffset, - * * `>` : limit, - * * `|` : offset and limit, - * * `[` : offset and markedOffset, - * * `]` : markedOffset and limit, - * * `!` : offset, markedOffset and limit - * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` - * @returns {string|!Array.} Debug string or array of lines if `asArray = true` - * @expose - * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` - * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` - * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` - * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` - */ - ByteBufferPrototype.toDebug = function(columns) { - var i = -1, - k = this.buffer.byteLength, - b, - hex = "", - asc = "", - out = ""; - while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; - } - ++i; - if (columns) { - if (i > 0 && i % 16 === 0 && i !== k) { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; - hex = asc = ""; - } - } - if (i === this.offset && i === this.limit) - hex += i === this.markedOffset ? "!" : "|"; - else if (i === this.offset) - hex += i === this.markedOffset ? "[" : "<"; - else if (i === this.limit) - hex += i === this.markedOffset ? "]" : ">"; - else - hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); - } - if (columns && hex !== " ") { - while (hex.length < 3*16+3) - hex += " "; - out += hex + asc + "\n"; - } - return columns ? out : hex; - }; - - /** - * Decodes a hex encoded string with marked offsets to a ByteBuffer. - * @param {string} str Debug string to decode (not be generated with `columns = true`) - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - * @see ByteBuffer#toDebug - */ - ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { - var k = str.length, - bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); - var i = 0, j = 0, ch, b, - rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? - fail = false; - while (i': - if (!noAssert) { - if (hl) { - fail = true; - break; - } - hl = true; - } - bb.limit = j; - rs = false; - break; - case "'": - if (!noAssert) { - if (hm) { - fail = true; - break; - } - hm = true; - } - bb.markedOffset = j; - rs = false; - break; - case ' ': - rs = false; - break; - default: - if (!noAssert) { - if (rs) { - fail = true; - break; - } - } - b = parseInt(ch+str.charAt(i++), 16); - if (!noAssert) { - if (isNaN(b) || b < 0 || b > 255) - throw TypeError("Illegal str: Not a debug encoded string"); - } - bb.view.setUint8(j++, b); - rs = true; - } - if (fail) - throw TypeError("Illegal str: Invalid symbol at "+i); - } - if (!noAssert) { - if (!ho || !hl) - throw TypeError("Illegal str: Missing offset or limit"); - if (j this.capacity || begin > end) + throw RangeError("begin, end"); + var sd; lxiv.encode(function() { + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); + return sd(); + }; + + /** + * Decodes a base64 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBase64 = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var bb = new ByteBuffer(str.length/4*3, littleEndian), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; + return bb; + }; + + /** + * Encodes a binary string to base64 like `window.btoa` does. + * @param {string} str Binary string + * @returns {string} Base64 encoded string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa + * @expose + */ + ByteBuffer.btoa = function(str) { + return ByteBuffer.fromBinary(str).toBase64(); + }; + + /** + * Decodes a base64 encoded string to binary like `window.atob` does. + * @param {string} b64 Base64 encoded string + * @returns {string} Binary string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob + * @expose + */ + ByteBuffer.atob = function(b64) { + return ByteBuffer.fromBase64(b64).toBinary(); + }; + + // encodings/binary + + /** + * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Binary encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toBinary = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); + if (begin === end) + return ""; + var chars = [], + parts = []; + while (begin < end) { + chars.push(this.view.getUint8(begin++)); + if (chars.length >= 1024) + parts.push(String.fromCharCode.apply(String, chars)), + chars = []; + } + return parts.join('') + String.fromCharCode.apply(String, chars); + }; + + /** + * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBinary = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var i = 0, + k = str.length, + charCode, + bb = new ByteBuffer(k, littleEndian); + while (i 0xff) + throw RangeError("illegal char code: "+charCode); + bb.view.setUint8(i++, charCode); + } + bb.limit = k; + return bb; + }; + + // encodings/debug + + /** + * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + * * `<` : offset, + * * `'` : markedOffset, + * * `>` : limit, + * * `|` : offset and limit, + * * `[` : offset and markedOffset, + * * `]` : markedOffset and limit, + * * `!` : offset, markedOffset and limit + * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` + * @returns {string|!Array.} Debug string or array of lines if `asArray = true` + * @expose + * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` + * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` + * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` + * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` + */ + ByteBufferPrototype.toDebug = function(columns) { + var i = -1, + k = this.buffer.byteLength, + b, + hex = "", + asc = "", + out = ""; + while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; + } + ++i; + if (columns) { + if (i > 0 && i % 16 === 0 && i !== k) { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + hex = asc = ""; + } + } + if (i === this.offset && i === this.limit) + hex += i === this.markedOffset ? "!" : "|"; + else if (i === this.offset) + hex += i === this.markedOffset ? "[" : "<"; + else if (i === this.limit) + hex += i === this.markedOffset ? "]" : ">"; + else + hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); + } + if (columns && hex !== " ") { + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; + } + return columns ? out : hex; + }; + + /** + * Decodes a hex encoded string with marked offsets to a ByteBuffer. + * @param {string} str Debug string to decode (not be generated with `columns = true`) + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + * @see ByteBuffer#toDebug + */ + ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { + var k = str.length, + bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); + var i = 0, j = 0, ch, b, + rs = false, // Require symbol next + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? + fail = false; + while (i': + if (!noAssert) { + if (hl) { + fail = true; + break; + } + hl = true; + } + bb.limit = j; + rs = false; + break; + case "'": + if (!noAssert) { + if (hm) { + fail = true; + break; + } + hm = true; + } + bb.markedOffset = j; + rs = false; + break; + case ' ': + rs = false; + break; + default: + if (!noAssert) { + if (rs) { + fail = true; + break; + } + } + b = parseInt(ch+str.charAt(i++), 16); + if (!noAssert) { + if (isNaN(b) || b < 0 || b > 255) + throw TypeError("Illegal str: Not a debug encoded string"); + } + bb.view.setUint8(j++, b); + rs = true; + } + if (fail) + throw TypeError("Illegal str: Invalid symbol at "+i); + } + if (!noAssert) { + if (!ho || !hl) + throw TypeError("Illegal str: Missing offset or limit"); + if (j>>= 0; @@ -3159,51 +3159,51 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var out = new Array(end - begin), - b; - while (begin < end) { - b = this.view.getUint8(begin++); - if (b < 0x10) - out.push("0", b.toString(16)); - else out.push(b.toString(16)); - } - return out.join(''); - }; - - /** - * Decodes a hex encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromHex = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 2 !== 0) - throw TypeError("Illegal str: Length not a multiple of 2"); - } - var k = str.length, - bb = new ByteBuffer((k / 2) | 0, littleEndian), - b; - for (var i=0, j=0; i 255) - throw TypeError("Illegal str: Contains non-hex characters"); - bb.view.setUint8(j++, b); - } - bb.limit = j; - return bb; - }; - - // utfx-embeddable - + } + var out = new Array(end - begin), + b; + while (begin < end) { + b = this.view.getUint8(begin++); + if (b < 0x10) + out.push("0", b.toString(16)); + else out.push(b.toString(16)); + } + return out.join(''); + }; + + /** + * Decodes a hex encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromHex = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 2 !== 0) + throw TypeError("Illegal str: Length not a multiple of 2"); + } + var k = str.length, + bb = new ByteBuffer((k / 2) | 0, littleEndian), + b; + for (var i=0, j=0; i 255) + throw TypeError("Illegal str: Contains non-hex characters"); + bb.view.setUint8(j++, b); + } + bb.limit = j; + return bb; + }; + + // utfx-embeddable + /** * utfx-embeddable (c) 2014 Daniel Wirtz * Released under the Apache License, Version 2.0 @@ -3400,20 +3400,20 @@ return utfx; }(); - - // encodings/utf8 - - /** - * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded - * string. - * @returns {string} Hex encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toUTF8 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + + // encodings/utf8 + + /** + * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded + * string. + * @returns {string} Hex encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toUTF8 = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -3422,40 +3422,40 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var sd; try { - utfx.decodeUTF8toUTF16(function() { - return begin < end ? this.view.getUint8(begin++) : null; - }.bind(this), sd = stringDestination()); - } catch (e) { - if (begin !== end) - throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); - } - return sd(); - }; - - /** - * Decodes an UTF8 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), - i = 0; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - bb.view.setUint8(i++, b); - }); - bb.limit = i; - return bb; - }; - - return ByteBuffer; -}); + } + var sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? this.view.getUint8(begin++) : null; + }.bind(this), sd = stringDestination()); + } catch (e) { + if (begin !== end) + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); + } + return sd(); + }; + + /** + * Decodes an UTF8 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { + if (!noAssert) + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + bb.view.setUint8(i++, b); + }); + bb.limit = i; + return bb; + }; + + return ByteBuffer; +}); diff --git a/dist/bytebuffer-dataview.min.js b/dist/bytebuffer-dataview.min.js index fca5f2f..c8de74f 100644 --- a/dist/bytebuffer-dataview.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -4,84 +4,85 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -function u(k){function f(a,b,c){"undefined"===typeof a&&(a=f.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=f.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=f.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function n(a){var b=0;return function(){return b=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset; -b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!== -typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b, -h=a.length,d=h>>3,g=0,f;for(b+=this.writeVarint32(h,b);d--;)f=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]&1)<<7,this.writeByte(f,b++);if(g>3,d=0,g=[];for(a+=c.length;h--;)c=this.readByte(a++),g[d++]=!!(c&1),g[d++]=!!(c& -2),g[d++]=!!(c&4),g[d++]=!!(c&8),g[d++]=!!(c&16),g[d++]=!!(c&32),g[d++]=!!(c&64),g[d++]=!!(c&128);if(d>h++&1);b&&(this.offset=a);return g};d.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e= -this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength; -b>e&&this.resize((e*=2)>b?e:b);--b;this.view.setInt8(b,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8= -function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);--b;this.view.setUint8(b,a);c&&(this.offset+=1); -return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b|| -0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readUInt32=d.readUint32;k&&(d.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeLong=d.writeInt64,d.readInt64=function(a){var b= -"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.readLong=d.readInt64,d.writeUint64=function(a,b){var c= -"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"=== -typeof a&&(a=k.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeUInt64=d.writeUint64,d.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0; -if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new k(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new k(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!0);b&&(this.offset+=8);return a},d.readUInt64=d.readUint64);d.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeFloat=d.writeFloat32;d.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readFloat=d.readFloat32;d.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)"); -b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian);c&&(this.offset+=8);return this};d.writeDouble=d.writeFloat64;d.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.readDouble=d.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+ -a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=f.calculateVarint32(a),h;b+=e;h=this.buffer.byteLength;b>h&&this.resize((h*=2)>b?h:b);b-=e;for(a>>>=0;128<=a;)h=a&127|128,this.view.setUint8(b++,h),a>>>=7;this.view.setUint8(b++,a);return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a), -b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,h;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;h=this.view.getUint8(a++);5>c&&(e|=(h&127)<<7*c);++c}while(0!==(h&128));e|=0;return b?(this.offset= -a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a};k&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64= -function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},f.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},d.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"=== -typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e= -f.calculateVarint64(a),h=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?d>>>21|128:d>>>21&127);case 7:this.view.setUint8(b+6,7!==e?d>>>14|128:d>>>14&127);case 6:this.view.setUint8(b+5,6!==e?d>>>7|128:d>>>7&127);case 5:this.view.setUint8(b+4,5!==e?d|128: -d&127);case 4:this.view.setUint8(b+3,4!==e?h>>>21|128:h>>>21&127);case 3:this.view.setUint8(b+2,3!==e?h>>>14|128:h>>>14&127);case 2:this.view.setUint8(b+1,2!==e?h>>>7|128:h>>>7&127);case 1:this.view.setUint8(b,1!==e?h|128:h&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,h=0,d=0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),h=g&127,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),h|=(g&127)<<14,g&128&&(g= -this.view.getUint8(a++),h|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun");e=k.fromBits(e|h<<28,h>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,h=a.length; -if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}h=m.a(n(a))[1];b+=h+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=h+1;m.b(n(a),function(a){this.view.setUint8(b++, -a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):h};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,h=-1;m.c(function(){if(0===h)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+ -" < "+this.limit);h=this.view.getUint8(a++);return 0===h?null:h}.bind(this),e=t(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}var e=b,h;h=m.a(n(a),this.noAssert)[1];b+=4+h;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4+h;this.view.setUint32(b,h,this.littleEndian);b+=4;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+h)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+h));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+ -" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a),e=this.readUTF8String(e,f.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};f.METRICS_CHARS="c";f.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+ -" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=m.a(n(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return m.a(n(a))[0]};f.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};f.calculateString=f.calculateUTF8Bytes; -d.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var d=0,l=c,g; -if(b===f.METRICS_CHARS){g=t();m.h(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); -}var p=c+a;m.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d,l;d=m.a(n(a),this.noAssert)[1];l=f.calculateVarint32(d);b+=l+d;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+d;b+=this.writeVarint32(d,b);m.b(n(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+d+l)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+d+l));return c?(this.offset=b,this):b-e};d.readVString= -function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a),e=this.readUTF8String(e.value,f.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};d.append=function(a,b,c){if("number"===typeof b|| -"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength;c>d&&this.resize((d*=2)>c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset, -a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)): -(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ -b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"=== -typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-= -a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength); -var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);l&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.LE= -function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength); -}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); -b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+ -this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone(); -c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b); -(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug(); -case "columns":return this.o();default:throw Error("Unsupported encoding: "+a);}};var x=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<< -2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.decode=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,h,f;null!==(d=a());)if(h=c[d],"undefined"===typeof h&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(h<<2>>>0|(f&48)>>4),null!==(d=a()))){h=c[d];if("undefined"===typeof h)if(61===d)break;else e(d);b((f&15)<<4>>>0|(h&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61===d)break;else e(d); -b((h&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a=a|0;b=b|0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;x.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+="0"+e.toString(16).toUpperCase():d+=e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e): -"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,l=0,g,k=!1,m=!1,n=!1,r=!1,q=!1;d":if(!c){if(r){q=!0;break}r=!0}b.limit=l;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=l;k=!1;break;case " ":k=!1; -break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};f.fromHex=function(a,b,c){if(!c){if("string"!== -typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,l=0,g=0;ld||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},h:function(a,c){function e(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var d,f,g,k;null!==(d=a());)if(0===(d&128))c(d);else if(192===(d&224))null===(f=a())&&e([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(g=a())||e([d,f,g]),c((d&15)<<12|(f&63)<<6|g&63);else if(240===(d&248))null!== -(f=a())&&null!==(g=a())&&null!==(k=a())||e([d,f,g,k]),c((d&7)<<18|(f&63)<<12|(g&63)<<6|k&63);else throw RangeError("Illegal starting byte: "+d);},f:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},g:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b, -c){a.f(b,function(b){a.i(b,c)})},c:function(b,c){a.h(b,function(b){a.g(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.f(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return aa)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?t:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};f.VERSION= +"5.0.0";f.LITTLE_ENDIAN=!0;f.BIG_ENDIAN=!1;f.DEFAULT_CAPACITY=16;f.DEFAULT_ENDIAN=f.BIG_ENDIAN;f.DEFAULT_NOASSERT=!1;f.Long=h||null;var d=f.prototype;Object.defineProperty(d,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var t=new ArrayBuffer(0),u=String.fromCharCode;f.accessor=function(){return DataView};f.allocate=function(a,b,c){return new f(a,b,c)};f.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var k=0,d=0,g=a.length,p;d=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== +typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,k=a.length,d=k>>3,g=0,f;for(b+=this.writeVarint32(k,b);d--;)f=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]&1)<<7,this.writeByte(f,b++);if(g>3,d=0,g=[];for(a+=c.length;k--;)c=this.readByte(a++),g[d++]=!!(c&1),g[d++]=!!(c&2),g[d++]=!!(c&4),g[d++]=!!(c&8),g[d++]=!!(c&16),g[d++]=!!(c&32),g[d++]=!!(c&64),g[d++]=!!(c&128);if(d>k++&1);b&&(this.offset=a);return g};d.readBytes=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); +a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>= +0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getInt16(a,this.littleEndian); +b&&(this.offset+=2);return a};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setUint16(b-2,a,this.littleEndian);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}a=this.view.getUint16(a,this.littleEndian);b&&(this.offset+=2);return a};d.readUInt16= +d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt32(b-4, +a,this.littleEndian);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getInt32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this}; +d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getUint32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readUInt32=d.readUint32;h&&(d.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));b+=8;var e= +this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4,a.low,!1));c&&(this.offset+=8);return this},d.writeLong=d.writeInt64,d.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new h(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!1):new h(this.view.getInt32(a+4,!1),this.view.getInt32(a,!1),!1);b&&(this.offset+=8);return a},d.readLong=d.readInt64,d.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;this.littleEndian?(this.view.setInt32(b,a.low,!0),this.view.setInt32(b+4,a.high,!0)):(this.view.setInt32(b,a.high,!1),this.view.setInt32(b+4, +a.low,!1));c&&(this.offset+=8);return this},d.writeUInt64=d.writeUint64,d.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.littleEndian?new h(this.view.getInt32(a,!0),this.view.getInt32(a+4,!0),!0):new h(this.view.getInt32(a+4,!1),this.view.getInt32(a, +!1),!0);b&&(this.offset+=8);return a},d.readUInt64=d.readUint64);d.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*= +2)>b?e:b);this.view.setFloat32(b-4,a,this.littleEndian);c&&(this.offset+=4);return this};d.writeFloat=d.writeFloat32;d.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=this.view.getFloat32(a,this.littleEndian);b&&(this.offset+=4);return a};d.readFloat= +d.readFloat32;d.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian); +c&&(this.offset+=8);return this};d.writeDouble=d.writeFloat64;d.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.readDouble=d.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32= +function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var e=f.calculateVarint32(a),k;b+=e;k=this.buffer.byteLength;b>k&&this.resize((k*=2)>b?k:b);b-=e;for(a>>>=0;128<=a;)k=a&127|128,this.view.setUint8(b++,k),a>>>=7;this.view.setUint8(b++,a);return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,k;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;k=this.view.getUint8(a++);5>c&&(e|=(k&127)<<7*c);++c}while(0!==(k&128));e|=0;return b?(this.offset=a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a}; +h&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, +f.zigZagDecode64=function(a){"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(h.ONE).toSigned().negate()).toSigned()},d.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=f.calculateVarint64(a),k=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var p=this.buffer.byteLength;b>p&&this.resize((p*= +2)>b?p:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?d>>>21|128:d>>>21&127);case 7:this.view.setUint8(b+6,7!==e?d>>>14|128:d>>>14&127);case 6:this.view.setUint8(b+5,6!==e?d>>>7|128:d>>>7&127);case 5:this.view.setUint8(b+4,5!==e?d|128:d&127);case 4:this.view.setUint8(b+3,4!==e?k>>>21|128:k>>>21&127);case 3:this.view.setUint8(b+2,3!==e?k>>>14|128:k>>>14&127);case 2:this.view.setUint8(b+1,2!==e?k>>>7|128: +k>>>7&127);case 1:this.view.setUint8(b,1!==e?k|128:k&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,k=0,d= +0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),k=g&127,g&128&&(g=this.view.getUint8(a++),k|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),k|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),k|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); +e=h.fromBits(e|k<<28,k>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof h?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}d=n.calculateUTF16asUTF8(m(a))[1];b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):d};d.readCString=function(a){var b="undefined"===typeof a; +b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;n.decodeUTF8toUTF16(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);d=this.view.getUint8(a++);return 0===d?null:d}.bind(this),e=s(),!0);return b?(this.offset=a,e()): +{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*= +2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a),e=this.readUTF8String(e,f.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};f.METRICS_CHARS="c";f.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=n.calculateUTF16asUTF8(m(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return n.calculateUTF16asUTF8(m(a))[0]};f.calculateUTF8Bytes=function(a){return n.calculateUTF16asUTF8(m(a))[1]};f.calculateString=f.calculateUTF8Bytes;d.readUTF8String=function(a, +b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var d=0,l=c,g;if(b===f.METRICS_CHARS){g=s(); +n.decodeUTF8(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); +}var p=c+a;n.decodeUTF8toUTF16(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d,l;d=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];l=f.calculateVarint32(d);b+=l+d;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+d;b+=this.writeVarint32(d,b);n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+d+l)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+d+l));return c?(this.offset=b,this):b-e};d.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a),e=this.readUTF8String(e.value,f.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string, +length:a-c}};d.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength;c>d&&this.resize((d*=2)> +c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength), +(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| +a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=t,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this}; +d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c,this.littleEndian, +this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ +c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);l&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean"); +this.littleEndian=!!a;return this};d.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0; +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+ +a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer; +if(b===c)return t;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, +c);case "debug":return this.toDebug();case "columns":return this.toColumns();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e= +a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.decode=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,k,f;null!==(d=a());)if(k=c[d],"undefined"===typeof k&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(k<<2>>>0|(f&48)>>4),null!==(d=a()))){k=c[d];if("undefined"===typeof k)if(61===d)break;else e(d);b((f&15)<<4>>>0|(k&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"=== +typeof f)if(61===d)break;else e(d);b((k&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;v.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32 +e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,l=0,g,h=!1,m=!1,n=!1,r=!1,q=!1;d< +e;){switch(g=a.charAt(d++)){case "!":if(!c){if(m||n||r){q=!0;break}m=n=r=!0}b.offset=b.markedOffset=b.limit=l;h=!1;break;case "|":if(!c){if(m||r){q=!0;break}m=r=!0}b.offset=b.limit=l;h=!1;break;case "[":if(!c){if(m||n){q=!0;break}m=n=!0}b.offset=b.markedOffset=l;h=!1;break;case "<":if(!c){if(m){q=!0;break}m=!0}b.offset=l;h=!1;break;case "]":if(!c){if(r||n){q=!0;break}r=n=!0}b.limit=b.markedOffset=l;h=!1;break;case ">":if(!c){if(r){q=!0;break}r=!0}b.limit=l;h=!1;break;case "'":if(!c){if(n){q=!0;break}n= +!0}b.markedOffset=l;h=!1;break;case " ":h=!1;break;default:if(!c&&h){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")}; +f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,h=0,g=0;hd||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},decodeUTF8:function(a,c){for(var e,d,f,g,h=function(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;};null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(d=a())&&h([e,d]),c((e&31)<<6|d&63);else if(224===(e&240))null!==(d=a())&&null!== +(f=a())||h([e,d,f]),c((e&15)<<12|(d&63)<<6|f&63);else if(240===(e&248))null!==(d=a())&&null!==(f=a())&&null!==(g=a())||h([e,d,f,g]),c((e&7)<<18|(d&63)<<12|(f&63)<<6|g&63);else throw RangeError("Illegal starting byte: "+e);},UTF16toUTF8:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},UTF8toUTF16:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null}); +for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},encodeUTF16toUTF8:function(b,c){a.UTF16toUTF8(b,function(b){a.encodeUTF8(b,c)})},decodeUTF8toUTF16:function(b,c){a.decodeUTF8(b,function(b){a.UTF8toUTF16(b,c)})},calculateCodePoint:function(a){return 128>a?1:2048>a?2:65536>a?3:4},calculateUTF8:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},calculateUTF16asUTF8:function(b){var c=0,d=0;a.UTF16toUTF8(b,function(a){++c; +d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{n.decodeUTF8toUTF16(function(){return a< +b?this.view.getUint8(a++):null}.bind(this),c=s())}catch(d){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(n.calculateUTF16asUTF8(m(a),!0)[1],b,c),h=0;n.encodeUTF16toUTF8(m(a),function(a){d.view.setUint8(h++,a)});d.limit=h;return d};return f}); diff --git a/dist/bytebuffer-dataview.min.js.gz b/dist/bytebuffer-dataview.min.js.gz index 192f353c52c8bb13d2c090401b0c89b73419ab32..ce0d67a2a1e72292e331c7074a3d936b8ee09358 100644 GIT binary patch literal 7988 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 literal 7902 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 IppK#d0K1Q7ZvX%Q diff --git a/dist/bytebuffer-dataview.min.map b/dist/bytebuffer-dataview.min.map index 99c7a52..d357379 100644 --- a/dist/bytebuffer-dataview.min.map +++ b/dist/bytebuffer-dataview.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":87, -"mappings":"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", +"lineCount":88, +"mappings":"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", "sources":["dist/bytebuffer-dataview.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","m","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","readInt8","ByteBufferPrototype.readInt8","getInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","d","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","e","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["global","factory","define","require","module","Long","e","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","m","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","readInt8","ByteBufferPrototype.readInt8","getInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","a","d","indexOf","name","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8"] } diff --git a/dist/bytebuffer-node.js b/dist/bytebuffer-node.js index 51c4886..72ccec6 100644 --- a/dist/bytebuffer-node.js +++ b/dist/bytebuffer-node.js @@ -1,534 +1,534 @@ -/* - Copyright 2013-2014 Daniel Wirtz - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ - -/** - * @license bytebuffer.js (c) 2015 Daniel Wirtz - * Backing buffer / Accessor: node Buffer - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/bytebuffer.js for details - */ -module.exports = (function() { - "use strict"; - - var buffer = require("buffer"), - Buffer = buffer["Buffer"], - Long = require("long"), - memcpy = null; try { memcpy = require("memcpy"); } catch (e) {} - - /** - * Constructs a new ByteBuffer. - * @class The swiss army knife for binary data in JavaScript. - * @exports ByteBuffer - * @constructor - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @expose - */ - var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') - capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') - littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') - noAssert = ByteBuffer.DEFAULT_NOASSERT; - if (!noAssert) { - capacity = capacity | 0; - if (capacity < 0) - throw RangeError("Illegal capacity"); - littleEndian = !!littleEndian; - noAssert = !!noAssert; - } - - /** - * Backing node Buffer. - * @type {!Buffer} - * @expose - */ - this.buffer = capacity === 0 ? EMPTY_BUFFER : new Buffer(capacity); - - /** - * Absolute read/write offset. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.offset = 0; - - /** - * Marked offset. - * @type {number} - * @expose - * @see ByteBuffer#mark - * @see ByteBuffer#reset - */ - this.markedOffset = -1; - - /** - * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.limit = capacity; - - /** - * Whether to use little endian byte order, defaults to `false` for big endian. - * @type {boolean} - * @expose - */ - this.littleEndian = littleEndian; - - /** - * Whether to skip assertions of offsets and values, defaults to `false`. - * @type {boolean} - * @expose - */ - this.noAssert = noAssert; - }; - - /** - * ByteBuffer version. - * @type {string} - * @const - * @expose - */ - ByteBuffer.VERSION = "5.0.0"; - - /** - * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. - * @type {boolean} - * @const - * @expose - */ - ByteBuffer.LITTLE_ENDIAN = true; - - /** - * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. - * @type {boolean} - * @const - * @expose - */ - ByteBuffer.BIG_ENDIAN = false; - - /** - * Default initial capacity of `16`. - * @type {number} - * @expose - */ - ByteBuffer.DEFAULT_CAPACITY = 16; - - /** - * Default endianess of `false` for big endian. - * @type {boolean} - * @expose - */ - ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; - - /** - * Default no assertions flag of `false`. - * @type {boolean} - * @expose - */ - ByteBuffer.DEFAULT_NOASSERT = false; - - /** - * A `Long` class for representing a 64-bit two's-complement integer value. - * @type {!Long} - * @const - * @see https://npmjs.org/package/long - * @expose - */ - ByteBuffer.Long = Long; - - /** - * @alias ByteBuffer.prototype - * @inner - */ - var ByteBufferPrototype = ByteBuffer.prototype; - - /** - * An indicator used to reliably determine if an object is a ByteBuffer or not. - * @type {boolean} - * @const - * @expose - * @private - */ - ByteBufferPrototype.__isByteBuffer__; - - Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { - value: true, - enumerable: false, - configurable: false - }); - - // helpers - - /** - * @type {!Buffer} - * @inner - */ - var EMPTY_BUFFER = new Buffer(0); - - /** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ - var stringFromCharCode = String.fromCharCode; - - /** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - * @inner - */ - function stringSource(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; - } - - /** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - * @inner - */ - function stringDestination() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; - } - - /** - * Gets the accessor type. - * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) - * @expose - */ - ByteBuffer.accessor = function() { - return Buffer; - }; - /** - * Allocates a new ByteBuffer backed by a buffer of the specified capacity. - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} - * @expose - */ - ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { - return new ByteBuffer(capacity, littleEndian, noAssert); - }; - - /** - * Concatenates multiple ByteBuffers into one. - * @param {!Array.} buffers Buffers to concatenate - * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", - * defaults to "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - * to {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} Concatenated ByteBuffer - * @expose - */ - ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { - if (typeof encoding === 'boolean' || typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - var capacity = 0; - for (var i=0, k=buffers.length, length; i 0) capacity += length; - } - if (capacity === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var bb = new ByteBuffer(capacity, littleEndian, noAssert), - bi; - i=0; while (i} buffer Anything that can be wrapped - * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to - * "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` - * @expose - */ - ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { - if (typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') - encoding = "utf8"; - switch (encoding) { - case "base64": - return ByteBuffer.fromBase64(buffer, littleEndian); - case "hex": - return ByteBuffer.fromHex(buffer, littleEndian); - case "binary": - return ByteBuffer.fromBinary(buffer, littleEndian); - case "utf8": - return ByteBuffer.fromUTF8(buffer, littleEndian); - case "debug": - return ByteBuffer.fromDebug(buffer, littleEndian); - default: - throw Error("Unsupported encoding: "+encoding); - } - } - if (buffer === null || typeof buffer !== 'object') - throw TypeError("Illegal buffer"); - var bb; - if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBufferPrototype.clone.call(buffer); - bb.markedOffset = -1; - return bb; - } - var i = 0, - k = 0, - b; - if (buffer instanceof Uint8Array) { // Extract bytes from Uint8Array - b = new Buffer(buffer.length); - if (memcpy) { // Fast - memcpy(b, 0, buffer.buffer, buffer.byteOffset, buffer.byteOffset + buffer.length); - } else { // Slow - for (i=0, k=buffer.length; i 0) { // Avoid references to more than one EMPTY_BUFFER - bb.buffer = buffer; - bb.limit = buffer.length; - } - return bb; - }; - - /** - * Writes the array as a bitset. - * @param {Array} value Array of booleans to write - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {!ByteBuffer} - * @expose - */ - ByteBufferPrototype.writeBitSet = function(value, offset) { +/* + Copyright 2013-2014 Daniel Wirtz + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +/** + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer / Accessor: node Buffer + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/bytebuffer.js for details + */ +module.exports = (function() { + "use strict"; + + var buffer = require("buffer"), + Buffer = buffer["Buffer"], + Long = require("long"), + memcpy = null; try { memcpy = require("memcpy"); } catch (e) {} + + /** + * Constructs a new ByteBuffer. + * @class The swiss army knife for binary data in JavaScript. + * @exports ByteBuffer + * @constructor + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @expose + */ + var ByteBuffer = function(capacity, littleEndian, noAssert) { + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (!noAssert) { + capacity = capacity | 0; + if (capacity < 0) + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; + } + + /** + * Backing node Buffer. + * @type {!Buffer} + * @expose + */ + this.buffer = capacity === 0 ? EMPTY_BUFFER : new Buffer(capacity); + + /** + * Absolute read/write offset. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.offset = 0; + + /** + * Marked offset. + * @type {number} + * @expose + * @see ByteBuffer#mark + * @see ByteBuffer#reset + */ + this.markedOffset = -1; + + /** + * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.limit = capacity; + + /** + * Whether to use little endian byte order, defaults to `false` for big endian. + * @type {boolean} + * @expose + */ + this.littleEndian = littleEndian; + + /** + * Whether to skip assertions of offsets and values, defaults to `false`. + * @type {boolean} + * @expose + */ + this.noAssert = noAssert; + }; + + /** + * ByteBuffer version. + * @type {string} + * @const + * @expose + */ + ByteBuffer.VERSION = "5.0.0"; + + /** + * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.LITTLE_ENDIAN = true; + + /** + * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.BIG_ENDIAN = false; + + /** + * Default initial capacity of `16`. + * @type {number} + * @expose + */ + ByteBuffer.DEFAULT_CAPACITY = 16; + + /** + * Default endianess of `false` for big endian. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; + + /** + * Default no assertions flag of `false`. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_NOASSERT = false; + + /** + * A `Long` class for representing a 64-bit two's-complement integer value. + * @type {!Long} + * @const + * @see https://npmjs.org/package/long + * @expose + */ + ByteBuffer.Long = Long; + + /** + * @alias ByteBuffer.prototype + * @inner + */ + var ByteBufferPrototype = ByteBuffer.prototype; + + /** + * An indicator used to reliably determine if an object is a ByteBuffer or not. + * @type {boolean} + * @const + * @expose + * @private + */ + ByteBufferPrototype.__isByteBuffer__; + + Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { + value: true, + enumerable: false, + configurable: false + }); + + // helpers + + /** + * @type {!Buffer} + * @inner + */ + var EMPTY_BUFFER = new Buffer(0); + + /** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ + var stringFromCharCode = String.fromCharCode; + + /** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ + function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + } + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return Buffer; + }; + /** + * Allocates a new ByteBuffer backed by a buffer of the specified capacity. + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} + * @expose + */ + ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { + return new ByteBuffer(capacity, littleEndian, noAssert); + }; + + /** + * Concatenates multiple ByteBuffers into one. + * @param {!Array.} buffers Buffers to concatenate + * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", + * defaults to "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + * to {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} Concatenated ByteBuffer + * @expose + */ + ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { + if (typeof encoding === 'boolean' || typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + var capacity = 0; + for (var i=0, k=buffers.length, length; i 0) capacity += length; + } + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); + var bb = new ByteBuffer(capacity, littleEndian, noAssert), + bi; + i=0; while (i} buffer Anything that can be wrapped + * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to + * "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` + * @expose + */ + ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { + if (typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + if (typeof buffer === 'string') { + if (typeof encoding === 'undefined') + encoding = "utf8"; + switch (encoding) { + case "base64": + return ByteBuffer.fromBase64(buffer, littleEndian); + case "hex": + return ByteBuffer.fromHex(buffer, littleEndian); + case "binary": + return ByteBuffer.fromBinary(buffer, littleEndian); + case "utf8": + return ByteBuffer.fromUTF8(buffer, littleEndian); + case "debug": + return ByteBuffer.fromDebug(buffer, littleEndian); + default: + throw Error("Unsupported encoding: "+encoding); + } + } + if (buffer === null || typeof buffer !== 'object') + throw TypeError("Illegal buffer"); + var bb; + if (ByteBuffer.isByteBuffer(buffer)) { + bb = ByteBufferPrototype.clone.call(buffer); + bb.markedOffset = -1; + return bb; + } + var i = 0, + k = 0, + b; + if (buffer instanceof Uint8Array) { // Extract bytes from Uint8Array + b = new Buffer(buffer.length); + if (memcpy) { // Fast + memcpy(b, 0, buffer.buffer, buffer.byteOffset, buffer.byteOffset + buffer.length); + } else { // Slow + for (i=0, k=buffer.length; i 0) { // Avoid references to more than one EMPTY_BUFFER + bb.buffer = buffer; + bb.limit = buffer.length; + } + return bb; + }; + + /** + * Writes the array as a bitset. + * @param {Array} value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.writeBitSet = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (!(value instanceof Array)) - throw TypeError("Illegal BitSet: Not an array"); + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - - var start = offset, - bits = value.length, - bytes = (bits >> 3), - bit = 0, - k; - - offset += this.writeVarint32(bits,offset); - - while(bytes--) { - k = (!!value[bit++] & 1) | - ((!!value[bit++] & 1) << 1) | - ((!!value[bit++] & 1) << 2) | - ((!!value[bit++] & 1) << 3) | - ((!!value[bit++] & 1) << 4) | - ((!!value[bit++] & 1) << 5) | - ((!!value[bit++] & 1) << 6) | - ((!!value[bit++] & 1) << 7); - this.writeByte(k,offset++); - } - - if(bit < bits) { - var m = 0; k = 0; - while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); - this.writeByte(k,offset++); - } - - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - } - - /** - * Reads a BitSet as an array of booleans. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {Array - * @expose - */ - ByteBufferPrototype.readBitSet = function(offset) { + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + } + + /** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ + ByteBufferPrototype.readBitSet = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - - var ret = this.readVarint32(offset), - bits = ret.value, - bytes = (bits >> 3), - bit = 0, - value = [], - k; - - offset += ret.length; - - while(bytes--) { - k = this.readByte(offset++); - value[bit++] = !!(k & 0x01); - value[bit++] = !!(k & 0x02); - value[bit++] = !!(k & 0x04); - value[bit++] = !!(k & 0x08); - value[bit++] = !!(k & 0x10); - value[bit++] = !!(k & 0x20); - value[bit++] = !!(k & 0x40); - value[bit++] = !!(k & 0x80); - } - - if(bit < bits) { - var m = 0; - k = this.readByte(offset++); - while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); - } - - if (relative) { - this.offset = offset; - } - return value; - } - /** - * Reads the specified number of bytes. - * @param {number} length Number of bytes to read - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {!ByteBuffer} - * @expose - */ - ByteBufferPrototype.readBytes = function(length, offset) { + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; + } + /** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.readBytes = function(length, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); - } - var slice = this.slice(offset, offset + length); + } + var slice = this.slice(offset, offset + length); if (relative) this.offset += length; - return slice; - }; - - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its - * offsets will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; - - // types/ints/int8 - - /** - * Writes an 8bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt8 = function(value, offset) { + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its + * offsets will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + + // types/ints/int8 + + /** + * Writes an 8bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -537,69 +537,69 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 1; var capacity0 = this.buffer.length; if (offset > capacity0) this.resize((capacity0 *= 2) > offset ? capacity0 : offset); offset -= 1; - this.buffer[offset] = value; + this.buffer[offset] = value; if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; - - /** - * Reads an 8bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt8 = function(offset) { + return this; + }; + + /** + * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + + /** + * Reads an 8bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); - } - var value = this.buffer[offset]; - if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed + } + var value = this.buffer[offset]; + if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed if (relative) this.offset += 1; - return value; - }; - - /** - * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; - - /** - * Writes an 8bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint8 = function(value, offset) { + return value; + }; + + /** + * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + + /** + * Writes an 8bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -608,71 +608,71 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 1; var capacity1 = this.buffer.length; if (offset > capacity1) this.resize((capacity1 *= 2) > offset ? capacity1 : offset); offset -= 1; - this.buffer[offset] = value; + this.buffer[offset] = value; if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; - - /** - * Reads an 8bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint8 = function(offset) { + return this; + }; + + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + + /** + * Reads an 8bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); - } - var value = this.buffer[offset]; + } + var value = this.buffer[offset]; if (relative) this.offset += 1; - return value; - }; - - /** - * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; - - // types/ints/int16 - - /** - * Writes a 16bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeInt16 = function(value, offset) { + return value; + }; + + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + + // types/ints/int16 + + /** + * Writes a 16bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeInt16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -681,88 +681,88 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 2; var capacity2 = this.buffer.length; if (offset > capacity2) this.resize((capacity2 *= 2) > offset ? capacity2 : offset); offset -= 2; - if (this.littleEndian) { - this.buffer[offset+1] = (value & 0xFF00) >>> 8; - this.buffer[offset ] = value & 0x00FF; - } else { - this.buffer[offset] = (value & 0xFF00) >>> 8; - this.buffer[offset+1] = value & 0x00FF; - } + if (this.littleEndian) { + this.buffer[offset+1] = (value & 0xFF00) >>> 8; + this.buffer[offset ] = value & 0x00FF; + } else { + this.buffer[offset] = (value & 0xFF00) >>> 8; + this.buffer[offset+1] = value & 0x00FF; + } if (relative) this.offset += 2; - return this; - }; - - /** - * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; - - /** - * Reads a 16bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readInt16 = function(offset) { + return this; + }; + + /** + * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + + /** + * Reads a 16bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readInt16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); - } - var value = 0; - if (this.littleEndian) { - value = this.buffer[offset ]; - value |= this.buffer[offset+1] << 8; - } else { - value = this.buffer[offset ] << 8; - value |= this.buffer[offset+1]; - } - if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed + } + var value = 0; + if (this.littleEndian) { + value = this.buffer[offset ]; + value |= this.buffer[offset+1] << 8; + } else { + value = this.buffer[offset ] << 8; + value |= this.buffer[offset+1]; + } + if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed if (relative) this.offset += 2; - return value; - }; - - /** - * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; - - /** - * Writes a 16bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUint16 = function(value, offset) { + return value; + }; + + /** + * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + + /** + * Writes a 16bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUint16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -771,87 +771,87 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 2; var capacity3 = this.buffer.length; if (offset > capacity3) this.resize((capacity3 *= 2) > offset ? capacity3 : offset); offset -= 2; - if (this.littleEndian) { - this.buffer[offset+1] = (value & 0xFF00) >>> 8; - this.buffer[offset ] = value & 0x00FF; - } else { - this.buffer[offset] = (value & 0xFF00) >>> 8; - this.buffer[offset+1] = value & 0x00FF; - } + if (this.littleEndian) { + this.buffer[offset+1] = (value & 0xFF00) >>> 8; + this.buffer[offset ] = value & 0x00FF; + } else { + this.buffer[offset] = (value & 0xFF00) >>> 8; + this.buffer[offset+1] = value & 0x00FF; + } if (relative) this.offset += 2; - return this; - }; - - /** - * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; - - /** - * Reads a 16bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUint16 = function(offset) { + return this; + }; + + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + + /** + * Reads a 16bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUint16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.length); - } - var value = 0; - if (this.littleEndian) { - value = this.buffer[offset ]; - value |= this.buffer[offset+1] << 8; - } else { - value = this.buffer[offset ] << 8; - value |= this.buffer[offset+1]; - } + } + var value = 0; + if (this.littleEndian) { + value = this.buffer[offset ]; + value |= this.buffer[offset+1] << 8; + } else { + value = this.buffer[offset ] << 8; + value |= this.buffer[offset+1]; + } if (relative) this.offset += 2; - return value; - }; - - /** - * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; - - // types/ints/int32 - - /** - * Writes a 32bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeInt32 = function(value, offset) { + return value; + }; + + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + + // types/ints/int32 + + /** + * Writes a 32bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -860,7 +860,7 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 4; var capacity4 = this.buffer.length; if (offset > capacity4) @@ -878,34 +878,34 @@ module.exports = (function() { this.buffer[offset+3] = value & 0xFF; } if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; - - /** - * Reads a 32bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + + /** + * Reads a 32bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); - } - var value = 0; + } + var value = 0; if (this.littleEndian) { value = this.buffer[offset+2] << 16; value |= this.buffer[offset+1] << 8; @@ -917,29 +917,29 @@ module.exports = (function() { value |= this.buffer[offset+3]; value += this.buffer[offset ] << 24 >>> 0; } - value |= 0; // Cast to signed + value |= 0; // Cast to signed if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; - - /** - * Writes a 32bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUint32 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + + /** + * Writes a 32bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -948,7 +948,7 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 4; var capacity5 = this.buffer.length; if (offset > capacity5) @@ -966,35 +966,35 @@ module.exports = (function() { this.buffer[offset+3] = value & 0xFF; } if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; - - /** - * Reads a 32bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + + /** + * Reads a 32bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); - } - var value = 0; + } + var value = 0; if (this.littleEndian) { value = this.buffer[offset+2] << 16; value |= this.buffer[offset+1] << 8; @@ -1007,33 +1007,33 @@ module.exports = (function() { value += this.buffer[offset ] << 24 >>> 0; } if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; - - // types/ints/int64 - - if (Long) { - - /** - * Writes a 64bit signed integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt64 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + + // types/ints/int64 + + if (Long) { + + /** + * Writes a 64bit signed integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1045,7 +1045,7 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1055,105 +1055,105 @@ module.exports = (function() { if (offset > capacity6) this.resize((capacity6 *= 2) > offset ? capacity6 : offset); offset -= 8; - var lo = value.low, - hi = value.high; - if (this.littleEndian) { + var lo = value.low, + hi = value.high; + if (this.littleEndian) { this.buffer[offset+3] = (lo >>> 24) & 0xFF; this.buffer[offset+2] = (lo >>> 16) & 0xFF; this.buffer[offset+1] = (lo >>> 8) & 0xFF; this.buffer[offset ] = lo & 0xFF; - offset += 4; + offset += 4; this.buffer[offset+3] = (hi >>> 24) & 0xFF; this.buffer[offset+2] = (hi >>> 16) & 0xFF; this.buffer[offset+1] = (hi >>> 8) & 0xFF; this.buffer[offset ] = hi & 0xFF; - } else { + } else { this.buffer[offset ] = (hi >>> 24) & 0xFF; this.buffer[offset+1] = (hi >>> 16) & 0xFF; this.buffer[offset+2] = (hi >>> 8) & 0xFF; this.buffer[offset+3] = hi & 0xFF; - offset += 4; + offset += 4; this.buffer[offset ] = (lo >>> 24) & 0xFF; this.buffer[offset+1] = (lo >>> 16) & 0xFF; this.buffer[offset+2] = (lo >>> 8) & 0xFF; this.buffer[offset+3] = lo & 0xFF; - } + } if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; - - /** - * Reads a 64bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readInt64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; + + /** + * Reads a 64bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readInt64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); - } - var lo = 0, - hi = 0; - if (this.littleEndian) { + } + var lo = 0, + hi = 0; + if (this.littleEndian) { lo = this.buffer[offset+2] << 16; lo |= this.buffer[offset+1] << 8; lo |= this.buffer[offset ]; lo += this.buffer[offset+3] << 24 >>> 0; - offset += 4; + offset += 4; hi = this.buffer[offset+2] << 16; hi |= this.buffer[offset+1] << 8; hi |= this.buffer[offset ]; hi += this.buffer[offset+3] << 24 >>> 0; - } else { + } else { hi = this.buffer[offset+1] << 16; hi |= this.buffer[offset+2] << 8; hi |= this.buffer[offset+3]; hi += this.buffer[offset ] << 24 >>> 0; - offset += 4; + offset += 4; lo = this.buffer[offset+1] << 16; lo |= this.buffer[offset+2] << 8; lo |= this.buffer[offset+3]; lo += this.buffer[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, false); + } + var value = new Long(lo, hi, false); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; - - /** - * Writes a 64bit unsigned integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint64 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; + + /** + * Writes a 64bit unsigned integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1165,7 +1165,7 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1175,308 +1175,308 @@ module.exports = (function() { if (offset > capacity7) this.resize((capacity7 *= 2) > offset ? capacity7 : offset); offset -= 8; - var lo = value.low, - hi = value.high; - if (this.littleEndian) { + var lo = value.low, + hi = value.high; + if (this.littleEndian) { this.buffer[offset+3] = (lo >>> 24) & 0xFF; this.buffer[offset+2] = (lo >>> 16) & 0xFF; this.buffer[offset+1] = (lo >>> 8) & 0xFF; this.buffer[offset ] = lo & 0xFF; - offset += 4; + offset += 4; this.buffer[offset+3] = (hi >>> 24) & 0xFF; this.buffer[offset+2] = (hi >>> 16) & 0xFF; this.buffer[offset+1] = (hi >>> 8) & 0xFF; this.buffer[offset ] = hi & 0xFF; - } else { + } else { this.buffer[offset ] = (hi >>> 24) & 0xFF; this.buffer[offset+1] = (hi >>> 16) & 0xFF; this.buffer[offset+2] = (hi >>> 8) & 0xFF; this.buffer[offset+3] = hi & 0xFF; - offset += 4; + offset += 4; this.buffer[offset ] = (lo >>> 24) & 0xFF; this.buffer[offset+1] = (lo >>> 16) & 0xFF; this.buffer[offset+2] = (lo >>> 8) & 0xFF; this.buffer[offset+3] = lo & 0xFF; - } + } if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. - * @function - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; - - /** - * Reads a 64bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUint64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; + + /** + * Reads a 64bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); - } - var lo = 0, - hi = 0; - if (this.littleEndian) { + } + var lo = 0, + hi = 0; + if (this.littleEndian) { lo = this.buffer[offset+2] << 16; lo |= this.buffer[offset+1] << 8; lo |= this.buffer[offset ]; lo += this.buffer[offset+3] << 24 >>> 0; - offset += 4; + offset += 4; hi = this.buffer[offset+2] << 16; hi |= this.buffer[offset+1] << 8; hi |= this.buffer[offset ]; hi += this.buffer[offset+3] << 24 >>> 0; - } else { + } else { hi = this.buffer[offset+1] << 16; hi |= this.buffer[offset+2] << 8; hi |= this.buffer[offset+3]; hi += this.buffer[offset ] << 24 >>> 0; - offset += 4; + offset += 4; lo = this.buffer[offset+1] << 16; lo |= this.buffer[offset+2] << 8; lo |= this.buffer[offset+3]; lo += this.buffer[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, true); + } + var value = new Long(lo, hi, true); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; - - } // Long - - - // types/floats/float32 - - /** - * Writes a 32bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat32 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + + } // Long + + + // types/floats/float32 + + /** + * Writes a 32bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 4; var capacity8 = this.buffer.length; if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset); offset -= 4; - this.littleEndian - ? this.buffer.writeFloatLE(value, offset, true) - : this.buffer.writeFloatBE(value, offset, true); + this.littleEndian + ? this.buffer.writeFloatLE(value, offset, true) + : this.buffer.writeFloatBE(value, offset, true); if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; - - /** - * Reads a 32bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; + + /** + * Reads a 32bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); - } - var value = this.littleEndian - ? this.buffer.readFloatLE(offset, true) - : this.buffer.readFloatBE(offset, true); + } + var value = this.littleEndian + ? this.buffer.readFloatLE(offset, true) + : this.buffer.readFloatBE(offset, true); if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; - - // types/floats/float64 - - /** - * Writes a 64bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat64 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + + // types/floats/float64 + + /** + * Writes a 64bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } offset += 8; var capacity9 = this.buffer.length; if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset); offset -= 8; - this.littleEndian - ? this.buffer.writeDoubleLE(value, offset, true) - : this.buffer.writeDoubleBE(value, offset, true); + this.littleEndian + ? this.buffer.writeDoubleLE(value, offset, true) + : this.buffer.writeDoubleBE(value, offset, true); if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; - - /** - * Reads a 64bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + + /** + * Reads a 64bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.length); - } - var value = this.littleEndian - ? this.buffer.readDoubleLE(offset, true) - : this.buffer.readDoubleBE(offset, true); + } + var value = this.littleEndian + ? this.buffer.readDoubleLE(offset, true) + : this.buffer.readDoubleBE(offset, true); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; - - - // types/varints/varint32 - - /** - * Maximum number of bytes required to store a 32bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT32_BYTES = 5; - - /** - * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. - * @param {number} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} - * @expose - */ - ByteBuffer.calculateVarint32 = function(value) { - // ref: src/google/protobuf/io/coded_stream.cc - value = value >>> 0; - if (value < 1 << 7 ) return 1; - else if (value < 1 << 14) return 2; - else if (value < 1 << 21) return 3; - else if (value < 1 << 28) return 4; - else return 5; - }; - - /** - * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. - * @param {number} n Signed 32bit integer - * @returns {number} Unsigned zigzag encoded 32bit integer - * @expose - */ - ByteBuffer.zigZagEncode32 = function(n) { - return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h - }; - - /** - * Decodes a zigzag encoded signed 32bit integer. - * @param {number} n Unsigned zigzag encoded 32bit integer - * @returns {number} Signed 32bit integer - * @expose - */ - ByteBuffer.zigZagDecode32 = function(n) { - return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h - }; - - /** - * Writes a 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + + + // types/varints/varint32 + + /** + * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT32_BYTES = 5; + + /** + * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. + * @param {number} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * @expose + */ + ByteBuffer.calculateVarint32 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + value = value >>> 0; + if (value < 1 << 7 ) return 1; + else if (value < 1 << 14) return 2; + else if (value < 1 << 21) return 3; + else if (value < 1 << 28) return 4; + else return 5; + }; + + /** + * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. + * @param {number} n Signed 32bit integer + * @returns {number} Unsigned zigzag encoded 32bit integer + * @expose + */ + ByteBuffer.zigZagEncode32 = function(n) { + return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Decodes a zigzag encoded signed 32bit integer. + * @param {number} n Unsigned zigzag encoded 32bit integer + * @returns {number} Signed 32bit integer + * @expose + */ + ByteBuffer.zigZagDecode32 = function(n) { + return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Writes a 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -1485,190 +1485,190 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - var size = ByteBuffer.calculateVarint32(value), - b; + } + var size = ByteBuffer.calculateVarint32(value), + b; offset += size; var capacity10 = this.buffer.length; if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; - value >>>= 0; - while (value >= 0x80) { - b = (value & 0x7f) | 0x80; - this.buffer[offset++] = b; - value >>>= 7; - } - this.buffer[offset++] = value; - if (relative) { - this.offset = offset; - return this; - } - return size; - }; - - /** - * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { - return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); - }; - - /** - * Reads a 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available - * to fully decode the varint. - * @expose - */ - ByteBufferPrototype.readVarint32 = function(offset) { + value >>>= 0; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + this.buffer[offset++] = b; + value >>>= 7; + } + this.buffer[offset++] = value; + if (relative) { + this.offset = offset; + return this; + } + return size; + }; + + /** + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { + return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + }; + + /** + * Reads a 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. + * @expose + */ + ByteBufferPrototype.readVarint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); - } - var c = 0, - value = 0 >>> 0, - b; - do { - if (!this.noAssert && offset > this.limit) { - var err = Error("Truncated"); - err['truncated'] = true; - throw err; - } - b = this.buffer[offset++]; - if (c < 5) - value |= (b & 0x7f) << (7*c); - ++c; - } while ((b & 0x80) !== 0); - value |= 0; - if (relative) { - this.offset = offset; - return value; - } - return { - "value": value, - "length": c - }; - }; - - /** - * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint32ZigZag = function(offset) { - var val = this.readVarint32(offset); - if (typeof val === 'object') - val["value"] = ByteBuffer.zigZagDecode32(val["value"]); - else - val = ByteBuffer.zigZagDecode32(val); - return val; - }; - - // types/varints/varint64 - - if (Long) { - - /** - * Maximum number of bytes required to store a 64bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT64_BYTES = 10; - - /** - * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. - * @param {number|!Long} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} - * @expose - */ - ByteBuffer.calculateVarint64 = function(value) { + } + var c = 0, + value = 0 >>> 0, + b; + do { + if (!this.noAssert && offset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + b = this.buffer[offset++]; + if (c < 5) + value |= (b & 0x7f) << (7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; + if (relative) { + this.offset = offset; + return value; + } + return { + "value": value, + "length": c + }; + }; + + /** + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint32ZigZag = function(offset) { + var val = this.readVarint32(offset); + if (typeof val === 'object') + val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + else + val = ByteBuffer.zigZagDecode32(val); + return val; + }; + + // types/varints/varint64 + + if (Long) { + + /** + * Maximum number of bytes required to store a 64bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT64_BYTES = 10; + + /** + * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. + * @param {number|!Long} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} + * @expose + */ + ByteBuffer.calculateVarint64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') value = Long.fromString(value); - // ref: src/google/protobuf/io/coded_stream.cc - var part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - if (part2 == 0) { - if (part1 == 0) { - if (part0 < 1 << 14) - return part0 < 1 << 7 ? 1 : 2; - else - return part0 < 1 << 21 ? 3 : 4; - } else { - if (part1 < 1 << 14) - return part1 < 1 << 7 ? 5 : 6; - else - return part1 < 1 << 21 ? 7 : 8; - } - } else - return part2 < 1 << 7 ? 9 : 10; - }; - - /** - * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. - * @param {number|!Long} value Signed long - * @returns {!Long} Unsigned zigzag encoded long - * @expose - */ - ByteBuffer.zigZagEncode64 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + var part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + if (part2 == 0) { + if (part1 == 0) { + if (part0 < 1 << 14) + return part0 < 1 << 7 ? 1 : 2; + else + return part0 < 1 << 21 ? 3 : 4; + } else { + if (part1 < 1 << 14) + return part1 < 1 << 7 ? 5 : 6; + else + return part1 < 1 << 21 ? 7 : 8; + } + } else + return part2 < 1 << 7 ? 9 : 10; + }; + + /** + * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. + * @param {number|!Long} value Signed long + * @returns {!Long} Unsigned zigzag encoded long + * @expose + */ + ByteBuffer.zigZagEncode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); - }; - - /** - * Decodes a zigzag encoded signed 64bit integer. - * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number - * @returns {!Long} Signed long - * @expose - */ - ByteBuffer.zigZagDecode64 = function(value) { + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); + }; + + /** + * Decodes a zigzag encoded signed 64bit integer. + * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number + * @returns {!Long} Signed long + * @expose + */ + ByteBuffer.zigZagDecode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); - }; - - /** - * Writes a 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64 = function(value, offset) { + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); + }; + + /** + * Writes a 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1680,232 +1680,232 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } + } if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - var size = ByteBuffer.calculateVarint64(value), - part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + var size = ByteBuffer.calculateVarint64(value), + part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; offset += size; var capacity11 = this.buffer.length; if (offset > capacity11) this.resize((capacity11 *= 2) > offset ? capacity11 : offset); offset -= size; - switch (size) { - case 10: this.buffer[offset+9] = (part2 >>> 7) & 0x01; - case 9 : this.buffer[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; - case 8 : this.buffer[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; - case 7 : this.buffer[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; - case 6 : this.buffer[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; - case 5 : this.buffer[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; - case 4 : this.buffer[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; - case 3 : this.buffer[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; - case 2 : this.buffer[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; - case 1 : this.buffer[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; - } - if (relative) { - this.offset += size; - return this; - } else { - return size; - } - }; - - /** - * Writes a zig-zag encoded 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { - return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); - }; - - /** - * Reads a 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64 = function(offset) { + switch (size) { + case 10: this.buffer[offset+9] = (part2 >>> 7) & 0x01; + case 9 : this.buffer[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; + case 8 : this.buffer[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; + case 7 : this.buffer[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; + case 6 : this.buffer[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; + case 5 : this.buffer[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; + case 4 : this.buffer[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; + case 3 : this.buffer[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; + case 2 : this.buffer[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; + case 1 : this.buffer[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; + } + if (relative) { + this.offset += size; + return this; + } else { + return size; + } + }; + + /** + * Writes a zig-zag encoded 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { + return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); + }; + + /** + * Reads a 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); - } - // ref: src/google/protobuf/io/coded_stream.cc - var start = offset, - part0 = 0, - part1 = 0, - part2 = 0, - b = 0; - b = this.buffer[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { - b = this.buffer[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw Error("Buffer overrun"); }}}}}}}}}} - var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); - if (relative) { - this.offset = offset; - return value; - } else { - return { - 'value': value, - 'length': offset-start - }; - } - }; - - /** - * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64ZigZag = function(offset) { - var val = this.readVarint64(offset); - if (val && val['value'] instanceof Long) - val["value"] = ByteBuffer.zigZagDecode64(val["value"]); - else - val = ByteBuffer.zigZagDecode64(val); - return val; - }; - - } // Long - - - // types/strings/cstring - - /** - * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - * characters itself. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * contained in `str` + 1 if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeCString = function(str, offset) { + } + // ref: src/google/protobuf/io/coded_stream.cc + var start = offset, + part0 = 0, + part1 = 0, + part2 = 0, + b = 0; + b = this.buffer[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { + b = this.buffer[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.buffer[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + throw Error("Buffer overrun"); }}}}}}}}}} + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); + if (relative) { + this.offset = offset; + return value; + } else { + return { + 'value': value, + 'length': offset-start + }; + } + }; + + /** + * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64ZigZag = function(offset) { + var val = this.readVarint64(offset); + if (val && val['value'] instanceof Long) + val["value"] = ByteBuffer.zigZagDecode64(val["value"]); + else + val = ByteBuffer.zigZagDecode64(val); + return val; + }; + + } // Long + + + // types/strings/cstring + + /** + * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + * characters itself. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * contained in `str` + 1 if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeCString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - var i, - k = str.length; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - k = Buffer.byteLength(str, "utf8"); + } + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + k = Buffer.byteLength(str, "utf8"); offset += k+1; var capacity12 = this.buffer.length; if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - offset += this.buffer.write(str, offset, k, "utf8"); - this.buffer[offset++] = 0; - if (relative) { - this.offset = offset; - return this; - } - return k; - }; - - /** - * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - * itself. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readCString = function(offset) { + offset += this.buffer.write(str, offset, k, "utf8"); + this.buffer[offset++] = 0; + if (relative) { + this.offset = offset; + return this; + } + return k; + }; + + /** + * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + * itself. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readCString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); - } - var start = offset, - temp; - // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: - do { - if (offset >= this.buffer.length) - throw RangeError("Index out of range: "+offset+" <= "+this.buffer.length); - temp = this.buffer[offset++]; - } while (temp !== 0); - var str = this.buffer.toString("utf8", start, offset-1); - if (relative) { - this.offset = offset; - return str; - } else { - return { - "string": str, - "length": offset - start - }; - } - }; - - // types/strings/istring - - /** - * Writes a length as uint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeIString = function(str, offset) { + } + var start = offset, + temp; + // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: + do { + if (offset >= this.buffer.length) + throw RangeError("Index out of range: "+offset+" <= "+this.buffer.length); + temp = this.buffer[offset++]; + } while (temp !== 0); + var str = this.buffer.toString("utf8", start, offset-1); + if (relative) { + this.offset = offset; + return str; + } else { + return { + "string": str, + "length": offset - start + }; + } + }; + + // types/strings/istring + + /** + * Writes a length as uint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeIString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - var start = offset, - k; - k = Buffer.byteLength(str, "utf8"); + } + var start = offset, + k; + k = Buffer.byteLength(str, "utf8"); offset += 4+k; var capacity13 = this.buffer.length; if (offset > capacity13) @@ -1922,161 +1922,161 @@ module.exports = (function() { this.buffer[offset+2] = (k >>> 8) & 0xFF; this.buffer[offset+3] = k & 0xFF; } - offset += 4; - offset += this.buffer.write(str, offset, k, "utf8"); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as uint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readIString = function(offset) { + offset += 4; + offset += this.buffer.write(str, offset, k, "utf8"); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as uint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readIString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.length); - } - var start = offset; - var len = this.readUint32(offset); - var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); - offset += str['length']; - if (relative) { - this.offset = offset; - return str['string']; - } else { - return { - 'string': str['string'], - 'length': offset - start - }; - } - }; - - // types/strings/utf8string - - /** - * Metrics representing number of UTF8 characters. Evaluates to `c`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_CHARS = 'c'; - - /** - * Metrics representing number of bytes. Evaluates to `b`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_BYTES = 'b'; - - /** - * Writes an UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeUTF8String = function(str, offset) { + } + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; + if (relative) { + this.offset = offset; + return str['string']; + } else { + return { + 'string': str['string'], + 'length': offset - start + }; + } + }; + + // types/strings/utf8string + + /** + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_CHARS = 'c'; + + /** + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_BYTES = 'b'; + + /** + * Writes an UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeUTF8String = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - var k; - k = Buffer.byteLength(str, "utf8"); + } + var k; + k = Buffer.byteLength(str, "utf8"); offset += k; var capacity14 = this.buffer.length; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - offset += this.buffer.write(str, offset, k, "utf8"); - if (relative) { - this.offset = offset; - return this; - } - return k; - }; - - /** - * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. - * @function - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; - - /** - * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. - * @param {string} str String to calculate - * @returns {number} Number of UTF8 characters - * @expose - */ - ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[0]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateUTF8Bytes = function(str) { - if (typeof str !== 'string') - throw TypeError("Illegal argument: "+(typeof str)); - return Buffer.byteLength(str, "utf8"); - }; - - /** - * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes; - - /** - * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read. - * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { - if (typeof metrics === 'number') { - offset = metrics; - metrics = undefined; - } + offset += this.buffer.write(str, offset, k, "utf8"); + if (relative) { + this.offset = offset; + return this; + } + return k; + }; + + /** + * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. + * @function + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; + + /** + * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. + * @param {string} str String to calculate + * @returns {number} Number of UTF8 characters + * @expose + */ + ByteBuffer.calculateUTF8Chars = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateUTF8Bytes = function(str) { + if (typeof str !== 'string') + throw TypeError("Illegal argument: "+(typeof str)); + return Buffer.byteLength(str, "utf8"); + }; + + /** + * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes; + + /** + * Reads an UTF8 encoded string. + * @param {number} length Number of characters or bytes to read. + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { + if (typeof metrics === 'number') { + offset = metrics; + metrics = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; - if (!this.noAssert) { + if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; + if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; @@ -2085,266 +2085,266 @@ module.exports = (function() { offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - var i = 0, - start = offset, - temp, - sd; - if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = stringDestination(); - utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.buffer[offset++] : null; - }.bind(this), function(cp) { - ++i; utfx.UTF8toUTF16(cp, sd); - }); - if (i !== length) - throw RangeError("Illegal range: Truncated data, "+i+" == "+length); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - } else if (metrics === ByteBuffer.METRICS_BYTES) { - if (!this.noAssert) { + } + var i = 0, + start = offset, + temp, + sd; + if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser + sd = stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.buffer[offset++] : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }); + if (i !== length) + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + } else if (metrics === ByteBuffer.METRICS_BYTES) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.length); - } - temp = this.buffer.toString("utf8", offset, offset+length); - if (relative) { - this.offset += length; - return temp; - } else { - return { - 'string': temp, - 'length': length - }; - } - } else - throw TypeError("Unsupported metrics: "+metrics); - }; - - /** - * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. - * @function - * @param {number} length Number of characters or bytes to read - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; - - // types/strings/vstring - - /** - * Writes a length as varint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeVString = function(str, offset) { + } + temp = this.buffer.toString("utf8", offset, offset+length); + if (relative) { + this.offset += length; + return temp; + } else { + return { + 'string': temp, + 'length': length + }; + } + } else + throw TypeError("Unsupported metrics: "+metrics); + }; + + /** + * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. + * @function + * @param {number} length Number of characters or bytes to read + * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; + + // types/strings/vstring + + /** + * Writes a length as varint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeVString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - var start = offset, - k, l; - k = Buffer.byteLength(str, "utf8"); - l = ByteBuffer.calculateVarint32(k); + } + var start = offset, + k, l; + k = Buffer.byteLength(str, "utf8"); + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.length; if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; - offset += this.writeVarint32(k, offset); - offset += this.buffer.write(str, offset, k, "utf8"); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as varint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readVString = function(offset) { + offset += this.writeVarint32(k, offset); + offset += this.buffer.write(str, offset, k, "utf8"); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as varint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readVString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.length); - } - var start = offset; - var len = this.readVarint32(offset); - var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); - offset += str['length']; - if (relative) { - this.offset = offset; - return str['string']; - } else { - return { - 'string': str['string'], - 'length': offset - start - }; - } - }; - - - /** - * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - * data's length. - * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its - * offsets will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` - * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` - */ - ByteBufferPrototype.append = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } + } + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; + if (relative) { + this.offset = offset; + return str['string']; + } else { + return { + 'string': str['string'], + 'length': offset - start + }; + } + }; + + + /** + * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + * data's length. + * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its + * offsets will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` + * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` + */ + ByteBufferPrototype.append = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var length = source.limit - source.offset; - if (length <= 0) return this; // Nothing to append + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var length = source.limit - source.offset; + if (length <= 0) return this; // Nothing to append offset += length; var capacity16 = this.buffer.length; if (offset > capacity16) this.resize((capacity16 *= 2) > offset ? capacity16 : offset); offset -= length; - source.buffer.copy(this.buffer, offset, source.offset, source.limit); - source.offset += length; + source.buffer.copy(this.buffer, offset, source.offset, source.limit); + source.offset += length; if (relative) this.offset += length; - return this; - }; - - /** - * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the - specified offset up to the length of this ByteBuffer's data. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#append - */ - ByteBufferPrototype.appendTo = function(target, offset) { - target.append(this, offset); - return this; - }; - - /** - * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - * disable them if your code already makes sure that everything is valid. - * @param {boolean} assert `true` to enable assertions, otherwise `false` - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.assert = function(assert) { - this.noAssert = !assert; - return this; - }; - - /** - * Gets the capacity of this ByteBuffer's backing buffer. - * @returns {number} Capacity of the backing buffer - * @expose - */ - ByteBufferPrototype.capacity = function() { - return this.buffer.length; - }; - /** - * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the - * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.clear = function() { - this.offset = 0; - this.limit = this.buffer.length; - this.markedOffset = -1; - return this; - }; - - /** - * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, - * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. - * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` - * @returns {!ByteBuffer} Cloned instance - * @expose - */ - ByteBufferPrototype.clone = function(copy) { - var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); - if (copy) { - var buffer = new Buffer(this.buffer.length); - this.buffer.copy(buffer); - bb.buffer = buffer; - } else { - bb.buffer = this.buffer; - } - bb.offset = this.offset; - bb.markedOffset = this.markedOffset; - bb.limit = this.limit; - return bb; - }; - - /** - * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes - * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and - * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.compact = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + return this; + }; + + /** + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#append + */ + ByteBufferPrototype.appendTo = function(target, offset) { + target.append(this, offset); + return this; + }; + + /** + * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + * disable them if your code already makes sure that everything is valid. + * @param {boolean} assert `true` to enable assertions, otherwise `false` + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.assert = function(assert) { + this.noAssert = !assert; + return this; + }; + + /** + * Gets the capacity of this ByteBuffer's backing buffer. + * @returns {number} Capacity of the backing buffer + * @expose + */ + ByteBufferPrototype.capacity = function() { + return this.buffer.length; + }; + /** + * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the + * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.clear = function() { + this.offset = 0; + this.limit = this.buffer.length; + this.markedOffset = -1; + return this; + }; + + /** + * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, + * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. + * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` + * @returns {!ByteBuffer} Cloned instance + * @expose + */ + ByteBufferPrototype.clone = function(copy) { + var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); + if (copy) { + var buffer = new Buffer(this.buffer.length); + this.buffer.copy(buffer); + bb.buffer = buffer; + } else { + bb.buffer = this.buffer; + } + bb.offset = this.offset; + bb.markedOffset = this.markedOffset; + bb.limit = this.limit; + return bb; + }; + + /** + * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes + * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and + * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.compact = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2353,38 +2353,38 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - if (begin === 0 && end === this.buffer.length) - return this; // Already compacted - var len = end - begin; - if (len === 0) { - this.buffer = EMPTY_BUFFER; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = 0; - return this; - } - var buffer = new Buffer(len); - this.buffer.copy(buffer, 0, begin, end); - this.buffer = buffer; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = len; - return this; - }; - - /** - * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Copy - * @expose - */ - ByteBufferPrototype.copy = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + } + if (begin === 0 && end === this.buffer.length) + return this; // Already compacted + var len = end - begin; + if (len === 0) { + this.buffer = EMPTY_BUFFER; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = 0; + return this; + } + var buffer = new Buffer(len); + this.buffer.copy(buffer, 0, begin, end); + this.buffer = buffer; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = len; + return this; + }; + + /** + * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Copy + * @expose + */ + ByteBufferPrototype.copy = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2393,94 +2393,94 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - if (begin === end) - return new ByteBuffer(0, this.littleEndian, this.noAssert); - var capacity = end - begin, - bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); - bb.offset = 0; - bb.limit = capacity; - if (bb.markedOffset >= 0) bb.markedOffset -= begin; - this.copyTo(bb, 0, begin, end); - return bb; - }; - - /** - * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} - * by the number of bytes copied if omitted. - * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the - * number of bytes copied if omitted. - * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { - var relative, - targetRelative; - if (!this.noAssert) { - if (!ByteBuffer.isByteBuffer(target)) - throw TypeError("Illegal target: Not a ByteBuffer"); - } - targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; - sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; - sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; - - if (targetOffset < 0 || targetOffset > target.buffer.length) - throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.length); - if (sourceOffset < 0 || sourceLimit > this.buffer.length) - throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.length); - - var len = sourceLimit - sourceOffset; - if (len === 0) - return target; // Nothing to copy - - target.ensureCapacity(targetOffset + len); - - this.buffer.copy(target.buffer, targetOffset, sourceOffset, sourceLimit); - - if (relative) this.offset += len; - if (targetRelative) target.offset += len; - - return this; - }; - - /** - * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the - * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - * the required capacity will be used instead. - * @param {number} capacity Required capacity - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.ensureCapacity = function(capacity) { - var current = this.buffer.length; - if (current < capacity) - return this.resize((current *= 2) > capacity ? current : capacity); - return this; - }; - - /** - * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. - * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} this - * @expose - * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes - */ - ByteBufferPrototype.fill = function(value, begin, end) { + } + if (begin === end) + return new ByteBuffer(0, this.littleEndian, this.noAssert); + var capacity = end - begin, + bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); + bb.offset = 0; + bb.limit = capacity; + if (bb.markedOffset >= 0) bb.markedOffset -= begin; + this.copyTo(bb, 0, begin, end); + return bb; + }; + + /** + * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} + * by the number of bytes copied if omitted. + * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the + * number of bytes copied if omitted. + * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + var relative, + targetRelative; + if (!this.noAssert) { + if (!ByteBuffer.isByteBuffer(target)) + throw TypeError("Illegal target: Not a ByteBuffer"); + } + targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; + sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; + sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; + + if (targetOffset < 0 || targetOffset > target.buffer.length) + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.length); + if (sourceOffset < 0 || sourceLimit > this.buffer.length) + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.length); + + var len = sourceLimit - sourceOffset; + if (len === 0) + return target; // Nothing to copy + + target.ensureCapacity(targetOffset + len); + + this.buffer.copy(target.buffer, targetOffset, sourceOffset, sourceLimit); + + if (relative) this.offset += len; + if (targetRelative) target.offset += len; + + return this; + }; + + /** + * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the + * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + * the required capacity will be used instead. + * @param {number} capacity Required capacity + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.ensureCapacity = function(capacity) { + var current = this.buffer.length; + if (current < capacity) + return this.resize((current *= 2) > capacity ? current : capacity); + return this; + }; + + /** + * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. + * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} this + * @expose + * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes + */ + ByteBufferPrototype.fill = function(value, begin, end) { var relative = typeof begin === 'undefined'; if (relative) begin = this.offset; - if (typeof value === 'string' && value.length > 0) - value = value.charCodeAt(0); - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + if (typeof value === 'string' && value.length > 0) + value = value.charCodeAt(0); + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -2492,222 +2492,222 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - if (begin >= end) - return this; // Nothing to fill - this.buffer.fill(value, begin, end); - begin = end; - if (relative) this.offset = begin; - return this; - }; - - /** - * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and - * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.flip = function() { - this.limit = this.offset; - this.offset = 0; - return this; - }; - /** - * Marks an offset on this ByteBuffer to be used later. - * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. - * @returns {!ByteBuffer} this - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @see ByteBuffer#reset - * @expose - */ - ByteBufferPrototype.mark = function(offset) { - offset = typeof offset === 'undefined' ? this.offset : offset; - if (!this.noAssert) { + } + if (begin >= end) + return this; // Nothing to fill + this.buffer.fill(value, begin, end); + begin = end; + if (relative) this.offset = begin; + return this; + }; + + /** + * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and + * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.flip = function() { + this.limit = this.offset; + this.offset = 0; + return this; + }; + /** + * Marks an offset on this ByteBuffer to be used later. + * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. + * @returns {!ByteBuffer} this + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @see ByteBuffer#reset + * @expose + */ + ByteBufferPrototype.mark = function(offset) { + offset = typeof offset === 'undefined' ? this.offset : offset; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - this.markedOffset = offset; - return this; - }; - /** - * Sets the byte order. - * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.order = function(littleEndian) { - if (!this.noAssert) { - if (typeof littleEndian !== 'boolean') - throw TypeError("Illegal littleEndian: Not a boolean"); - } - this.littleEndian = !!littleEndian; - return this; - }; - - /** - * Switches (to) little endian byte order. - * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.LE = function(littleEndian) { - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; - return this; - }; - - /** - * Switches (to) big endian byte order. - * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.BE = function(bigEndian) { - this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; - return this; - }; - /** - * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer|string||!Buffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be modified - * according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` - * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` - */ - ByteBufferPrototype.prepend = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } + } + this.markedOffset = offset; + return this; + }; + /** + * Sets the byte order. + * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.order = function(littleEndian) { + if (!this.noAssert) { + if (typeof littleEndian !== 'boolean') + throw TypeError("Illegal littleEndian: Not a boolean"); + } + this.littleEndian = !!littleEndian; + return this; + }; + + /** + * Switches (to) little endian byte order. + * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.LE = function(littleEndian) { + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; + return this; + }; + + /** + * Switches (to) big endian byte order. + * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.BE = function(bigEndian) { + this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; + return this; + }; + /** + * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer|string||!Buffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be modified + * according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` + * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` + */ + ByteBufferPrototype.prepend = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.length) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.length); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var len = source.limit - source.offset; - if (len <= 0) return this; // Nothing to prepend - var diff = len - offset; - if (diff > 0) { // Not enough space before offset, so resize + move - var buffer = new Buffer(this.buffer.length + diff); - this.buffer.copy(buffer, len, offset, this.buffer.length); - this.buffer = buffer; - this.offset += diff; - if (this.markedOffset >= 0) this.markedOffset += diff; - this.limit += diff; - offset += diff; - } source.buffer.copy(this.buffer, offset - len, source.offset, source.limit); - - source.offset = source.limit; - if (relative) - this.offset -= len; - return this; - }; - - /** - * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#prepend - */ - ByteBufferPrototype.prependTo = function(target, offset) { - target.prepend(this, offset); - return this; - }; - /** - * Prints debug information about this ByteBuffer's contents. - * @param {function(string)=} out Output function to call, defaults to console.log - * @expose - */ - ByteBufferPrototype.printDebug = function(out) { - if (typeof out !== 'function') out = console.log.bind(console); - out( - this.toString()+"\n"+ - "-------------------------------------------------------------------\n"+ - this.toDebug(/* columns */ true) - ); - }; - - /** - * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}, so this returns `limit - offset`. - * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. - * @expose - */ - ByteBufferPrototype.remaining = function() { - return this.limit - this.offset; - }; - /** - * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} - * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been - * marked, sets `offset = 0`. - * @returns {!ByteBuffer} this - * @see ByteBuffer#mark - * @expose - */ - ByteBufferPrototype.reset = function() { - if (this.markedOffset >= 0) { - this.offset = this.markedOffset; - this.markedOffset = -1; - } else { - this.offset = 0; - } - return this; - }; - /** - * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - * large or larger. - * @param {number} capacity Capacity required - * @returns {!ByteBuffer} this - * @throws {TypeError} If `capacity` is not a number - * @throws {RangeError} If `capacity < 0` - * @expose - */ - ByteBufferPrototype.resize = function(capacity) { - if (!this.noAssert) { + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var len = source.limit - source.offset; + if (len <= 0) return this; // Nothing to prepend + var diff = len - offset; + if (diff > 0) { // Not enough space before offset, so resize + move + var buffer = new Buffer(this.buffer.length + diff); + this.buffer.copy(buffer, len, offset, this.buffer.length); + this.buffer = buffer; + this.offset += diff; + if (this.markedOffset >= 0) this.markedOffset += diff; + this.limit += diff; + offset += diff; + } source.buffer.copy(this.buffer, offset - len, source.offset, source.limit); + + source.offset = source.limit; + if (relative) + this.offset -= len; + return this; + }; + + /** + * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#prepend + */ + ByteBufferPrototype.prependTo = function(target, offset) { + target.prepend(this, offset); + return this; + }; + /** + * Prints debug information about this ByteBuffer's contents. + * @param {function(string)=} out Output function to call, defaults to console.log + * @expose + */ + ByteBufferPrototype.printDebug = function(out) { + if (typeof out !== 'function') out = console.log.bind(console); + out( + this.toString()+"\n"+ + "-------------------------------------------------------------------\n"+ + this.toDebug(/* columns */ true) + ); + }; + + /** + * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}, so this returns `limit - offset`. + * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. + * @expose + */ + ByteBufferPrototype.remaining = function() { + return this.limit - this.offset; + }; + /** + * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} + * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been + * marked, sets `offset = 0`. + * @returns {!ByteBuffer} this + * @see ByteBuffer#mark + * @expose + */ + ByteBufferPrototype.reset = function() { + if (this.markedOffset >= 0) { + this.offset = this.markedOffset; + this.markedOffset = -1; + } else { + this.offset = 0; + } + return this; + }; + /** + * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + * large or larger. + * @param {number} capacity Capacity required + * @returns {!ByteBuffer} this + * @throws {TypeError} If `capacity` is not a number + * @throws {RangeError} If `capacity < 0` + * @expose + */ + ByteBufferPrototype.resize = function(capacity) { + if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; - if (capacity < 0) - throw RangeError("Illegal capacity: 0 <= "+capacity); - } - if (this.buffer.length < capacity) { - var buffer = new Buffer(capacity); - this.buffer.copy(buffer); - this.buffer = buffer; - } - return this; - }; - /** - * Reverses this ByteBuffer's contents. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.reverse = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + if (capacity < 0) + throw RangeError("Illegal capacity: 0 <= "+capacity); + } + if (this.buffer.length < capacity) { + var buffer = new Buffer(capacity); + this.buffer.copy(buffer); + this.buffer = buffer; + } + return this; + }; + /** + * Reverses this ByteBuffer's contents. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.reverse = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2716,44 +2716,44 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - if (begin === end) - return this; // Nothing to reverse - Array.prototype.reverse.call(this.buffer.slice(begin, end)); - return this; - }; - /** - * Skips the next `length` bytes. This will just advance - * @param {number} length Number of bytes to skip. May also be negative to move the offset back. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.skip = function(length) { - if (!this.noAssert) { + } + if (begin === end) + return this; // Nothing to reverse + Array.prototype.reverse.call(this.buffer.slice(begin, end)); + return this; + }; + /** + * Skips the next `length` bytes. This will just advance + * @param {number} length Number of bytes to skip. May also be negative to move the offset back. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.skip = function(length) { + if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; - } - var offset = this.offset + length; - if (!this.noAssert) { - if (offset < 0 || offset > this.buffer.length) - throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.length); - } - this.offset = offset; - return this; - }; - - /** - * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} - * @expose - */ - ByteBufferPrototype.slice = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + } + var offset = this.offset + length; + if (!this.noAssert) { + if (offset < 0 || offset > this.buffer.length) + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.length); + } + this.offset = offset; + return this; + }; + + /** + * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} + * @expose + */ + ByteBufferPrototype.slice = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2762,24 +2762,24 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - var bb = this.clone(); - bb.offset = begin; - bb.limit = end; - return bb; - }; - /** - * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if - * possible. Defaults to `false` - * @returns {!Buffer} Contents as a Buffer - * @expose - */ - ByteBufferPrototype.toBuffer = function(forceCopy) { - var offset = this.offset, - limit = this.limit; - if (!this.noAssert) { + } + var bb = this.clone(); + bb.offset = begin; + bb.limit = end; + return bb; + }; + /** + * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if + * possible. Defaults to `false` + * @returns {!Buffer} Contents as a Buffer + * @expose + */ + ByteBufferPrototype.toBuffer = function(forceCopy) { + var offset = this.offset, + limit = this.limit; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; @@ -2788,28 +2788,28 @@ module.exports = (function() { limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.length) throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); - } - if (forceCopy) { - var buffer = new Buffer(limit - offset); - this.buffer.copy(buffer, 0, offset, limit); - return buffer; - } else { - if (offset === 0 && limit === this.buffer.length) - return this.buffer; - else - return this.buffer.slice(offset, limit); - } - }; - - /** - * Returns a copy of the backing buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - */ - ByteBufferPrototype.toArrayBuffer = function() { - var offset = this.offset, - limit = this.limit; - if (!this.noAssert) { + } + if (forceCopy) { + var buffer = new Buffer(limit - offset); + this.buffer.copy(buffer, 0, offset, limit); + return buffer; + } else { + if (offset === 0 && limit === this.buffer.length) + return this.buffer; + else + return this.buffer.slice(offset, limit); + } + }; + + /** + * Returns a copy of the backing buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + */ + ByteBufferPrototype.toArrayBuffer = function() { + var offset = this.offset, + limit = this.limit; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; @@ -2818,343 +2818,343 @@ module.exports = (function() { limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.length) throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.length); - } - var ab = new ArrayBuffer(limit - offset); - if (memcpy) { // Fast - memcpy(ab, 0, this.buffer, offset, limit); - } else { // Slow - var dst = new Uint8Array(ab); - for (var i=offset; i this.capacity || begin > end) - throw RangeError("begin, end"); - return this.buffer.toString("base64", begin, end); - }; - - /** - * Decodes a base64 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBase64 = function(str, littleEndian) { - return ByteBuffer.wrap(new Buffer(str, "base64"), littleEndian); - return bb; - }; - - /** - * Encodes a binary string to base64 like `window.btoa` does. - * @param {string} str Binary string - * @returns {string} Base64 encoded string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa - * @expose - */ - ByteBuffer.btoa = function(str) { - return ByteBuffer.fromBinary(str).toBase64(); - }; - - /** - * Decodes a base64 encoded string to binary like `window.atob` does. - * @param {string} b64 Base64 encoded string - * @returns {string} Binary string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob - * @expose - */ - ByteBuffer.atob = function(b64) { - return ByteBuffer.fromBase64(b64).toBinary(); - }; - - // encodings/binary - - /** - * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. - * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. - * @returns {string} Binary encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toBinary = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - begin |= 0; end |= 0; - if (begin < 0 || end > this.capacity() || begin > end) - throw RangeError("begin, end"); - return this.buffer.toString("binary", begin, end); - }; - - /** - * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBinary = function(str, littleEndian) { - return ByteBuffer.wrap(new Buffer(str, "binary"), littleEndian); - return bb; - }; - - // encodings/debug - - /** - * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - * * `<` : offset, - * * `'` : markedOffset, - * * `>` : limit, - * * `|` : offset and limit, - * * `[` : offset and markedOffset, - * * `]` : markedOffset and limit, - * * `!` : offset, markedOffset and limit - * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` - * @returns {string|!Array.} Debug string or array of lines if `asArray = true` - * @expose - * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` - * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` - * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` - * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` - */ - ByteBufferPrototype.toDebug = function(columns) { - var i = -1, - k = this.buffer.length, - b, - hex = "", - asc = "", - out = ""; - while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; - } - ++i; - if (columns) { - if (i > 0 && i % 16 === 0 && i !== k) { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; - hex = asc = ""; - } - } - if (i === this.offset && i === this.limit) - hex += i === this.markedOffset ? "!" : "|"; - else if (i === this.offset) - hex += i === this.markedOffset ? "[" : "<"; - else if (i === this.limit) - hex += i === this.markedOffset ? "]" : ">"; - else - hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); - } - if (columns && hex !== " ") { - while (hex.length < 3*16+3) - hex += " "; - out += hex + asc + "\n"; - } - return columns ? out : hex; - }; - - /** - * Decodes a hex encoded string with marked offsets to a ByteBuffer. - * @param {string} str Debug string to decode (not be generated with `columns = true`) - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - * @see ByteBuffer#toDebug - */ - ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { - var k = str.length, - bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); - var i = 0, j = 0, ch, b, - rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? - fail = false; - while (i': - if (!noAssert) { - if (hl) { - fail = true; - break; - } - hl = true; - } - bb.limit = j; - rs = false; - break; - case "'": - if (!noAssert) { - if (hm) { - fail = true; - break; - } - hm = true; - } - bb.markedOffset = j; - rs = false; - break; - case ' ': - rs = false; - break; - default: - if (!noAssert) { - if (rs) { - fail = true; - break; - } - } - b = parseInt(ch+str.charAt(i++), 16); - if (!noAssert) { - if (isNaN(b) || b < 0 || b > 255) - throw TypeError("Illegal str: Not a debug encoded string"); - } - bb.buffer[j++] = b; - rs = true; - } - if (fail) - throw TypeError("Illegal str: Invalid symbol at "+i); - } - if (!noAssert) { - if (!ho || !hl) - throw TypeError("Illegal str: Missing offset or limit"); - if (j this.capacity || begin > end) + throw RangeError("begin, end"); + return this.buffer.toString("base64", begin, end); + }; + + /** + * Decodes a base64 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBase64 = function(str, littleEndian) { + return ByteBuffer.wrap(new Buffer(str, "base64"), littleEndian); + return bb; + }; + + /** + * Encodes a binary string to base64 like `window.btoa` does. + * @param {string} str Binary string + * @returns {string} Base64 encoded string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa + * @expose + */ + ByteBuffer.btoa = function(str) { + return ByteBuffer.fromBinary(str).toBase64(); + }; + + /** + * Decodes a base64 encoded string to binary like `window.atob` does. + * @param {string} b64 Base64 encoded string + * @returns {string} Binary string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob + * @expose + */ + ByteBuffer.atob = function(b64) { + return ByteBuffer.fromBase64(b64).toBinary(); + }; + + // encodings/binary + + /** + * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Binary encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toBinary = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); + return this.buffer.toString("binary", begin, end); + }; + + /** + * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBinary = function(str, littleEndian) { + return ByteBuffer.wrap(new Buffer(str, "binary"), littleEndian); + return bb; + }; + + // encodings/debug + + /** + * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + * * `<` : offset, + * * `'` : markedOffset, + * * `>` : limit, + * * `|` : offset and limit, + * * `[` : offset and markedOffset, + * * `]` : markedOffset and limit, + * * `!` : offset, markedOffset and limit + * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` + * @returns {string|!Array.} Debug string or array of lines if `asArray = true` + * @expose + * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` + * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` + * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` + * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` + */ + ByteBufferPrototype.toDebug = function(columns) { + var i = -1, + k = this.buffer.length, + b, + hex = "", + asc = "", + out = ""; + while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; + } + ++i; + if (columns) { + if (i > 0 && i % 16 === 0 && i !== k) { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + hex = asc = ""; + } + } + if (i === this.offset && i === this.limit) + hex += i === this.markedOffset ? "!" : "|"; + else if (i === this.offset) + hex += i === this.markedOffset ? "[" : "<"; + else if (i === this.limit) + hex += i === this.markedOffset ? "]" : ">"; + else + hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); + } + if (columns && hex !== " ") { + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; + } + return columns ? out : hex; + }; + + /** + * Decodes a hex encoded string with marked offsets to a ByteBuffer. + * @param {string} str Debug string to decode (not be generated with `columns = true`) + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + * @see ByteBuffer#toDebug + */ + ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { + var k = str.length, + bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); + var i = 0, j = 0, ch, b, + rs = false, // Require symbol next + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? + fail = false; + while (i': + if (!noAssert) { + if (hl) { + fail = true; + break; + } + hl = true; + } + bb.limit = j; + rs = false; + break; + case "'": + if (!noAssert) { + if (hm) { + fail = true; + break; + } + hm = true; + } + bb.markedOffset = j; + rs = false; + break; + case ' ': + rs = false; + break; + default: + if (!noAssert) { + if (rs) { + fail = true; + break; + } + } + b = parseInt(ch+str.charAt(i++), 16); + if (!noAssert) { + if (isNaN(b) || b < 0 || b > 255) + throw TypeError("Illegal str: Not a debug encoded string"); + } + bb.buffer[j++] = b; + rs = true; + } + if (fail) + throw TypeError("Illegal str: Invalid symbol at "+i); + } + if (!noAssert) { + if (!ho || !hl) + throw TypeError("Illegal str: Missing offset or limit"); + if (j>>= 0; @@ -3163,35 +3163,35 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - return this.buffer.toString("hex", begin, end); - }; - - /** - * Decodes a hex encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromHex = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 2 !== 0) - throw TypeError("Illegal str: Length not a multiple of 2"); - } - var bb = new ByteBuffer(0, littleEndian, true); - bb.buffer = new Buffer(str, "hex"); - bb.limit = bb.buffer.length; - return bb; - }; - - // utfx-embeddable - + } + return this.buffer.toString("hex", begin, end); + }; + + /** + * Decodes a hex encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromHex = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 2 !== 0) + throw TypeError("Illegal str: Length not a multiple of 2"); + } + var bb = new ByteBuffer(0, littleEndian, true); + bb.buffer = new Buffer(str, "hex"); + bb.limit = bb.buffer.length; + return bb; + }; + + // utfx-embeddable + /** * utfx-embeddable (c) 2014 Daniel Wirtz * Released under the Apache License, Version 2.0 @@ -3388,20 +3388,20 @@ module.exports = (function() { return utfx; }(); - - // encodings/utf8 - - /** - * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded - * string. - * @returns {string} Hex encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toUTF8 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + + // encodings/utf8 + + /** + * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded + * string. + * @returns {string} Hex encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toUTF8 = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -3410,45 +3410,45 @@ module.exports = (function() { end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.length) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.length); - } - return this.buffer.toString("utf8", begin, end); - }; - - /** - * Decodes an UTF8 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - var bb = new ByteBuffer(0, littleEndian, noAssert); - bb.buffer = new Buffer(str, "utf8"); - bb.limit = bb.buffer.length; - return bb; - }; - - - /** - * node-memcpy. This is an optional binding dependency and may not be present. - * @function - * @param {!(Buffer|ArrayBuffer|Uint8Array)} target Destination - * @param {number|!(Buffer|ArrayBuffer)} targetStart Destination start, defaults to 0. - * @param {(!(Buffer|ArrayBuffer|Uint8Array)|number)=} source Source - * @param {number=} sourceStart Source start, defaults to 0. - * @param {number=} sourceEnd Source end, defaults to capacity. - * @returns {number} Number of bytes copied - * @throws {Error} If any index is out of bounds - * @expose - */ - ByteBuffer.memcpy = memcpy; - - return ByteBuffer; - -})(); + } + return this.buffer.toString("utf8", begin, end); + }; + + /** + * Decodes an UTF8 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { + if (!noAssert) + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + var bb = new ByteBuffer(0, littleEndian, noAssert); + bb.buffer = new Buffer(str, "utf8"); + bb.limit = bb.buffer.length; + return bb; + }; + + + /** + * node-memcpy. This is an optional binding dependency and may not be present. + * @function + * @param {!(Buffer|ArrayBuffer|Uint8Array)} target Destination + * @param {number|!(Buffer|ArrayBuffer)} targetStart Destination start, defaults to 0. + * @param {(!(Buffer|ArrayBuffer|Uint8Array)|number)=} source Source + * @param {number=} sourceStart Source start, defaults to 0. + * @param {number=} sourceEnd Source end, defaults to capacity. + * @returns {number} Number of bytes copied + * @throws {Error} If any index is out of bounds + * @expose + */ + ByteBuffer.memcpy = memcpy; + + return ByteBuffer; + +})(); diff --git a/dist/bytebuffer.js b/dist/bytebuffer.js index 9c78984..36d0207 100644 --- a/dist/bytebuffer.js +++ b/dist/bytebuffer.js @@ -1,539 +1,539 @@ -/* - Copyright 2013-2014 Daniel Wirtz - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - */ - -/** - * @license bytebuffer.js (c) 2015 Daniel Wirtz - * Backing buffer: ArrayBuffer, Accessor: Uint8Array - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/bytebuffer.js for details - */ -(function(global, factory) { - - /* AMD */ if (typeof define === 'function' && define["amd"]) - define(["long"], factory); - /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) - module['exports'] = (function() { - var Long; try { Long = require("long"); } catch (e) {} - return factory(Long); - })(); - /* Global */ else - (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); - -})(this, function(Long) { - "use strict"; - - /** - * Constructs a new ByteBuffer. - * @class The swiss army knife for binary data in JavaScript. - * @exports ByteBuffer - * @constructor - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @expose - */ - var ByteBuffer = function(capacity, littleEndian, noAssert) { - if (typeof capacity === 'undefined') - capacity = ByteBuffer.DEFAULT_CAPACITY; - if (typeof littleEndian === 'undefined') - littleEndian = ByteBuffer.DEFAULT_ENDIAN; - if (typeof noAssert === 'undefined') - noAssert = ByteBuffer.DEFAULT_NOASSERT; - if (!noAssert) { - capacity = capacity | 0; - if (capacity < 0) - throw RangeError("Illegal capacity"); - littleEndian = !!littleEndian; - noAssert = !!noAssert; - } - - /** - * Backing ArrayBuffer. - * @type {!ArrayBuffer} - * @expose - */ - this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); - - /** - * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. - * @type {?Uint8Array} - * @expose - */ - this.view = capacity === 0 ? null : new Uint8Array(this.buffer); - - /** - * Absolute read/write offset. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.offset = 0; - - /** - * Marked offset. - * @type {number} - * @expose - * @see ByteBuffer#mark - * @see ByteBuffer#reset - */ - this.markedOffset = -1; - - /** - * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. - * @type {number} - * @expose - * @see ByteBuffer#flip - * @see ByteBuffer#clear - */ - this.limit = capacity; - - /** - * Whether to use little endian byte order, defaults to `false` for big endian. - * @type {boolean} - * @expose - */ - this.littleEndian = littleEndian; - - /** - * Whether to skip assertions of offsets and values, defaults to `false`. - * @type {boolean} - * @expose - */ - this.noAssert = noAssert; - }; - - /** - * ByteBuffer version. - * @type {string} - * @const - * @expose - */ - ByteBuffer.VERSION = "5.0.0"; - - /** - * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. - * @type {boolean} - * @const - * @expose - */ - ByteBuffer.LITTLE_ENDIAN = true; - - /** - * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. - * @type {boolean} - * @const - * @expose - */ - ByteBuffer.BIG_ENDIAN = false; - - /** - * Default initial capacity of `16`. - * @type {number} - * @expose - */ - ByteBuffer.DEFAULT_CAPACITY = 16; - - /** - * Default endianess of `false` for big endian. - * @type {boolean} - * @expose - */ - ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; - - /** - * Default no assertions flag of `false`. - * @type {boolean} - * @expose - */ - ByteBuffer.DEFAULT_NOASSERT = false; - - /** - * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded - * and int64 support is not available. - * @type {?Long} - * @const - * @see https://github.com/dcodeIO/long.js - * @expose - */ - ByteBuffer.Long = Long || null; - - /** - * @alias ByteBuffer.prototype - * @inner - */ - var ByteBufferPrototype = ByteBuffer.prototype; - - /** - * An indicator used to reliably determine if an object is a ByteBuffer or not. - * @type {boolean} - * @const - * @expose - * @private - */ - ByteBufferPrototype.__isByteBuffer__; - - Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { - value: true, - enumerable: false, - configurable: false - }); - - // helpers - - /** - * @type {!ArrayBuffer} - * @inner - */ - var EMPTY_BUFFER = new ArrayBuffer(0); - - /** - * String.fromCharCode reference for compile-time renaming. - * @type {function(...number):string} - * @inner - */ - var stringFromCharCode = String.fromCharCode; - - /** - * Creates a source function for a string. - * @param {string} s String to read from - * @returns {function():number|null} Source function returning the next char code respectively `null` if there are - * no more characters left. - * @throws {TypeError} If the argument is invalid - * @inner - */ - function stringSource(s) { - var i=0; return function() { - return i < s.length ? s.charCodeAt(i++) : null; - }; - } - - /** - * Creates a destination function for a string. - * @returns {function(number=):undefined|string} Destination function successively called with the next char code. - * Returns the final string when called without arguments. - * @inner - */ - function stringDestination() { - var cs = [], ps = []; return function() { - if (arguments.length === 0) - return ps.join('')+stringFromCharCode.apply(String, cs); - if (cs.length + arguments.length > 1024) - ps.push(stringFromCharCode.apply(String, cs)), - cs.length = 0; - Array.prototype.push.apply(cs, arguments); - }; - } - - /** - * Gets the accessor type. - * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) - * @expose - */ - ByteBuffer.accessor = function() { - return Uint8Array; - }; - /** - * Allocates a new ByteBuffer backed by a buffer of the specified capacity. - * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} - * @expose - */ - ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { - return new ByteBuffer(capacity, littleEndian, noAssert); - }; - - /** - * Concatenates multiple ByteBuffers into one. - * @param {!Array.} buffers Buffers to concatenate - * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", - * defaults to "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults - * to {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} Concatenated ByteBuffer - * @expose - */ - ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { - if (typeof encoding === 'boolean' || typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - var capacity = 0; - for (var i=0, k=buffers.length, length; i 0) capacity += length; - } - if (capacity === 0) - return new ByteBuffer(0, littleEndian, noAssert); - var bb = new ByteBuffer(capacity, littleEndian, noAssert), - bi; - i=0; while (i} buffer Anything that can be wrapped - * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to - * "utf8") - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` - * @expose - */ - ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { - if (typeof encoding !== 'string') { - noAssert = littleEndian; - littleEndian = encoding; - encoding = undefined; - } - if (typeof buffer === 'string') { - if (typeof encoding === 'undefined') - encoding = "utf8"; - switch (encoding) { - case "base64": - return ByteBuffer.fromBase64(buffer, littleEndian); - case "hex": - return ByteBuffer.fromHex(buffer, littleEndian); - case "binary": - return ByteBuffer.fromBinary(buffer, littleEndian); - case "utf8": - return ByteBuffer.fromUTF8(buffer, littleEndian); - case "debug": - return ByteBuffer.fromDebug(buffer, littleEndian); - default: - throw Error("Unsupported encoding: "+encoding); - } - } - if (buffer === null || typeof buffer !== 'object') - throw TypeError("Illegal buffer"); - var bb; - if (ByteBuffer.isByteBuffer(buffer)) { - bb = ByteBufferPrototype.clone.call(buffer); - bb.markedOffset = -1; - return bb; - } - if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER - bb.buffer = buffer.buffer; - bb.offset = buffer.byteOffset; - bb.limit = buffer.byteOffset + buffer.byteLength; - bb.view = new Uint8Array(buffer.buffer); - } - } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer - bb = new ByteBuffer(0, littleEndian, noAssert); - if (buffer.byteLength > 0) { - bb.buffer = buffer; - bb.offset = 0; - bb.limit = buffer.byteLength; - bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; - } - } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets - bb = new ByteBuffer(buffer.length, littleEndian, noAssert); - bb.limit = buffer.length; - for (var i=0; i} value Array of booleans to write - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {!ByteBuffer} - * @expose - */ - ByteBufferPrototype.writeBitSet = function(value, offset) { +/* + Copyright 2013-2014 Daniel Wirtz + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ + +/** + * @license bytebuffer.js (c) 2015 Daniel Wirtz + * Backing buffer: ArrayBuffer, Accessor: Uint8Array + * Released under the Apache License, Version 2.0 + * see: https://github.com/dcodeIO/bytebuffer.js for details + */ +(function(global, factory) { + + /* AMD */ if (typeof define === 'function' && define["amd"]) + define(["long"], factory); + /* CommonJS */ else if (typeof require === 'function' && typeof module === "object" && module && module["exports"]) + module['exports'] = (function() { + var Long; try { Long = require("long"); } catch (e) {} + return factory(Long); + })(); + /* Global */ else + (global["dcodeIO"] = global["dcodeIO"] || {})["ByteBuffer"] = factory(global["dcodeIO"]["Long"]); + +})(this, function(Long) { + "use strict"; + + /** + * Constructs a new ByteBuffer. + * @class The swiss army knife for binary data in JavaScript. + * @exports ByteBuffer + * @constructor + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @expose + */ + var ByteBuffer = function(capacity, littleEndian, noAssert) { + if (typeof capacity === 'undefined') + capacity = ByteBuffer.DEFAULT_CAPACITY; + if (typeof littleEndian === 'undefined') + littleEndian = ByteBuffer.DEFAULT_ENDIAN; + if (typeof noAssert === 'undefined') + noAssert = ByteBuffer.DEFAULT_NOASSERT; + if (!noAssert) { + capacity = capacity | 0; + if (capacity < 0) + throw RangeError("Illegal capacity"); + littleEndian = !!littleEndian; + noAssert = !!noAssert; + } + + /** + * Backing ArrayBuffer. + * @type {!ArrayBuffer} + * @expose + */ + this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity); + + /** + * Uint8Array utilized to manipulate the backing buffer. Becomes `null` if the backing buffer has a capacity of `0`. + * @type {?Uint8Array} + * @expose + */ + this.view = capacity === 0 ? null : new Uint8Array(this.buffer); + + /** + * Absolute read/write offset. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.offset = 0; + + /** + * Marked offset. + * @type {number} + * @expose + * @see ByteBuffer#mark + * @see ByteBuffer#reset + */ + this.markedOffset = -1; + + /** + * Absolute limit of the contained data. Set to the backing buffer's capacity upon allocation. + * @type {number} + * @expose + * @see ByteBuffer#flip + * @see ByteBuffer#clear + */ + this.limit = capacity; + + /** + * Whether to use little endian byte order, defaults to `false` for big endian. + * @type {boolean} + * @expose + */ + this.littleEndian = littleEndian; + + /** + * Whether to skip assertions of offsets and values, defaults to `false`. + * @type {boolean} + * @expose + */ + this.noAssert = noAssert; + }; + + /** + * ByteBuffer version. + * @type {string} + * @const + * @expose + */ + ByteBuffer.VERSION = "5.0.0"; + + /** + * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.LITTLE_ENDIAN = true; + + /** + * Big endian constant that can be used instead of its boolean value. Evaluates to `false`. + * @type {boolean} + * @const + * @expose + */ + ByteBuffer.BIG_ENDIAN = false; + + /** + * Default initial capacity of `16`. + * @type {number} + * @expose + */ + ByteBuffer.DEFAULT_CAPACITY = 16; + + /** + * Default endianess of `false` for big endian. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN; + + /** + * Default no assertions flag of `false`. + * @type {boolean} + * @expose + */ + ByteBuffer.DEFAULT_NOASSERT = false; + + /** + * A `Long` class for representing a 64-bit two's-complement integer value. May be `null` if Long.js has not been loaded + * and int64 support is not available. + * @type {?Long} + * @const + * @see https://github.com/dcodeIO/long.js + * @expose + */ + ByteBuffer.Long = Long || null; + + /** + * @alias ByteBuffer.prototype + * @inner + */ + var ByteBufferPrototype = ByteBuffer.prototype; + + /** + * An indicator used to reliably determine if an object is a ByteBuffer or not. + * @type {boolean} + * @const + * @expose + * @private + */ + ByteBufferPrototype.__isByteBuffer__; + + Object.defineProperty(ByteBufferPrototype, "__isByteBuffer__", { + value: true, + enumerable: false, + configurable: false + }); + + // helpers + + /** + * @type {!ArrayBuffer} + * @inner + */ + var EMPTY_BUFFER = new ArrayBuffer(0); + + /** + * String.fromCharCode reference for compile-time renaming. + * @type {function(...number):string} + * @inner + */ + var stringFromCharCode = String.fromCharCode; + + /** + * Creates a source function for a string. + * @param {string} s String to read from + * @returns {function():number|null} Source function returning the next char code respectively `null` if there are + * no more characters left. + * @throws {TypeError} If the argument is invalid + * @inner + */ + function stringSource(s) { + var i=0; return function() { + return i < s.length ? s.charCodeAt(i++) : null; + }; + } + + /** + * Creates a destination function for a string. + * @returns {function(number=):undefined|string} Destination function successively called with the next char code. + * Returns the final string when called without arguments. + * @inner + */ + function stringDestination() { + var cs = [], ps = []; return function() { + if (arguments.length === 0) + return ps.join('')+stringFromCharCode.apply(String, cs); + if (cs.length + arguments.length > 1024) + ps.push(stringFromCharCode.apply(String, cs)), + cs.length = 0; + Array.prototype.push.apply(cs, arguments); + }; + } + + /** + * Gets the accessor type. + * @returns {Function} `Buffer` under node.js, `Uint8Array` respectively `DataView` in the browser (classes) + * @expose + */ + ByteBuffer.accessor = function() { + return Uint8Array; + }; + /** + * Allocates a new ByteBuffer backed by a buffer of the specified capacity. + * @param {number=} capacity Initial capacity. Defaults to {@link ByteBuffer.DEFAULT_CAPACITY}. + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} + * @expose + */ + ByteBuffer.allocate = function(capacity, littleEndian, noAssert) { + return new ByteBuffer(capacity, littleEndian, noAssert); + }; + + /** + * Concatenates multiple ByteBuffers into one. + * @param {!Array.} buffers Buffers to concatenate + * @param {(string|boolean)=} encoding String encoding if `buffers` contains a string ("base64", "hex", "binary", + * defaults to "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order for the resulting ByteBuffer. Defaults + * to {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values for the resulting ByteBuffer. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} Concatenated ByteBuffer + * @expose + */ + ByteBuffer.concat = function(buffers, encoding, littleEndian, noAssert) { + if (typeof encoding === 'boolean' || typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + var capacity = 0; + for (var i=0, k=buffers.length, length; i 0) capacity += length; + } + if (capacity === 0) + return new ByteBuffer(0, littleEndian, noAssert); + var bb = new ByteBuffer(capacity, littleEndian, noAssert), + bi; + i=0; while (i} buffer Anything that can be wrapped + * @param {(string|boolean)=} encoding String encoding if `buffer` is a string ("base64", "hex", "binary", defaults to + * "utf8") + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} A ByteBuffer wrapping `buffer` + * @expose + */ + ByteBuffer.wrap = function(buffer, encoding, littleEndian, noAssert) { + if (typeof encoding !== 'string') { + noAssert = littleEndian; + littleEndian = encoding; + encoding = undefined; + } + if (typeof buffer === 'string') { + if (typeof encoding === 'undefined') + encoding = "utf8"; + switch (encoding) { + case "base64": + return ByteBuffer.fromBase64(buffer, littleEndian); + case "hex": + return ByteBuffer.fromHex(buffer, littleEndian); + case "binary": + return ByteBuffer.fromBinary(buffer, littleEndian); + case "utf8": + return ByteBuffer.fromUTF8(buffer, littleEndian); + case "debug": + return ByteBuffer.fromDebug(buffer, littleEndian); + default: + throw Error("Unsupported encoding: "+encoding); + } + } + if (buffer === null || typeof buffer !== 'object') + throw TypeError("Illegal buffer"); + var bb; + if (ByteBuffer.isByteBuffer(buffer)) { + bb = ByteBufferPrototype.clone.call(buffer); + bb.markedOffset = -1; + return bb; + } + if (buffer instanceof Uint8Array) { // Extract ArrayBuffer from Uint8Array + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.length > 0) { // Avoid references to more than one EMPTY_BUFFER + bb.buffer = buffer.buffer; + bb.offset = buffer.byteOffset; + bb.limit = buffer.byteOffset + buffer.byteLength; + bb.view = new Uint8Array(buffer.buffer); + } + } else if (buffer instanceof ArrayBuffer) { // Reuse ArrayBuffer + bb = new ByteBuffer(0, littleEndian, noAssert); + if (buffer.byteLength > 0) { + bb.buffer = buffer; + bb.offset = 0; + bb.limit = buffer.byteLength; + bb.view = buffer.byteLength > 0 ? new Uint8Array(buffer) : null; + } + } else if (Object.prototype.toString.call(buffer) === "[object Array]") { // Create from octets + bb = new ByteBuffer(buffer.length, littleEndian, noAssert); + bb.limit = buffer.length; + for (var i=0; i} value Array of booleans to write + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.writeBitSet = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (!(value instanceof Array)) - throw TypeError("Illegal BitSet: Not an array"); + if (!this.noAssert) { + if (!(value instanceof Array)) + throw TypeError("Illegal BitSet: Not an array"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - - var start = offset, - bits = value.length, - bytes = (bits >> 3), - bit = 0, - k; - - offset += this.writeVarint32(bits,offset); - - while(bytes--) { - k = (!!value[bit++] & 1) | - ((!!value[bit++] & 1) << 1) | - ((!!value[bit++] & 1) << 2) | - ((!!value[bit++] & 1) << 3) | - ((!!value[bit++] & 1) << 4) | - ((!!value[bit++] & 1) << 5) | - ((!!value[bit++] & 1) << 6) | - ((!!value[bit++] & 1) << 7); - this.writeByte(k,offset++); - } - - if(bit < bits) { - var m = 0; k = 0; - while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); - this.writeByte(k,offset++); - } - - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - } - - /** - * Reads a BitSet as an array of booleans. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {Array - * @expose - */ - ByteBufferPrototype.readBitSet = function(offset) { + } + + var start = offset, + bits = value.length, + bytes = (bits >> 3), + bit = 0, + k; + + offset += this.writeVarint32(bits,offset); + + while(bytes--) { + k = (!!value[bit++] & 1) | + ((!!value[bit++] & 1) << 1) | + ((!!value[bit++] & 1) << 2) | + ((!!value[bit++] & 1) << 3) | + ((!!value[bit++] & 1) << 4) | + ((!!value[bit++] & 1) << 5) | + ((!!value[bit++] & 1) << 6) | + ((!!value[bit++] & 1) << 7); + this.writeByte(k,offset++); + } + + if(bit < bits) { + var m = 0; k = 0; + while(bit < bits) k = k | ((!!value[bit++] & 1) << (m++)); + this.writeByte(k,offset++); + } + + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + } + + /** + * Reads a BitSet as an array of booleans. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {Array + * @expose + */ + ByteBufferPrototype.readBitSet = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - - var ret = this.readVarint32(offset), - bits = ret.value, - bytes = (bits >> 3), - bit = 0, - value = [], - k; - - offset += ret.length; - - while(bytes--) { - k = this.readByte(offset++); - value[bit++] = !!(k & 0x01); - value[bit++] = !!(k & 0x02); - value[bit++] = !!(k & 0x04); - value[bit++] = !!(k & 0x08); - value[bit++] = !!(k & 0x10); - value[bit++] = !!(k & 0x20); - value[bit++] = !!(k & 0x40); - value[bit++] = !!(k & 0x80); - } - - if(bit < bits) { - var m = 0; - k = this.readByte(offset++); - while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); - } - - if (relative) { - this.offset = offset; - } - return value; - } - /** - * Reads the specified number of bytes. - * @param {number} length Number of bytes to read - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. - * @returns {!ByteBuffer} - * @expose - */ - ByteBufferPrototype.readBytes = function(length, offset) { + + var ret = this.readVarint32(offset), + bits = ret.value, + bytes = (bits >> 3), + bit = 0, + value = [], + k; + + offset += ret.length; + + while(bytes--) { + k = this.readByte(offset++); + value[bit++] = !!(k & 0x01); + value[bit++] = !!(k & 0x02); + value[bit++] = !!(k & 0x04); + value[bit++] = !!(k & 0x08); + value[bit++] = !!(k & 0x10); + value[bit++] = !!(k & 0x20); + value[bit++] = !!(k & 0x40); + value[bit++] = !!(k & 0x80); + } + + if(bit < bits) { + var m = 0; + k = this.readByte(offset++); + while(bit < bits) value[bit++] = !!((k >> (m++)) & 1); + } + + if (relative) { + this.offset = offset; + } + return value; + } + /** + * Reads the specified number of bytes. + * @param {number} length Number of bytes to read + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `length` if omitted. + * @returns {!ByteBuffer} + * @expose + */ + ByteBufferPrototype.readBytes = function(length, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var slice = this.slice(offset, offset + length); + } + var slice = this.slice(offset, offset + length); if (relative) this.offset += length; - return slice; - }; - - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; - - // types/ints/int8 - - /** - * Writes an 8bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt8 = function(value, offset) { + return slice; + }; + + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; + + // types/ints/int8 + + /** + * Writes an 8bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -542,69 +542,69 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 1; var capacity0 = this.buffer.byteLength; if (offset > capacity0) this.resize((capacity0 *= 2) > offset ? capacity0 : offset); offset -= 1; - this.view[offset] = value; + this.view[offset] = value; if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; - - /** - * Reads an 8bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt8 = function(offset) { + return this; + }; + + /** + * Writes an 8bit signed integer. This is an alias of {@link ByteBuffer#writeInt8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeByte = ByteBufferPrototype.writeInt8; + + /** + * Reads an 8bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view[offset]; - if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed + } + var value = this.view[offset]; + if ((value & 0x80) === 0x80) value = -(0xFF - value + 1); // Cast to signed if (relative) this.offset += 1; - return value; - }; - - /** - * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; - - /** - * Writes an 8bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint8 = function(value, offset) { + return value; + }; + + /** + * Reads an 8bit signed integer. This is an alias of {@link ByteBuffer#readInt8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readByte = ByteBufferPrototype.readInt8; + + /** + * Writes an 8bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint8 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -613,71 +613,71 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 1; var capacity1 = this.buffer.byteLength; if (offset > capacity1) this.resize((capacity1 *= 2) > offset ? capacity1 : offset); offset -= 1; - this.view[offset] = value; + this.view[offset] = value; if (relative) this.offset += 1; - return this; - }; - - /** - * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; - - /** - * Reads an 8bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint8 = function(offset) { + return this; + }; + + /** + * Writes an 8bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint8}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt8 = ByteBufferPrototype.writeUint8; + + /** + * Reads an 8bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint8 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var value = this.view[offset]; + } + var value = this.view[offset]; if (relative) this.offset += 1; - return value; - }; - - /** - * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; - - // types/ints/int16 - - /** - * Writes a 16bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeInt16 = function(value, offset) { + return value; + }; + + /** + * Reads an 8bit unsigned integer. This is an alias of {@link ByteBuffer#readUint8}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `1` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt8 = ByteBufferPrototype.readUint8; + + // types/ints/int16 + + /** + * Writes a 16bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeInt16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -686,88 +686,88 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 2; var capacity2 = this.buffer.byteLength; if (offset > capacity2) this.resize((capacity2 *= 2) > offset ? capacity2 : offset); offset -= 2; - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } if (relative) this.offset += 2; - return this; - }; - - /** - * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; - - /** - * Reads a 16bit signed integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readInt16 = function(offset) { + return this; + }; + + /** + * Writes a 16bit signed integer. This is an alias of {@link ByteBuffer#writeInt16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeShort = ByteBufferPrototype.writeInt16; + + /** + * Reads a 16bit signed integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readInt16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } - if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } + if ((value & 0x8000) === 0x8000) value = -(0xFFFF - value + 1); // Cast to signed if (relative) this.offset += 2; - return value; - }; - - /** - * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; - - /** - * Writes a 16bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUint16 = function(value, offset) { + return value; + }; + + /** + * Reads a 16bit signed integer. This is an alias of {@link ByteBuffer#readInt16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readShort = ByteBufferPrototype.readInt16; + + /** + * Writes a 16bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUint16 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -776,87 +776,87 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 2; var capacity3 = this.buffer.byteLength; if (offset > capacity3) this.resize((capacity3 *= 2) > offset ? capacity3 : offset); offset -= 2; - if (this.littleEndian) { - this.view[offset+1] = (value & 0xFF00) >>> 8; - this.view[offset ] = value & 0x00FF; - } else { - this.view[offset] = (value & 0xFF00) >>> 8; - this.view[offset+1] = value & 0x00FF; - } + if (this.littleEndian) { + this.view[offset+1] = (value & 0xFF00) >>> 8; + this.view[offset ] = value & 0x00FF; + } else { + this.view[offset] = (value & 0xFF00) >>> 8; + this.view[offset+1] = value & 0x00FF; + } if (relative) this.offset += 2; - return this; - }; - - /** - * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @throws {TypeError} If `offset` or `value` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; - - /** - * Reads a 16bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUint16 = function(offset) { + return this; + }; + + /** + * Writes a 16bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint16}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @throws {TypeError} If `offset` or `value` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.writeUInt16 = ByteBufferPrototype.writeUint16; + + /** + * Reads a 16bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUint16 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+2+") <= "+this.buffer.byteLength); - } - var value = 0; - if (this.littleEndian) { - value = this.view[offset ]; - value |= this.view[offset+1] << 8; - } else { - value = this.view[offset ] << 8; - value |= this.view[offset+1]; - } + } + var value = 0; + if (this.littleEndian) { + value = this.view[offset ]; + value |= this.view[offset+1] << 8; + } else { + value = this.view[offset ] << 8; + value |= this.view[offset+1]; + } if (relative) this.offset += 2; - return value; - }; - - /** - * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. - * @function - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. - * @returns {number} Value read - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @expose - */ - ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; - - // types/ints/int32 - - /** - * Writes a 32bit signed integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeInt32 = function(value, offset) { + return value; + }; + + /** + * Reads a 16bit unsigned integer. This is an alias of {@link ByteBuffer#readUint16}. + * @function + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `2` if omitted. + * @returns {number} Value read + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @expose + */ + ByteBufferPrototype.readUInt16 = ByteBufferPrototype.readUint16; + + // types/ints/int32 + + /** + * Writes a 32bit signed integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -865,7 +865,7 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 4; var capacity4 = this.buffer.byteLength; if (offset > capacity4) @@ -883,34 +883,34 @@ this.view[offset+3] = value & 0xFF; } if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; - - /** - * Reads a 32bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit signed integer. This is an alias of {@link ByteBuffer#writeInt32}. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeInt = ByteBufferPrototype.writeInt32; + + /** + * Reads a 32bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = 0; + } + var value = 0; if (this.littleEndian) { value = this.view[offset+2] << 16; value |= this.view[offset+1] << 8; @@ -922,29 +922,29 @@ value |= this.view[offset+3]; value += this.view[offset ] << 24 >>> 0; } - value |= 0; // Cast to signed + value |= 0; // Cast to signed if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. - * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; - - /** - * Writes a 32bit unsigned integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUint32 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit signed integer. This is an alias of {@link ByteBuffer#readInt32}. + * @param {number=} offset Offset to read from. Will use and advance {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readInt = ByteBufferPrototype.readInt32; + + /** + * Writes a 32bit unsigned integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value >>>= 0; @@ -953,7 +953,7 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 4; var capacity5 = this.buffer.byteLength; if (offset > capacity5) @@ -971,35 +971,35 @@ this.view[offset+3] = value & 0xFF; } if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @expose - */ - ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; - - /** - * Reads a 32bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUint32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @expose + */ + ByteBufferPrototype.writeUInt32 = ByteBufferPrototype.writeUint32; + + /** + * Reads a 32bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = 0; + } + var value = 0; if (this.littleEndian) { value = this.view[offset+2] << 16; value |= this.view[offset+1] << 8; @@ -1012,33 +1012,33 @@ value += this.view[offset ] << 24 >>> 0; } if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} Value read - * @expose - */ - ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; - - // types/ints/int64 - - if (Long) { - - /** - * Writes a 64bit signed integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeInt64 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit unsigned integer. This is an alias of {@link ByteBuffer#readUint32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} Value read + * @expose + */ + ByteBufferPrototype.readUInt32 = ByteBufferPrototype.readUint32; + + // types/ints/int64 + + if (Long) { + + /** + * Writes a 64bit signed integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeInt64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1050,7 +1050,7 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1060,105 +1060,105 @@ if (offset > capacity6) this.resize((capacity6 *= 2) > offset ? capacity6 : offset); offset -= 8; - var lo = value.low, - hi = value.high; - if (this.littleEndian) { + var lo = value.low, + hi = value.high; + if (this.littleEndian) { this.view[offset+3] = (lo >>> 24) & 0xFF; this.view[offset+2] = (lo >>> 16) & 0xFF; this.view[offset+1] = (lo >>> 8) & 0xFF; this.view[offset ] = lo & 0xFF; - offset += 4; + offset += 4; this.view[offset+3] = (hi >>> 24) & 0xFF; this.view[offset+2] = (hi >>> 16) & 0xFF; this.view[offset+1] = (hi >>> 8) & 0xFF; this.view[offset ] = hi & 0xFF; - } else { + } else { this.view[offset ] = (hi >>> 24) & 0xFF; this.view[offset+1] = (hi >>> 16) & 0xFF; this.view[offset+2] = (hi >>> 8) & 0xFF; this.view[offset+3] = hi & 0xFF; - offset += 4; + offset += 4; this.view[offset ] = (lo >>> 24) & 0xFF; this.view[offset+1] = (lo >>> 16) & 0xFF; this.view[offset+2] = (lo >>> 8) & 0xFF; this.view[offset+3] = lo & 0xFF; - } + } if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; - - /** - * Reads a 64bit signed integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readInt64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit signed integer. This is an alias of {@link ByteBuffer#writeInt64}. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeLong = ByteBufferPrototype.writeInt64; + + /** + * Reads a 64bit signed integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readInt64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var lo = 0, - hi = 0; - if (this.littleEndian) { + } + var lo = 0, + hi = 0; + if (this.littleEndian) { lo = this.view[offset+2] << 16; lo |= this.view[offset+1] << 8; lo |= this.view[offset ]; lo += this.view[offset+3] << 24 >>> 0; - offset += 4; + offset += 4; hi = this.view[offset+2] << 16; hi |= this.view[offset+1] << 8; hi |= this.view[offset ]; hi += this.view[offset+3] << 24 >>> 0; - } else { + } else { hi = this.view[offset+1] << 16; hi |= this.view[offset+2] << 8; hi |= this.view[offset+3]; hi += this.view[offset ] << 24 >>> 0; - offset += 4; + offset += 4; lo = this.view[offset+1] << 16; lo |= this.view[offset+2] << 8; lo |= this.view[offset+3]; lo += this.view[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, false); + } + var value = new Long(lo, hi, false); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; - - /** - * Writes a 64bit unsigned integer. - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUint64 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit signed integer. This is an alias of {@link ByteBuffer#readInt64}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readLong = ByteBufferPrototype.readInt64; + + /** + * Writes a 64bit unsigned integer. + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1170,7 +1170,7 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1180,431 +1180,431 @@ if (offset > capacity7) this.resize((capacity7 *= 2) > offset ? capacity7 : offset); offset -= 8; - var lo = value.low, - hi = value.high; - if (this.littleEndian) { + var lo = value.low, + hi = value.high; + if (this.littleEndian) { this.view[offset+3] = (lo >>> 24) & 0xFF; this.view[offset+2] = (lo >>> 16) & 0xFF; this.view[offset+1] = (lo >>> 8) & 0xFF; this.view[offset ] = lo & 0xFF; - offset += 4; + offset += 4; this.view[offset+3] = (hi >>> 24) & 0xFF; this.view[offset+2] = (hi >>> 16) & 0xFF; this.view[offset+1] = (hi >>> 8) & 0xFF; this.view[offset ] = hi & 0xFF; - } else { + } else { this.view[offset ] = (hi >>> 24) & 0xFF; this.view[offset+1] = (hi >>> 16) & 0xFF; this.view[offset+2] = (hi >>> 8) & 0xFF; this.view[offset+3] = hi & 0xFF; - offset += 4; + offset += 4; this.view[offset ] = (lo >>> 24) & 0xFF; this.view[offset+1] = (lo >>> 16) & 0xFF; this.view[offset+2] = (lo >>> 8) & 0xFF; this.view[offset+3] = lo & 0xFF; - } + } if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. - * @function - * @param {number|!Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; - - /** - * Reads a 64bit unsigned integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUint64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit unsigned integer. This is an alias of {@link ByteBuffer#writeUint64}. + * @function + * @param {number|!Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeUInt64 = ByteBufferPrototype.writeUint64; + + /** + * Reads a 64bit unsigned integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var lo = 0, - hi = 0; - if (this.littleEndian) { + } + var lo = 0, + hi = 0; + if (this.littleEndian) { lo = this.view[offset+2] << 16; lo |= this.view[offset+1] << 8; lo |= this.view[offset ]; lo += this.view[offset+3] << 24 >>> 0; - offset += 4; + offset += 4; hi = this.view[offset+2] << 16; hi |= this.view[offset+1] << 8; hi |= this.view[offset ]; hi += this.view[offset+3] << 24 >>> 0; - } else { + } else { hi = this.view[offset+1] << 16; hi |= this.view[offset+2] << 8; hi |= this.view[offset+3]; hi += this.view[offset ] << 24 >>> 0; - offset += 4; + offset += 4; lo = this.view[offset+1] << 16; lo |= this.view[offset+2] << 8; lo |= this.view[offset+3]; lo += this.view[offset ] << 24 >>> 0; - } - var value = new Long(lo, hi, true); + } + var value = new Long(lo, hi, true); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!Long} - * @expose - */ - ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; - - } // Long - - - // types/floats/float32 - - /* - ieee754 - https://github.com/feross/ieee754 - - The MIT License (MIT) - - Copyright (c) Feross Aboukhadijeh - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */ - - /** - * Reads an IEEE754 float from a byte array. - * @param {!Array} buffer - * @param {number} offset - * @param {boolean} isLE - * @param {number} mLen - * @param {number} nBytes - * @returns {number} - * @inner - */ - function ieee754_read(buffer, offset, isLE, mLen, nBytes) { - var e, m, - eLen = nBytes * 8 - mLen - 1, - eMax = (1 << eLen) - 1, - eBias = eMax >> 1, - nBits = -7, - i = isLE ? (nBytes - 1) : 0, - d = isLE ? -1 : 1, - s = buffer[offset + i]; - - i += d; - - e = s & ((1 << (-nBits)) - 1); - s >>= (-nBits); - nBits += eLen; - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1); - e >>= (-nBits); - nBits += mLen; - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity); - } else { - m = m + Math.pow(2, mLen); - e = e - eBias; - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen); - } - - /** - * Writes an IEEE754 float to a byte array. - * @param {!Array} buffer - * @param {number} value - * @param {number} offset - * @param {boolean} isLE - * @param {number} mLen - * @param {number} nBytes - * @inner - */ - function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c, - eLen = nBytes * 8 - mLen - 1, - eMax = (1 << eLen) - 1, - eBias = eMax >> 1, - rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), - i = isLE ? 0 : (nBytes - 1), - d = isLE ? 1 : -1, - s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; - - value = Math.abs(value); - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; - e = eMax; - } else { - e = Math.floor(Math.log(value) / Math.LN2); - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - if (value * c >= 2) { - e++; - c /= 2; - } - - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m; - eLen += mLen; - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128; - } - - /** - * Writes a 32bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat32 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit unsigned integer. This is an alias of {@link ByteBuffer#readUint64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!Long} + * @expose + */ + ByteBufferPrototype.readUInt64 = ByteBufferPrototype.readUint64; + + } // Long + + + // types/floats/float32 + + /* + ieee754 - https://github.com/feross/ieee754 + + The MIT License (MIT) + + Copyright (c) Feross Aboukhadijeh + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + */ + + /** + * Reads an IEEE754 float from a byte array. + * @param {!Array} buffer + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @returns {number} + * @inner + */ + function ieee754_read(buffer, offset, isLE, mLen, nBytes) { + var e, m, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + nBits = -7, + i = isLE ? (nBytes - 1) : 0, + d = isLE ? -1 : 1, + s = buffer[offset + i]; + + i += d; + + e = s & ((1 << (-nBits)) - 1); + s >>= (-nBits); + nBits += eLen; + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1); + e >>= (-nBits); + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity); + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); + } + + /** + * Writes an IEEE754 float to a byte array. + * @param {!Array} buffer + * @param {number} value + * @param {number} offset + * @param {boolean} isLE + * @param {number} mLen + * @param {number} nBytes + * @inner + */ + function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c, + eLen = nBytes * 8 - mLen - 1, + eMax = (1 << eLen) - 1, + eBias = eMax >> 1, + rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0), + i = isLE ? 0 : (nBytes - 1), + d = isLE ? 1 : -1, + s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0; + + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m; + eLen += mLen; + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128; + } + + /** + * Writes a 32bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 4; var capacity8 = this.buffer.byteLength; if (offset > capacity8) this.resize((capacity8 *= 2) > offset ? capacity8 : offset); offset -= 4; - ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); + ieee754_write(this.view, value, offset, this.littleEndian, 23, 4); if (relative) this.offset += 4; - return this; - }; - - /** - * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; - - /** - * Reads a 32bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat32 = function(offset) { + return this; + }; + + /** + * Writes a 32bit float. This is an alias of {@link ByteBuffer#writeFloat32}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat = ByteBufferPrototype.writeFloat32; + + /** + * Reads a 32bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); + } + var value = ieee754_read(this.view, offset, this.littleEndian, 23, 4); if (relative) this.offset += 4; - return value; - }; - - /** - * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; - - // types/floats/float64 - - /** - * Writes a 64bit float. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeFloat64 = function(value, offset) { + return value; + }; + + /** + * Reads a 32bit float. This is an alias of {@link ByteBuffer#readFloat32}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `4` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat = ByteBufferPrototype.readFloat32; + + // types/floats/float64 + + /** + * Writes a 64bit float. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeFloat64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof value !== 'number') - throw TypeError("Illegal value: "+value+" (not a number)"); + if (!this.noAssert) { + if (typeof value !== 'number') + throw TypeError("Illegal value: "+value+" (not a number)"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } offset += 8; var capacity9 = this.buffer.byteLength; if (offset > capacity9) this.resize((capacity9 *= 2) > offset ? capacity9 : offset); offset -= 8; - ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); + ieee754_write(this.view, value, offset, this.littleEndian, 52, 8); if (relative) this.offset += 8; - return this; - }; - - /** - * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. - * @function - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; - - /** - * Reads a 64bit float. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readFloat64 = function(offset) { + return this; + }; + + /** + * Writes a 64bit float. This is an alias of {@link ByteBuffer#writeFloat64}. + * @function + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeDouble = ByteBufferPrototype.writeFloat64; + + /** + * Reads a 64bit float. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readFloat64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+8+") <= "+this.buffer.byteLength); - } - var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); + } + var value = ieee754_read(this.view, offset, this.littleEndian, 52, 8); if (relative) this.offset += 8; - return value; - }; - - /** - * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. - * @function - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. - * @returns {number} - * @expose - */ - ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; - - - // types/varints/varint32 - - /** - * Maximum number of bytes required to store a 32bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT32_BYTES = 5; - - /** - * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. - * @param {number} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} - * @expose - */ - ByteBuffer.calculateVarint32 = function(value) { - // ref: src/google/protobuf/io/coded_stream.cc - value = value >>> 0; - if (value < 1 << 7 ) return 1; - else if (value < 1 << 14) return 2; - else if (value < 1 << 21) return 3; - else if (value < 1 << 28) return 4; - else return 5; - }; - - /** - * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. - * @param {number} n Signed 32bit integer - * @returns {number} Unsigned zigzag encoded 32bit integer - * @expose - */ - ByteBuffer.zigZagEncode32 = function(n) { - return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h - }; - - /** - * Decodes a zigzag encoded signed 32bit integer. - * @param {number} n Unsigned zigzag encoded 32bit integer - * @returns {number} Signed 32bit integer - * @expose - */ - ByteBuffer.zigZagDecode32 = function(n) { - return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h - }; - - /** - * Writes a 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32 = function(value, offset) { + return value; + }; + + /** + * Reads a 64bit float. This is an alias of {@link ByteBuffer#readFloat64}. + * @function + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by `8` if omitted. + * @returns {number} + * @expose + */ + ByteBufferPrototype.readDouble = ByteBufferPrototype.readFloat64; + + + // types/varints/varint32 + + /** + * Maximum number of bytes required to store a 32bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT32_BYTES = 5; + + /** + * Calculates the actual number of bytes required to store a 32bit base 128 variable-length integer. + * @param {number} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT32_BYTES} + * @expose + */ + ByteBuffer.calculateVarint32 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + value = value >>> 0; + if (value < 1 << 7 ) return 1; + else if (value < 1 << 14) return 2; + else if (value < 1 << 21) return 3; + else if (value < 1 << 28) return 4; + else return 5; + }; + + /** + * Zigzag encodes a signed 32bit integer so that it can be effectively used with varint encoding. + * @param {number} n Signed 32bit integer + * @returns {number} Unsigned zigzag encoded 32bit integer + * @expose + */ + ByteBuffer.zigZagEncode32 = function(n) { + return (((n |= 0) << 1) ^ (n >> 31)) >>> 0; // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Decodes a zigzag encoded signed 32bit integer. + * @param {number} n Unsigned zigzag encoded 32bit integer + * @returns {number} Signed 32bit integer + * @expose + */ + ByteBuffer.zigZagDecode32 = function(n) { + return ((n >>> 1) ^ -(n & 1)) | 0; // // ref: src/google/protobuf/wire_format_lite.h + }; + + /** + * Writes a 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -1613,190 +1613,190 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var size = ByteBuffer.calculateVarint32(value), - b; + } + var size = ByteBuffer.calculateVarint32(value), + b; offset += size; var capacity10 = this.buffer.byteLength; if (offset > capacity10) this.resize((capacity10 *= 2) > offset ? capacity10 : offset); offset -= size; - value >>>= 0; - while (value >= 0x80) { - b = (value & 0x7f) | 0x80; - this.view[offset++] = b; - value >>>= 7; - } - this.view[offset++] = value; - if (relative) { - this.offset = offset; - return this; - } - return size; - }; - - /** - * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. - * @param {number} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { - return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); - }; - - /** - * Reads a 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available - * to fully decode the varint. - * @expose - */ - ByteBufferPrototype.readVarint32 = function(offset) { + value >>>= 0; + while (value >= 0x80) { + b = (value & 0x7f) | 0x80; + this.view[offset++] = b; + value >>>= 7; + } + this.view[offset++] = value; + if (relative) { + this.offset = offset; + return this; + } + return size; + }; + + /** + * Writes a zig-zag encoded (signed) 32bit base 128 variable-length integer. + * @param {number} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} this if `offset` is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeVarint32ZigZag = function(value, offset) { + return this.writeVarint32(ByteBuffer.zigZagEncode32(value), offset); + }; + + /** + * Reads a 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint. Has a property `truncated = true` if there is not enough data available + * to fully decode the varint. + * @expose + */ + ByteBufferPrototype.readVarint32 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var c = 0, - value = 0 >>> 0, - b; - do { - if (!this.noAssert && offset > this.limit) { - var err = Error("Truncated"); - err['truncated'] = true; - throw err; - } - b = this.view[offset++]; - if (c < 5) - value |= (b & 0x7f) << (7*c); - ++c; - } while ((b & 0x80) !== 0); - value |= 0; - if (relative) { - this.offset = offset; - return value; - } - return { - "value": value, - "length": c - }; - }; - - /** - * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read - * and the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint32ZigZag = function(offset) { - var val = this.readVarint32(offset); - if (typeof val === 'object') - val["value"] = ByteBuffer.zigZagDecode32(val["value"]); - else - val = ByteBuffer.zigZagDecode32(val); - return val; - }; - - // types/varints/varint64 - - if (Long) { - - /** - * Maximum number of bytes required to store a 64bit base 128 variable-length integer. - * @type {number} - * @const - * @expose - */ - ByteBuffer.MAX_VARINT64_BYTES = 10; - - /** - * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. - * @param {number|!Long} value Value to encode - * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} - * @expose - */ - ByteBuffer.calculateVarint64 = function(value) { + } + var c = 0, + value = 0 >>> 0, + b; + do { + if (!this.noAssert && offset > this.limit) { + var err = Error("Truncated"); + err['truncated'] = true; + throw err; + } + b = this.view[offset++]; + if (c < 5) + value |= (b & 0x7f) << (7*c); + ++c; + } while ((b & 0x80) !== 0); + value |= 0; + if (relative) { + this.offset = offset; + return value; + } + return { + "value": value, + "length": c + }; + }; + + /** + * Reads a zig-zag encoded (signed) 32bit base 128 variable-length integer. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {number|!{value: number, length: number}} The value read if offset is omitted, else the value read + * and the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint32ZigZag = function(offset) { + var val = this.readVarint32(offset); + if (typeof val === 'object') + val["value"] = ByteBuffer.zigZagDecode32(val["value"]); + else + val = ByteBuffer.zigZagDecode32(val); + return val; + }; + + // types/varints/varint64 + + if (Long) { + + /** + * Maximum number of bytes required to store a 64bit base 128 variable-length integer. + * @type {number} + * @const + * @expose + */ + ByteBuffer.MAX_VARINT64_BYTES = 10; + + /** + * Calculates the actual number of bytes required to store a 64bit base 128 variable-length integer. + * @param {number|!Long} value Value to encode + * @returns {number} Number of bytes required. Capped to {@link ByteBuffer.MAX_VARINT64_BYTES} + * @expose + */ + ByteBuffer.calculateVarint64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') value = Long.fromString(value); - // ref: src/google/protobuf/io/coded_stream.cc - var part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; - if (part2 == 0) { - if (part1 == 0) { - if (part0 < 1 << 14) - return part0 < 1 << 7 ? 1 : 2; - else - return part0 < 1 << 21 ? 3 : 4; - } else { - if (part1 < 1 << 14) - return part1 < 1 << 7 ? 5 : 6; - else - return part1 < 1 << 21 ? 7 : 8; - } - } else - return part2 < 1 << 7 ? 9 : 10; - }; - - /** - * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. - * @param {number|!Long} value Signed long - * @returns {!Long} Unsigned zigzag encoded long - * @expose - */ - ByteBuffer.zigZagEncode64 = function(value) { + // ref: src/google/protobuf/io/coded_stream.cc + var part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + if (part2 == 0) { + if (part1 == 0) { + if (part0 < 1 << 14) + return part0 < 1 << 7 ? 1 : 2; + else + return part0 < 1 << 21 ? 3 : 4; + } else { + if (part1 < 1 << 14) + return part1 < 1 << 7 ? 5 : 6; + else + return part1 < 1 << 21 ? 7 : 8; + } + } else + return part2 < 1 << 7 ? 9 : 10; + }; + + /** + * Zigzag encodes a signed 64bit integer so that it can be effectively used with varint encoding. + * @param {number|!Long} value Signed long + * @returns {!Long} Unsigned zigzag encoded long + * @expose + */ + ByteBuffer.zigZagEncode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); - }; - - /** - * Decodes a zigzag encoded signed 64bit integer. - * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number - * @returns {!Long} Signed long - * @expose - */ - ByteBuffer.zigZagDecode64 = function(value) { + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftLeft(1).xor(value.shiftRight(63)).toUnsigned(); + }; + + /** + * Decodes a zigzag encoded signed 64bit integer. + * @param {!Long|number} value Unsigned zigzag encoded long or JavaScript number + * @returns {!Long} Signed long + * @expose + */ + ByteBuffer.zigZagDecode64 = function(value) { if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - // ref: src/google/protobuf/wire_format_lite.h - return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); - }; - - /** - * Writes a 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64 = function(value, offset) { + // ref: src/google/protobuf/wire_format_lite.h + return value.shiftRightUnsigned(1).xor(value.and(Long.ONE).toSigned().negate()).toSigned(); + }; + + /** + * Writes a 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64 = function(value, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof value === 'number') value = Long.fromNumber(value); else if (typeof value === 'string') @@ -1808,236 +1808,236 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } + } if (typeof value === 'number') value = Long.fromNumber(value, false); else if (typeof value === 'string') value = Long.fromString(value, false); else if (value.unsigned !== false) value = value.toSigned(); - var size = ByteBuffer.calculateVarint64(value), - part0 = value.toInt() >>> 0, - part1 = value.shiftRightUnsigned(28).toInt() >>> 0, - part2 = value.shiftRightUnsigned(56).toInt() >>> 0; + var size = ByteBuffer.calculateVarint64(value), + part0 = value.toInt() >>> 0, + part1 = value.shiftRightUnsigned(28).toInt() >>> 0, + part2 = value.shiftRightUnsigned(56).toInt() >>> 0; offset += size; var capacity11 = this.buffer.byteLength; if (offset > capacity11) this.resize((capacity11 *= 2) > offset ? capacity11 : offset); offset -= size; - switch (size) { - case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; - case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; - case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; - case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; - case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; - case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; - case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; - case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; - case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; - case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; - } - if (relative) { - this.offset += size; - return this; - } else { - return size; - } - }; - - /** - * Writes a zig-zag encoded 64bit base 128 variable-length integer. - * @param {number|Long} value Value to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { - return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); - }; - - /** - * Reads a 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64 = function(offset) { + switch (size) { + case 10: this.view[offset+9] = (part2 >>> 7) & 0x01; + case 9 : this.view[offset+8] = size !== 9 ? (part2 ) | 0x80 : (part2 ) & 0x7F; + case 8 : this.view[offset+7] = size !== 8 ? (part1 >>> 21) | 0x80 : (part1 >>> 21) & 0x7F; + case 7 : this.view[offset+6] = size !== 7 ? (part1 >>> 14) | 0x80 : (part1 >>> 14) & 0x7F; + case 6 : this.view[offset+5] = size !== 6 ? (part1 >>> 7) | 0x80 : (part1 >>> 7) & 0x7F; + case 5 : this.view[offset+4] = size !== 5 ? (part1 ) | 0x80 : (part1 ) & 0x7F; + case 4 : this.view[offset+3] = size !== 4 ? (part0 >>> 21) | 0x80 : (part0 >>> 21) & 0x7F; + case 3 : this.view[offset+2] = size !== 3 ? (part0 >>> 14) | 0x80 : (part0 >>> 14) & 0x7F; + case 2 : this.view[offset+1] = size !== 2 ? (part0 >>> 7) | 0x80 : (part0 >>> 7) & 0x7F; + case 1 : this.view[offset ] = size !== 1 ? (part0 ) | 0x80 : (part0 ) & 0x7F; + } + if (relative) { + this.offset += size; + return this; + } else { + return size; + } + }; + + /** + * Writes a zig-zag encoded 64bit base 128 variable-length integer. + * @param {number|Long} value Value to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeVarint64ZigZag = function(value, offset) { + return this.writeVarint64(ByteBuffer.zigZagEncode64(value), offset); + }; + + /** + * Reads a 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64 = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - // ref: src/google/protobuf/io/coded_stream.cc - var start = offset, - part0 = 0, - part1 = 0, - part2 = 0, - b = 0; - b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { - throw Error("Buffer overrun"); }}}}}}}}}} - var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); - if (relative) { - this.offset = offset; - return value; - } else { - return { - 'value': value, - 'length': offset-start - }; - } - }; - - /** - * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and - * the actual number of bytes read. - * @throws {Error} If it's not a valid varint - * @expose - */ - ByteBufferPrototype.readVarint64ZigZag = function(offset) { - var val = this.readVarint64(offset); - if (val && val['value'] instanceof Long) - val["value"] = ByteBuffer.zigZagDecode64(val["value"]); - else - val = ByteBuffer.zigZagDecode64(val); - return val; - }; - - } // Long - - - // types/strings/cstring - - /** - * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL - * characters itself. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * contained in `str` + 1 if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written - * @expose - */ - ByteBufferPrototype.writeCString = function(str, offset) { + } + // ref: src/google/protobuf/io/coded_stream.cc + var start = offset, + part0 = 0, + part1 = 0, + part2 = 0, + b = 0; + b = this.view[offset++]; part0 = (b & 0x7F) ; if ( b & 0x80 ) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part0 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 14; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part1 |= (b & 0x7F) << 21; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 = (b & 0x7F) ; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + b = this.view[offset++]; part2 |= (b & 0x7F) << 7; if ((b & 0x80) || (this.noAssert && typeof b === 'undefined')) { + throw Error("Buffer overrun"); }}}}}}}}}} + var value = Long.fromBits(part0 | (part1 << 28), (part1 >>> 4) | (part2) << 24, false); + if (relative) { + this.offset = offset; + return value; + } else { + return { + 'value': value, + 'length': offset-start + }; + } + }; + + /** + * Reads a zig-zag encoded 64bit base 128 variable-length integer. Requires Long.js. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!Long|!{value: Long, length: number}} The value read if offset is omitted, else the value read and + * the actual number of bytes read. + * @throws {Error} If it's not a valid varint + * @expose + */ + ByteBufferPrototype.readVarint64ZigZag = function(offset) { + var val = this.readVarint64(offset); + if (val && val['value'] instanceof Long) + val["value"] = ByteBuffer.zigZagDecode64(val["value"]); + else + val = ByteBuffer.zigZagDecode64(val); + return val; + }; + + } // Long + + + // types/strings/cstring + + /** + * Writes a NULL-terminated UTF8 encoded string. For this to work the specified string must not contain any NULL + * characters itself. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * contained in `str` + 1 if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written + * @expose + */ + ByteBufferPrototype.writeCString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - var i, - k = str.length; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - for (i=0; i>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - // UTF8 strings do not contain zero bytes in between except for the zero character, so: - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + } + // UTF8 strings do not contain zero bytes in between except for the zero character, so: + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k+1; var capacity12 = this.buffer.byteLength; if (offset > capacity12) this.resize((capacity12 *= 2) > offset ? capacity12 : offset); offset -= k+1; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - this.view[offset++] = 0; - if (relative) { - this.offset = offset; - return this; - } - return k; - }; - - /** - * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters - * itself. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readCString = function(offset) { + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + this.view[offset++] = 0; + if (relative) { + this.offset = offset; + return this; + } + return k; + }; + + /** + * Reads a NULL-terminated UTF8 encoded string. For this to work the string read must not contain any NULL characters + * itself. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readCString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var start = offset, - temp; - // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: - var sd, b = -1; - utfx.decodeUTF8toUTF16(function() { - if (b === 0) return null; - if (offset >= this.limit) - throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); - b = this.view[offset++]; - return b === 0 ? null : b; - }.bind(this), sd = stringDestination(), true); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - }; - - // types/strings/istring - - /** - * Writes a length as uint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeIString = function(str, offset) { + } + var start = offset, + temp; + // UTF8 strings do not contain zero bytes in between except for the zero character itself, so: + var sd, b = -1; + utfx.decodeUTF8toUTF16(function() { + if (b === 0) return null; + if (offset >= this.limit) + throw RangeError("Illegal range: Truncated data, "+offset+" < "+this.limit); + b = this.view[offset++]; + return b === 0 ? null : b; + }.bind(this), sd = stringDestination(), true); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + }; + + // types/strings/istring + + /** + * Writes a length as uint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeIString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + } + var start = offset, + k; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; offset += 4+k; var capacity13 = this.buffer.byteLength; if (offset > capacity13) @@ -2054,166 +2054,166 @@ this.view[offset+2] = (k >>> 8) & 0xFF; this.view[offset+3] = k & 0xFF; } - offset += 4; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - if (offset !== start + 4 + k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as uint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readIString = function(offset) { + offset += 4; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (offset !== start + 4 + k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+4+k)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as uint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readIString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+4+") <= "+this.buffer.byteLength); - } - var start = offset; - var len = this.readUint32(offset); - var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); - offset += str['length']; - if (relative) { - this.offset = offset; - return str['string']; - } else { - return { - 'string': str['string'], - 'length': offset - start - }; - } - }; - - // types/strings/utf8string - - /** - * Metrics representing number of UTF8 characters. Evaluates to `c`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_CHARS = 'c'; - - /** - * Metrics representing number of bytes. Evaluates to `b`. - * @type {string} - * @const - * @expose - */ - ByteBuffer.METRICS_BYTES = 'b'; - - /** - * Writes an UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeUTF8String = function(str, offset) { + } + var start = offset; + var len = this.readUint32(offset); + var str = this.readUTF8String(len, ByteBuffer.METRICS_BYTES, offset += 4); + offset += str['length']; + if (relative) { + this.offset = offset; + return str['string']; + } else { + return { + 'string': str['string'], + 'length': offset - start + }; + } + }; + + // types/strings/utf8string + + /** + * Metrics representing number of UTF8 characters. Evaluates to `c`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_CHARS = 'c'; + + /** + * Metrics representing number of bytes. Evaluates to `b`. + * @type {string} + * @const + * @expose + */ + ByteBuffer.METRICS_BYTES = 'b'; + + /** + * Writes an UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeUTF8String = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var k; - var start = offset; - k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; + } + var k; + var start = offset; + k = utfx.calculateUTF16asUTF8(stringSource(str))[1]; offset += k; var capacity14 = this.buffer.byteLength; if (offset > capacity14) this.resize((capacity14 *= 2) > offset ? capacity14 : offset); offset -= k; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. - * @function - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. - * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. - * @expose - */ - ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; - - /** - * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's - * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. - * @param {string} str String to calculate - * @returns {number} Number of UTF8 characters - * @expose - */ - ByteBuffer.calculateUTF8Chars = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[0]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateUTF8Bytes = function(str) { - return utfx.calculateUTF16asUTF8(stringSource(str))[1]; - }; - - /** - * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}. - * @function - * @param {string} str String to calculate - * @returns {number} Number of UTF8 bytes - * @expose - */ - ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes; - - /** - * Reads an UTF8 encoded string. - * @param {number} length Number of characters or bytes to read. - * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { - if (typeof metrics === 'number') { - offset = metrics; - metrics = undefined; - } + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Writes an UTF8 encoded string. This is an alias of {@link ByteBuffer#writeUTF8String}. + * @function + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} if omitted. + * @returns {!ByteBuffer|number} this if offset is omitted, else the actual number of bytes written. + * @expose + */ + ByteBufferPrototype.writeString = ByteBufferPrototype.writeUTF8String; + + /** + * Calculates the number of UTF8 characters of a string. JavaScript itself uses UTF-16, so that a string's + * `length` property does not reflect its actual UTF8 size if it contains code points larger than 0xFFFF. + * @param {string} str String to calculate + * @returns {number} Number of UTF8 characters + * @expose + */ + ByteBuffer.calculateUTF8Chars = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[0]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateUTF8Bytes = function(str) { + return utfx.calculateUTF16asUTF8(stringSource(str))[1]; + }; + + /** + * Calculates the number of UTF8 bytes of a string. This is an alias of {@link ByteBuffer.calculateUTF8Bytes}. + * @function + * @param {string} str String to calculate + * @returns {number} Number of UTF8 bytes + * @expose + */ + ByteBuffer.calculateString = ByteBuffer.calculateUTF8Bytes; + + /** + * Reads an UTF8 encoded string. + * @param {number} length Number of characters or bytes to read. + * @param {string=} metrics Metrics specifying what `length` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readUTF8String = function(length, metrics, offset) { + if (typeof metrics === 'number') { + offset = metrics; + metrics = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; - if (!this.noAssert) { + if (typeof metrics === 'undefined') metrics = ByteBuffer.METRICS_CHARS; + if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; @@ -2222,274 +2222,274 @@ offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var i = 0, - start = offset, - sd; - if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser - sd = stringDestination(); - utfx.decodeUTF8(function() { - return i < length && offset < this.limit ? this.view[offset++] : null; - }.bind(this), function(cp) { - ++i; utfx.UTF8toUTF16(cp, sd); - }); - if (i !== length) - throw RangeError("Illegal range: Truncated data, "+i+" == "+length); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - "string": sd(), - "length": offset - start - }; - } - } else if (metrics === ByteBuffer.METRICS_BYTES) { - if (!this.noAssert) { + } + var i = 0, + start = offset, + sd; + if (metrics === ByteBuffer.METRICS_CHARS) { // The same for node and the browser + sd = stringDestination(); + utfx.decodeUTF8(function() { + return i < length && offset < this.limit ? this.view[offset++] : null; + }.bind(this), function(cp) { + ++i; utfx.UTF8toUTF16(cp, sd); + }); + if (i !== length) + throw RangeError("Illegal range: Truncated data, "+i+" == "+length); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + "string": sd(), + "length": offset - start + }; + } + } else if (metrics === ByteBuffer.METRICS_BYTES) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + length > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+length+") <= "+this.buffer.byteLength); - } - var k = offset + length; - utfx.decodeUTF8toUTF16(function() { - return offset < k ? this.view[offset++] : null; - }.bind(this), sd = stringDestination(), this.noAssert); - if (offset !== k) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); - if (relative) { - this.offset = offset; - return sd(); - } else { - return { - 'string': sd(), - 'length': offset - start - }; - } - } else - throw TypeError("Unsupported metrics: "+metrics); - }; - - /** - * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. - * @function - * @param {number} length Number of characters or bytes to read - * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to - * {@link ByteBuffer.METRICS_CHARS}. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - */ - ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; - - // types/strings/vstring - - /** - * Writes a length as varint32 prefixed UTF8 encoded string. - * @param {string} str String to write - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written - * @expose - * @see ByteBuffer#writeVarint32 - */ - ByteBufferPrototype.writeVString = function(str, offset) { + } + var k = offset + length; + utfx.decodeUTF8toUTF16(function() { + return offset < k ? this.view[offset++] : null; + }.bind(this), sd = stringDestination(), this.noAssert); + if (offset !== k) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+k); + if (relative) { + this.offset = offset; + return sd(); + } else { + return { + 'string': sd(), + 'length': offset - start + }; + } + } else + throw TypeError("Unsupported metrics: "+metrics); + }; + + /** + * Reads an UTF8 encoded string. This is an alias of {@link ByteBuffer#readUTF8String}. + * @function + * @param {number} length Number of characters or bytes to read + * @param {number=} metrics Metrics specifying what `n` is meant to count. Defaults to + * {@link ByteBuffer.METRICS_CHARS}. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + */ + ByteBufferPrototype.readString = ByteBufferPrototype.readUTF8String; + + // types/strings/vstring + + /** + * Writes a length as varint32 prefixed UTF8 encoded string. + * @param {string} str String to write + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer|number} `this` if `offset` is omitted, else the actual number of bytes written + * @expose + * @see ByteBuffer#writeVarint32 + */ + ByteBufferPrototype.writeVString = function(str, offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); + if (!this.noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - var start = offset, - k, l; - k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; - l = ByteBuffer.calculateVarint32(k); + } + var start = offset, + k, l; + k = utfx.calculateUTF16asUTF8(stringSource(str), this.noAssert)[1]; + l = ByteBuffer.calculateVarint32(k); offset += l+k; var capacity15 = this.buffer.byteLength; if (offset > capacity15) this.resize((capacity15 *= 2) > offset ? capacity15 : offset); offset -= l+k; - offset += this.writeVarint32(k, offset); - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - this.view[offset++] = b; - }.bind(this)); - if (offset !== start+k+l) - throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); - if (relative) { - this.offset = offset; - return this; - } - return offset - start; - }; - - /** - * Reads a length as varint32 prefixed UTF8 encoded string. - * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string - * read and the actual number of bytes read. - * @expose - * @see ByteBuffer#readVarint32 - */ - ByteBufferPrototype.readVString = function(offset) { + offset += this.writeVarint32(k, offset); + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + this.view[offset++] = b; + }.bind(this)); + if (offset !== start+k+l) + throw RangeError("Illegal range: Truncated data, "+offset+" == "+(offset+k+l)); + if (relative) { + this.offset = offset; + return this; + } + return offset - start; + }; + + /** + * Reads a length as varint32 prefixed UTF8 encoded string. + * @param {number=} offset Offset to read from. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {string|!{string: string, length: number}} The string read if offset is omitted, else the string + * read and the actual number of bytes read. + * @expose + * @see ByteBuffer#readVarint32 + */ + ByteBufferPrototype.readVString = function(offset) { var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+1+") <= "+this.buffer.byteLength); - } - var start = offset; - var len = this.readVarint32(offset); - var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); - offset += str['length']; - if (relative) { - this.offset = offset; - return str['string']; - } else { - return { - 'string': str['string'], - 'length': offset - start - }; - } - }; - - - /** - * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended - * data's length. - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` - * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` - */ - ByteBufferPrototype.append = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } + } + var start = offset; + var len = this.readVarint32(offset); + var str = this.readUTF8String(len['value'], ByteBuffer.METRICS_BYTES, offset += len['length']); + offset += str['length']; + if (relative) { + this.offset = offset; + return str['string']; + } else { + return { + 'string': str['string'], + 'length': offset - start + }; + } + }; + + + /** + * Appends some data to this ByteBuffer. This will overwrite any contents behind the specified offset up to the appended + * data's length. + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to append. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to append at. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `<01 02>03.append(<04 05>)` will result in `<01 02 04 05>, 04 05|` + * @example An absolute `<01 02>03.append(04 05>, 1)` will result in `<01 04>05, 04 05|` + */ + ByteBufferPrototype.append = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var length = source.limit - source.offset; - if (length <= 0) return this; // Nothing to append + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var length = source.limit - source.offset; + if (length <= 0) return this; // Nothing to append offset += length; var capacity16 = this.buffer.byteLength; if (offset > capacity16) this.resize((capacity16 *= 2) > offset ? capacity16 : offset); offset -= length; - this.view.set(source.view.subarray(source.offset, source.limit), offset); - source.offset += length; + this.view.set(source.view.subarray(source.offset, source.limit), offset); + source.offset += length; if (relative) this.offset += length; - return this; - }; - - /** - * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the - specified offset up to the length of this ByteBuffer's data. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * read if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#append - */ - ByteBufferPrototype.appendTo = function(target, offset) { - target.append(this, offset); - return this; - }; - - /** - * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to - * disable them if your code already makes sure that everything is valid. - * @param {boolean} assert `true` to enable assertions, otherwise `false` - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.assert = function(assert) { - this.noAssert = !assert; - return this; - }; - - /** - * Gets the capacity of this ByteBuffer's backing buffer. - * @returns {number} Capacity of the backing buffer - * @expose - */ - ByteBufferPrototype.capacity = function() { - return this.buffer.byteLength; - }; - /** - * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the - * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.clear = function() { - this.offset = 0; - this.limit = this.buffer.byteLength; - this.markedOffset = -1; - return this; - }; - - /** - * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, - * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. - * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` - * @returns {!ByteBuffer} Cloned instance - * @expose - */ - ByteBufferPrototype.clone = function(copy) { - var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); - if (copy) { - bb.buffer = new ArrayBuffer(this.buffer.byteLength); - bb.view = new Uint8Array(bb.buffer); - } else { - bb.buffer = this.buffer; - bb.view = this.view; - } - bb.offset = this.offset; - bb.markedOffset = this.markedOffset; - bb.limit = this.limit; - return bb; - }; - - /** - * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes - * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and - * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.compact = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + return this; + }; + + /** + * Appends this ByteBuffer's contents to another ByteBuffer. This will overwrite any contents at and after the + specified offset up to the length of this ByteBuffer's data. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to append to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * read if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#append + */ + ByteBufferPrototype.appendTo = function(target, offset) { + target.append(this, offset); + return this; + }; + + /** + * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to + * disable them if your code already makes sure that everything is valid. + * @param {boolean} assert `true` to enable assertions, otherwise `false` + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.assert = function(assert) { + this.noAssert = !assert; + return this; + }; + + /** + * Gets the capacity of this ByteBuffer's backing buffer. + * @returns {number} Capacity of the backing buffer + * @expose + */ + ByteBufferPrototype.capacity = function() { + return this.buffer.byteLength; + }; + /** + * Clears this ByteBuffer's offsets by setting {@link ByteBuffer#offset} to `0` and {@link ByteBuffer#limit} to the + * backing buffer's capacity. Discards {@link ByteBuffer#markedOffset}. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.clear = function() { + this.offset = 0; + this.limit = this.buffer.byteLength; + this.markedOffset = -1; + return this; + }; + + /** + * Creates a cloned instance of this ByteBuffer, preset with this ByteBuffer's values for {@link ByteBuffer#offset}, + * {@link ByteBuffer#markedOffset} and {@link ByteBuffer#limit}. + * @param {boolean=} copy Whether to copy the backing buffer or to return another view on the same, defaults to `false` + * @returns {!ByteBuffer} Cloned instance + * @expose + */ + ByteBufferPrototype.clone = function(copy) { + var bb = new ByteBuffer(0, this.littleEndian, this.noAssert); + if (copy) { + bb.buffer = new ArrayBuffer(this.buffer.byteLength); + bb.view = new Uint8Array(bb.buffer); + } else { + bb.buffer = this.buffer; + bb.view = this.view; + } + bb.offset = this.offset; + bb.markedOffset = this.markedOffset; + bb.limit = this.limit; + return bb; + }; + + /** + * Compacts this ByteBuffer to be backed by a {@link ByteBuffer#buffer} of its contents' length. Contents are the bytes + * between {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. Will set `offset = 0` and `limit = capacity` and + * adapt {@link ByteBuffer#markedOffset} to the same relative position if set. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.compact = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2498,41 +2498,41 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === 0 && end === this.buffer.byteLength) - return this; // Already compacted - var len = end - begin; - if (len === 0) { - this.buffer = EMPTY_BUFFER; - this.view = null; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = 0; - return this; - } - var buffer = new ArrayBuffer(len); - var view = new Uint8Array(buffer); - view.set(this.view.subarray(begin, end)); - this.buffer = buffer; - this.view = view; - if (this.markedOffset >= 0) this.markedOffset -= begin; - this.offset = 0; - this.limit = len; - return this; - }; - - /** - * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Copy - * @expose - */ - ByteBufferPrototype.copy = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + } + if (begin === 0 && end === this.buffer.byteLength) + return this; // Already compacted + var len = end - begin; + if (len === 0) { + this.buffer = EMPTY_BUFFER; + this.view = null; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = 0; + return this; + } + var buffer = new ArrayBuffer(len); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(begin, end)); + this.buffer = buffer; + this.view = view; + if (this.markedOffset >= 0) this.markedOffset -= begin; + this.offset = 0; + this.limit = len; + return this; + }; + + /** + * Creates a copy of this ByteBuffer's contents. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Copy + * @expose + */ + ByteBufferPrototype.copy = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2541,94 +2541,94 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return new ByteBuffer(0, this.littleEndian, this.noAssert); - var capacity = end - begin, - bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); - bb.offset = 0; - bb.limit = capacity; - if (bb.markedOffset >= 0) bb.markedOffset -= begin; - this.copyTo(bb, 0, begin, end); - return bb; - }; - - /** - * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} - * by the number of bytes copied if omitted. - * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the - * number of bytes copied if omitted. - * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { - var relative, - targetRelative; - if (!this.noAssert) { - if (!ByteBuffer.isByteBuffer(target)) - throw TypeError("Illegal target: Not a ByteBuffer"); - } - targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; - sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; - sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; - - if (targetOffset < 0 || targetOffset > target.buffer.byteLength) - throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); - if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) - throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); - - var len = sourceLimit - sourceOffset; - if (len === 0) - return target; // Nothing to copy - - target.ensureCapacity(targetOffset + len); - - target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); - - if (relative) this.offset += len; - if (targetRelative) target.offset += len; - - return this; - }; - - /** - * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the - * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, - * the required capacity will be used instead. - * @param {number} capacity Required capacity - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.ensureCapacity = function(capacity) { - var current = this.buffer.byteLength; - if (current < capacity) - return this.resize((current *= 2) > capacity ? current : capacity); - return this; - }; - - /** - * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. - * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} this - * @expose - * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes - */ - ByteBufferPrototype.fill = function(value, begin, end) { + } + if (begin === end) + return new ByteBuffer(0, this.littleEndian, this.noAssert); + var capacity = end - begin, + bb = new ByteBuffer(capacity, this.littleEndian, this.noAssert); + bb.offset = 0; + bb.limit = capacity; + if (bb.markedOffset >= 0) bb.markedOffset -= begin; + this.copyTo(bb, 0, begin, end); + return bb; + }; + + /** + * Copies this ByteBuffer's contents to another ByteBuffer. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} targetOffset Offset to copy to. Will use and increase the target's {@link ByteBuffer#offset} + * by the number of bytes copied if omitted. + * @param {number=} sourceOffset Offset to start copying from. Will use and increase {@link ByteBuffer#offset} by the + * number of bytes copied if omitted. + * @param {number=} sourceLimit Offset to end copying from, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.copyTo = function(target, targetOffset, sourceOffset, sourceLimit) { + var relative, + targetRelative; + if (!this.noAssert) { + if (!ByteBuffer.isByteBuffer(target)) + throw TypeError("Illegal target: Not a ByteBuffer"); + } + targetOffset = (targetRelative = typeof targetOffset === 'undefined') ? target.offset : targetOffset | 0; + sourceOffset = (relative = typeof sourceOffset === 'undefined') ? this.offset : sourceOffset | 0; + sourceLimit = typeof sourceLimit === 'undefined' ? this.limit : sourceLimit | 0; + + if (targetOffset < 0 || targetOffset > target.buffer.byteLength) + throw RangeError("Illegal target range: 0 <= "+targetOffset+" <= "+target.buffer.byteLength); + if (sourceOffset < 0 || sourceLimit > this.buffer.byteLength) + throw RangeError("Illegal source range: 0 <= "+sourceOffset+" <= "+this.buffer.byteLength); + + var len = sourceLimit - sourceOffset; + if (len === 0) + return target; // Nothing to copy + + target.ensureCapacity(targetOffset + len); + + target.view.set(this.view.subarray(sourceOffset, sourceLimit), targetOffset); + + if (relative) this.offset += len; + if (targetRelative) target.offset += len; + + return this; + }; + + /** + * Makes sure that this ByteBuffer is backed by a {@link ByteBuffer#buffer} of at least the specified capacity. If the + * current capacity is exceeded, it will be doubled. If double the current capacity is less than the required capacity, + * the required capacity will be used instead. + * @param {number} capacity Required capacity + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.ensureCapacity = function(capacity) { + var current = this.buffer.byteLength; + if (current < capacity) + return this.resize((current *= 2) > capacity ? current : capacity); + return this; + }; + + /** + * Overwrites this ByteBuffer's contents with the specified value. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {number|string} value Byte value to fill with. If given as a string, the first character is used. + * @param {number=} begin Begin offset. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} this + * @expose + * @example `someByteBuffer.clear().fill(0)` fills the entire backing buffer with zeroes + */ + ByteBufferPrototype.fill = function(value, begin, end) { var relative = typeof begin === 'undefined'; if (relative) begin = this.offset; - if (typeof value === 'string' && value.length > 0) - value = value.charCodeAt(0); - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + if (typeof value === 'string' && value.length > 0) + value = value.charCodeAt(0); + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof value !== 'number' || value % 1 !== 0) throw TypeError("Illegal value: "+value+" (not an integer)"); value |= 0; @@ -2640,228 +2640,228 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin >= end) - return this; // Nothing to fill - while (begin < end) this.view[begin++] = value; - if (relative) this.offset = begin; - return this; - }; - - /** - * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and - * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.flip = function() { - this.limit = this.offset; - this.offset = 0; - return this; - }; - /** - * Marks an offset on this ByteBuffer to be used later. - * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. - * @returns {!ByteBuffer} this - * @throws {TypeError} If `offset` is not a valid number - * @throws {RangeError} If `offset` is out of bounds - * @see ByteBuffer#reset - * @expose - */ - ByteBufferPrototype.mark = function(offset) { - offset = typeof offset === 'undefined' ? this.offset : offset; - if (!this.noAssert) { + } + if (begin >= end) + return this; // Nothing to fill + while (begin < end) this.view[begin++] = value; + if (relative) this.offset = begin; + return this; + }; + + /** + * Makes this ByteBuffer ready for a new sequence of write or relative read operations. Sets `limit = offset` and + * `offset = 0`. Make sure always to flip a ByteBuffer when all relative read or write operations are complete. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.flip = function() { + this.limit = this.offset; + this.offset = 0; + return this; + }; + /** + * Marks an offset on this ByteBuffer to be used later. + * @param {number=} offset Offset to mark. Defaults to {@link ByteBuffer#offset}. + * @returns {!ByteBuffer} this + * @throws {TypeError} If `offset` is not a valid number + * @throws {RangeError} If `offset` is out of bounds + * @see ByteBuffer#reset + * @expose + */ + ByteBufferPrototype.mark = function(offset) { + offset = typeof offset === 'undefined' ? this.offset : offset; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - this.markedOffset = offset; - return this; - }; - /** - * Sets the byte order. - * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.order = function(littleEndian) { - if (!this.noAssert) { - if (typeof littleEndian !== 'boolean') - throw TypeError("Illegal littleEndian: Not a boolean"); - } - this.littleEndian = !!littleEndian; - return this; - }; - - /** - * Switches (to) little endian byte order. - * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.LE = function(littleEndian) { - this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; - return this; - }; - - /** - * Switches (to) big endian byte order. - * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.BE = function(bigEndian) { - this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; - return this; - }; - /** - * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be - * modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` - * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` - */ - ByteBufferPrototype.prepend = function(source, encoding, offset) { - if (typeof encoding === 'number' || typeof encoding !== 'string') { - offset = encoding; - encoding = undefined; - } + } + this.markedOffset = offset; + return this; + }; + /** + * Sets the byte order. + * @param {boolean} littleEndian `true` for little endian byte order, `false` for big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.order = function(littleEndian) { + if (!this.noAssert) { + if (typeof littleEndian !== 'boolean') + throw TypeError("Illegal littleEndian: Not a boolean"); + } + this.littleEndian = !!littleEndian; + return this; + }; + + /** + * Switches (to) little endian byte order. + * @param {boolean=} littleEndian Defaults to `true`, otherwise uses big endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.LE = function(littleEndian) { + this.littleEndian = typeof littleEndian !== 'undefined' ? !!littleEndian : true; + return this; + }; + + /** + * Switches (to) big endian byte order. + * @param {boolean=} bigEndian Defaults to `true`, otherwise uses little endian + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.BE = function(bigEndian) { + this.littleEndian = typeof bigEndian !== 'undefined' ? !bigEndian : false; + return this; + }; + /** + * Prepends some data to this ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer|string|!ArrayBuffer} source Data to prepend. If `source` is a ByteBuffer, its offset will be + * modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @example A relative `00<01 02 03>.prepend(<04 05>)` results in `<04 05 01 02 03>, 04 05|` + * @example An absolute `00<01 02 03>.prepend(<04 05>, 2)` results in `04<05 02 03>, 04 05|` + */ + ByteBufferPrototype.prepend = function(source, encoding, offset) { + if (typeof encoding === 'number' || typeof encoding !== 'string') { + offset = encoding; + encoding = undefined; + } var relative = typeof offset === 'undefined'; if (relative) offset = this.offset; - if (!this.noAssert) { + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: "+offset+" (not an integer)"); offset >>>= 0; if (offset < 0 || offset + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength); - } - if (!(source instanceof ByteBuffer)) - source = ByteBuffer.wrap(source, encoding); - var len = source.limit - source.offset; - if (len <= 0) return this; // Nothing to prepend - var diff = len - offset; - if (diff > 0) { // Not enough space before offset, so resize + move - var buffer = new ArrayBuffer(this.buffer.byteLength + diff); - var view = new Uint8Array(buffer); - view.set(this.view.subarray(offset, this.buffer.byteLength), len); - this.buffer = buffer; - this.view = view; - this.offset += diff; - if (this.markedOffset >= 0) this.markedOffset += diff; - this.limit += diff; - offset += diff; - } else { - var arrayView = new Uint8Array(this.buffer); - } - this.view.set(source.view.subarray(source.offset, source.limit), offset - len); - - source.offset = source.limit; - if (relative) - this.offset -= len; - return this; - }; - - /** - * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the - * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer - * will be resized and its contents moved accordingly. - * @param {!ByteBuffer} target Target ByteBuffer - * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes - * prepended if omitted. - * @returns {!ByteBuffer} this - * @expose - * @see ByteBuffer#prepend - */ - ByteBufferPrototype.prependTo = function(target, offset) { - target.prepend(this, offset); - return this; - }; - /** - * Prints debug information about this ByteBuffer's contents. - * @param {function(string)=} out Output function to call, defaults to console.log - * @expose - */ - ByteBufferPrototype.printDebug = function(out) { - if (typeof out !== 'function') out = console.log.bind(console); - out( - this.toString()+"\n"+ - "-------------------------------------------------------------------\n"+ - this.toDebug(/* columns */ true) - ); - }; - - /** - * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and - * {@link ByteBuffer#limit}, so this returns `limit - offset`. - * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. - * @expose - */ - ByteBufferPrototype.remaining = function() { - return this.limit - this.offset; - }; - /** - * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} - * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been - * marked, sets `offset = 0`. - * @returns {!ByteBuffer} this - * @see ByteBuffer#mark - * @expose - */ - ByteBufferPrototype.reset = function() { - if (this.markedOffset >= 0) { - this.offset = this.markedOffset; - this.markedOffset = -1; - } else { - this.offset = 0; - } - return this; - }; - /** - * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that - * large or larger. - * @param {number} capacity Capacity required - * @returns {!ByteBuffer} this - * @throws {TypeError} If `capacity` is not a number - * @throws {RangeError} If `capacity < 0` - * @expose - */ - ByteBufferPrototype.resize = function(capacity) { - if (!this.noAssert) { + } + if (!(source instanceof ByteBuffer)) + source = ByteBuffer.wrap(source, encoding); + var len = source.limit - source.offset; + if (len <= 0) return this; // Nothing to prepend + var diff = len - offset; + if (diff > 0) { // Not enough space before offset, so resize + move + var buffer = new ArrayBuffer(this.buffer.byteLength + diff); + var view = new Uint8Array(buffer); + view.set(this.view.subarray(offset, this.buffer.byteLength), len); + this.buffer = buffer; + this.view = view; + this.offset += diff; + if (this.markedOffset >= 0) this.markedOffset += diff; + this.limit += diff; + offset += diff; + } else { + var arrayView = new Uint8Array(this.buffer); + } + this.view.set(source.view.subarray(source.offset, source.limit), offset - len); + + source.offset = source.limit; + if (relative) + this.offset -= len; + return this; + }; + + /** + * Prepends this ByteBuffer to another ByteBuffer. This will overwrite any contents before the specified offset up to the + * prepended data's length. If there is not enough space available before the specified `offset`, the backing buffer + * will be resized and its contents moved accordingly. + * @param {!ByteBuffer} target Target ByteBuffer + * @param {number=} offset Offset to prepend at. Will use and decrease {@link ByteBuffer#offset} by the number of bytes + * prepended if omitted. + * @returns {!ByteBuffer} this + * @expose + * @see ByteBuffer#prepend + */ + ByteBufferPrototype.prependTo = function(target, offset) { + target.prepend(this, offset); + return this; + }; + /** + * Prints debug information about this ByteBuffer's contents. + * @param {function(string)=} out Output function to call, defaults to console.log + * @expose + */ + ByteBufferPrototype.printDebug = function(out) { + if (typeof out !== 'function') out = console.log.bind(console); + out( + this.toString()+"\n"+ + "-------------------------------------------------------------------\n"+ + this.toDebug(/* columns */ true) + ); + }; + + /** + * Gets the number of remaining readable bytes. Contents are the bytes between {@link ByteBuffer#offset} and + * {@link ByteBuffer#limit}, so this returns `limit - offset`. + * @returns {number} Remaining readable bytes. May be negative if `offset > limit`. + * @expose + */ + ByteBufferPrototype.remaining = function() { + return this.limit - this.offset; + }; + /** + * Resets this ByteBuffer's {@link ByteBuffer#offset}. If an offset has been marked through {@link ByteBuffer#mark} + * before, `offset` will be set to {@link ByteBuffer#markedOffset}, which will then be discarded. If no offset has been + * marked, sets `offset = 0`. + * @returns {!ByteBuffer} this + * @see ByteBuffer#mark + * @expose + */ + ByteBufferPrototype.reset = function() { + if (this.markedOffset >= 0) { + this.offset = this.markedOffset; + this.markedOffset = -1; + } else { + this.offset = 0; + } + return this; + }; + /** + * Resizes this ByteBuffer to be backed by a buffer of at least the given capacity. Will do nothing if already that + * large or larger. + * @param {number} capacity Capacity required + * @returns {!ByteBuffer} this + * @throws {TypeError} If `capacity` is not a number + * @throws {RangeError} If `capacity < 0` + * @expose + */ + ByteBufferPrototype.resize = function(capacity) { + if (!this.noAssert) { if (typeof capacity !== 'number' || capacity % 1 !== 0) throw TypeError("Illegal capacity: "+capacity+" (not an integer)"); capacity |= 0; - if (capacity < 0) - throw RangeError("Illegal capacity: 0 <= "+capacity); - } - if (this.buffer.byteLength < capacity) { - var buffer = new ArrayBuffer(capacity); - var view = new Uint8Array(buffer); - view.set(this.view); - this.buffer = buffer; - this.view = view; - } - return this; - }; - /** - * Reverses this ByteBuffer's contents. - * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.reverse = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + if (capacity < 0) + throw RangeError("Illegal capacity: 0 <= "+capacity); + } + if (this.buffer.byteLength < capacity) { + var buffer = new ArrayBuffer(capacity); + var view = new Uint8Array(buffer); + view.set(this.view); + this.buffer = buffer; + this.view = view; + } + return this; + }; + /** + * Reverses this ByteBuffer's contents. + * @param {number=} begin Offset to start at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.reverse = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2870,44 +2870,44 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - if (begin === end) - return this; // Nothing to reverse - Array.prototype.reverse.call(this.view.subarray(begin, end)); - return this; - }; - /** - * Skips the next `length` bytes. This will just advance - * @param {number} length Number of bytes to skip. May also be negative to move the offset back. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.skip = function(length) { - if (!this.noAssert) { + } + if (begin === end) + return this; // Nothing to reverse + Array.prototype.reverse.call(this.view.subarray(begin, end)); + return this; + }; + /** + * Skips the next `length` bytes. This will just advance + * @param {number} length Number of bytes to skip. May also be negative to move the offset back. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.skip = function(length) { + if (!this.noAssert) { if (typeof length !== 'number' || length % 1 !== 0) throw TypeError("Illegal length: "+length+" (not an integer)"); length |= 0; - } - var offset = this.offset + length; - if (!this.noAssert) { - if (offset < 0 || offset > this.buffer.byteLength) - throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); - } - this.offset = offset; - return this; - }; - - /** - * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. - * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. - * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. - * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} - * @expose - */ - ByteBufferPrototype.slice = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + } + var offset = this.offset + length; + if (!this.noAssert) { + if (offset < 0 || offset > this.buffer.byteLength) + throw RangeError("Illegal length: 0 <= "+this.offset+" + "+length+" <= "+this.buffer.byteLength); + } + this.offset = offset; + return this; + }; + + /** + * Slices this ByteBuffer by creating a cloned instance with `offset = begin` and `limit = end`. + * @param {number=} begin Begin offset, defaults to {@link ByteBuffer#offset}. + * @param {number=} end End offset, defaults to {@link ByteBuffer#limit}. + * @returns {!ByteBuffer} Clone of this ByteBuffer with slicing applied, backed by the same {@link ByteBuffer#buffer} + * @expose + */ + ByteBufferPrototype.slice = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -2916,24 +2916,24 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var bb = this.clone(); - bb.offset = begin; - bb.limit = end; - return bb; - }; - /** - * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if - * possible. Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose - */ - ByteBufferPrototype.toBuffer = function(forceCopy) { - var offset = this.offset, - limit = this.limit; - if (!this.noAssert) { + } + var bb = this.clone(); + bb.offset = begin; + bb.limit = end; + return bb; + }; + /** + * Returns a copy of the backing buffer that contains this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory if + * possible. Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toBuffer = function(forceCopy) { + var offset = this.offset, + limit = this.limit; + if (!this.noAssert) { if (typeof offset !== 'number' || offset % 1 !== 0) throw TypeError("Illegal offset: Not an integer"); offset >>>= 0; @@ -2942,67 +2942,67 @@ limit >>>= 0; if (offset < 0 || offset > limit || limit > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+offset+" <= "+limit+" <= "+this.buffer.byteLength); - } - // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is - // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: - if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) - return this.buffer; - if (offset === limit) - return EMPTY_BUFFER; - var buffer = new ArrayBuffer(limit - offset); - new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); - return buffer; - }; - - /** - * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between - * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. - * @function - * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. - * Defaults to `false` - * @returns {!ArrayBuffer} Contents as an ArrayBuffer - * @expose - */ - ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; - - /** - * Converts the ByteBuffer's contents to a string. - * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows - * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with - * highlighted offsets. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} - * @returns {string} String representation - * @throws {Error} If `encoding` is invalid - * @expose - */ - ByteBufferPrototype.toString = function(encoding, begin, end) { - if (typeof encoding === 'undefined') - return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; - if (typeof encoding === 'number') - encoding = "utf8", - begin = encoding, - end = begin; - switch (encoding) { - case "utf8": - return this.toUTF8(begin, end); - case "base64": - return this.toBase64(begin, end); - case "hex": - return this.toHex(begin, end); - case "binary": - return this.toBinary(begin, end); - case "debug": - return this.toDebug(); - case "columns": - return this.toColumns(); - default: - throw Error("Unsupported encoding: "+encoding); - } - }; - - // lxiv-embeddable - + } + // NOTE: It's not possible to have another ArrayBuffer reference the same memory as the backing buffer. This is + // possible with Uint8Array#subarray only, but we have to return an ArrayBuffer by contract. So: + if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) + return this.buffer; + if (offset === limit) + return EMPTY_BUFFER; + var buffer = new ArrayBuffer(limit - offset); + new Uint8Array(buffer).set(new Uint8Array(this.buffer).subarray(offset, limit), 0); + return buffer; + }; + + /** + * Returns a raw buffer compacted to contain this ByteBuffer's contents. Contents are the bytes between + * {@link ByteBuffer#offset} and {@link ByteBuffer#limit}. This is an alias of {@link ByteBuffer#toBuffer}. + * @function + * @param {boolean=} forceCopy If `true` returns a copy, otherwise returns a view referencing the same memory. + * Defaults to `false` + * @returns {!ArrayBuffer} Contents as an ArrayBuffer + * @expose + */ + ByteBufferPrototype.toArrayBuffer = ByteBufferPrototype.toBuffer; + + /** + * Converts the ByteBuffer's contents to a string. + * @param {string=} encoding Output encoding. Returns an informative string representation if omitted but also allows + * direct conversion to "utf8", "hex", "base64" and "binary" encoding. "debug" returns a hex representation with + * highlighted offsets. + * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset} + * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit} + * @returns {string} String representation + * @throws {Error} If `encoding` is invalid + * @expose + */ + ByteBufferPrototype.toString = function(encoding, begin, end) { + if (typeof encoding === 'undefined') + return "ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")"; + if (typeof encoding === 'number') + encoding = "utf8", + begin = encoding, + end = begin; + switch (encoding) { + case "utf8": + return this.toUTF8(begin, end); + case "base64": + return this.toBase64(begin, end); + case "hex": + return this.toHex(begin, end); + case "binary": + return this.toBinary(begin, end); + case "debug": + return this.toDebug(); + case "columns": + return this.toColumns(); + default: + throw Error("Unsupported encoding: "+encoding); + } + }; + + // lxiv-embeddable + /** * lxiv-embeddable (c) 2014 Daniel Wirtz * Released under the Apache License, Version 2.0 @@ -3114,328 +3114,328 @@ return lxiv; }(); - - // encodings/base64 - - /** - * Encodes this ByteBuffer's contents to a base64 encoded string. - * @param {number=} begin Offset to begin at, defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at, defaults to {@link ByteBuffer#limit}. - * @returns {string} Base64 encoded string - * @throws {RangeError} If `begin` or `end` is out of bounds - * @expose - */ - ByteBufferPrototype.toBase64 = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - begin = begin | 0; end = end | 0; - if (begin < 0 || end > this.capacity || begin > end) - throw RangeError("begin, end"); - var sd; lxiv.encode(function() { - return begin < end ? this.view[begin++] : null; - }.bind(this), sd = stringDestination()); - return sd(); - }; - - /** - * Decodes a base64 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBase64 = function(str, littleEndian) { - if (typeof str !== 'string') - throw TypeError("str"); - var bb = new ByteBuffer(str.length/4*3, littleEndian), - i = 0; - lxiv.decode(stringSource(str), function(b) { - bb.view[i++] = b; - }); - bb.limit = i; - return bb; - }; - - /** - * Encodes a binary string to base64 like `window.btoa` does. - * @param {string} str Binary string - * @returns {string} Base64 encoded string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa - * @expose - */ - ByteBuffer.btoa = function(str) { - return ByteBuffer.fromBinary(str).toBase64(); - }; - - /** - * Decodes a base64 encoded string to binary like `window.atob` does. - * @param {string} b64 Base64 encoded string - * @returns {string} Binary string - * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob - * @expose - */ - ByteBuffer.atob = function(b64) { - return ByteBuffer.fromBase64(b64).toBinary(); - }; - - // encodings/binary - - /** - * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. - * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. - * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. - * @returns {string} Binary encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toBinary = function(begin, end) { - if (typeof begin === 'undefined') - begin = this.offset; - if (typeof end === 'undefined') - end = this.limit; - begin |= 0; end |= 0; - if (begin < 0 || end > this.capacity() || begin > end) - throw RangeError("begin, end"); - if (begin === end) - return ""; - var chars = [], - parts = []; - while (begin < end) { - chars.push(this.view[begin++]); - if (chars.length >= 1024) - parts.push(String.fromCharCode.apply(String, chars)), - chars = []; - } - return parts.join('') + String.fromCharCode.apply(String, chars); - }; - - /** - * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromBinary = function(str, littleEndian) { - if (typeof str !== 'string') - throw TypeError("str"); - var i = 0, - k = str.length, - charCode, - bb = new ByteBuffer(k, littleEndian); - while (i 0xff) - throw RangeError("illegal char code: "+charCode); - bb.view[i++] = charCode; - } - bb.limit = k; - return bb; - }; - - // encodings/debug - - /** - * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: - * * `<` : offset, - * * `'` : markedOffset, - * * `>` : limit, - * * `|` : offset and limit, - * * `[` : offset and markedOffset, - * * `]` : markedOffset and limit, - * * `!` : offset, markedOffset and limit - * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` - * @returns {string|!Array.} Debug string or array of lines if `asArray = true` - * @expose - * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` - * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` - * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` - * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` - */ - ByteBufferPrototype.toDebug = function(columns) { - var i = -1, - k = this.buffer.byteLength, - b, - hex = "", - asc = "", - out = ""; - while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; - } - ++i; - if (columns) { - if (i > 0 && i % 16 === 0 && i !== k) { - while (hex.length < 3*16+3) hex += " "; - out += hex+asc+"\n"; - hex = asc = ""; - } - } - if (i === this.offset && i === this.limit) - hex += i === this.markedOffset ? "!" : "|"; - else if (i === this.offset) - hex += i === this.markedOffset ? "[" : "<"; - else if (i === this.limit) - hex += i === this.markedOffset ? "]" : ">"; - else - hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); - } - if (columns && hex !== " ") { - while (hex.length < 3*16+3) - hex += " "; - out += hex + asc + "\n"; - } - return columns ? out : hex; - }; - - /** - * Decodes a hex encoded string with marked offsets to a ByteBuffer. - * @param {string} str Debug string to decode (not be generated with `columns = true`) - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - * @see ByteBuffer#toDebug - */ - ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { - var k = str.length, - bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); - var i = 0, j = 0, ch, b, - rs = false, // Require symbol next - ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? - fail = false; - while (i': - if (!noAssert) { - if (hl) { - fail = true; - break; - } - hl = true; - } - bb.limit = j; - rs = false; - break; - case "'": - if (!noAssert) { - if (hm) { - fail = true; - break; - } - hm = true; - } - bb.markedOffset = j; - rs = false; - break; - case ' ': - rs = false; - break; - default: - if (!noAssert) { - if (rs) { - fail = true; - break; - } - } - b = parseInt(ch+str.charAt(i++), 16); - if (!noAssert) { - if (isNaN(b) || b < 0 || b > 255) - throw TypeError("Illegal str: Not a debug encoded string"); - } - bb.view[j++] = b; - rs = true; - } - if (fail) - throw TypeError("Illegal str: Invalid symbol at "+i); - } - if (!noAssert) { - if (!ho || !hl) - throw TypeError("Illegal str: Missing offset or limit"); - if (j this.capacity || begin > end) + throw RangeError("begin, end"); + var sd; lxiv.encode(function() { + return begin < end ? this.view[begin++] : null; + }.bind(this), sd = stringDestination()); + return sd(); + }; + + /** + * Decodes a base64 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBase64 = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var bb = new ByteBuffer(str.length/4*3, littleEndian), + i = 0; + lxiv.decode(stringSource(str), function(b) { + bb.view[i++] = b; + }); + bb.limit = i; + return bb; + }; + + /** + * Encodes a binary string to base64 like `window.btoa` does. + * @param {string} str Binary string + * @returns {string} Base64 encoded string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa + * @expose + */ + ByteBuffer.btoa = function(str) { + return ByteBuffer.fromBinary(str).toBase64(); + }; + + /** + * Decodes a base64 encoded string to binary like `window.atob` does. + * @param {string} b64 Base64 encoded string + * @returns {string} Binary string + * @see https://developer.mozilla.org/en-US/docs/Web/API/Window.atob + * @expose + */ + ByteBuffer.atob = function(b64) { + return ByteBuffer.fromBase64(b64).toBinary(); + }; + + // encodings/binary + + /** + * Encodes this ByteBuffer to a binary encoded string, that is using only characters 0x00-0xFF as bytes. + * @param {number=} begin Offset to begin at. Defaults to {@link ByteBuffer#offset}. + * @param {number=} end Offset to end at. Defaults to {@link ByteBuffer#limit}. + * @returns {string} Binary encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toBinary = function(begin, end) { + if (typeof begin === 'undefined') + begin = this.offset; + if (typeof end === 'undefined') + end = this.limit; + begin |= 0; end |= 0; + if (begin < 0 || end > this.capacity() || begin > end) + throw RangeError("begin, end"); + if (begin === end) + return ""; + var chars = [], + parts = []; + while (begin < end) { + chars.push(this.view[begin++]); + if (chars.length >= 1024) + parts.push(String.fromCharCode.apply(String, chars)), + chars = []; + } + return parts.join('') + String.fromCharCode.apply(String, chars); + }; + + /** + * Decodes a binary encoded string, that is using only characters 0x00-0xFF as bytes, to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromBinary = function(str, littleEndian) { + if (typeof str !== 'string') + throw TypeError("str"); + var i = 0, + k = str.length, + charCode, + bb = new ByteBuffer(k, littleEndian); + while (i 0xff) + throw RangeError("illegal char code: "+charCode); + bb.view[i++] = charCode; + } + bb.limit = k; + return bb; + }; + + // encodings/debug + + /** + * Encodes this ByteBuffer to a hex encoded string with marked offsets. Offset symbols are: + * * `<` : offset, + * * `'` : markedOffset, + * * `>` : limit, + * * `|` : offset and limit, + * * `[` : offset and markedOffset, + * * `]` : markedOffset and limit, + * * `!` : offset, markedOffset and limit + * @param {boolean=} columns If `true` returns two columns hex + ascii, defaults to `false` + * @returns {string|!Array.} Debug string or array of lines if `asArray = true` + * @expose + * @example `>00'01 02<03` contains four bytes with `limit=0, markedOffset=1, offset=3` + * @example `00[01 02 03>` contains four bytes with `offset=markedOffset=1, limit=4` + * @example `00|01 02 03` contains four bytes with `offset=limit=1, markedOffset=-1` + * @example `|` contains zero bytes with `offset=limit=0, markedOffset=-1` + */ + ByteBufferPrototype.toDebug = function(columns) { + var i = -1, + k = this.buffer.byteLength, + b, + hex = "", + asc = "", + out = ""; + while (i 32 && b < 127 ? String.fromCharCode(b) : '.'; + } + ++i; + if (columns) { + if (i > 0 && i % 16 === 0 && i !== k) { + while (hex.length < 3*16+3) hex += " "; + out += hex+asc+"\n"; + hex = asc = ""; + } + } + if (i === this.offset && i === this.limit) + hex += i === this.markedOffset ? "!" : "|"; + else if (i === this.offset) + hex += i === this.markedOffset ? "[" : "<"; + else if (i === this.limit) + hex += i === this.markedOffset ? "]" : ">"; + else + hex += i === this.markedOffset ? "'" : (columns || (i !== 0 && i !== k) ? " " : ""); + } + if (columns && hex !== " ") { + while (hex.length < 3*16+3) + hex += " "; + out += hex + asc + "\n"; + } + return columns ? out : hex; + }; + + /** + * Decodes a hex encoded string with marked offsets to a ByteBuffer. + * @param {string} str Debug string to decode (not be generated with `columns = true`) + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + * @see ByteBuffer#toDebug + */ + ByteBuffer.fromDebug = function(str, littleEndian, noAssert) { + var k = str.length, + bb = new ByteBuffer(((k+1)/3)|0, littleEndian, noAssert); + var i = 0, j = 0, ch, b, + rs = false, // Require symbol next + ho = false, hm = false, hl = false, // Already has offset (ho), markedOffset (hm), limit (hl)? + fail = false; + while (i': + if (!noAssert) { + if (hl) { + fail = true; + break; + } + hl = true; + } + bb.limit = j; + rs = false; + break; + case "'": + if (!noAssert) { + if (hm) { + fail = true; + break; + } + hm = true; + } + bb.markedOffset = j; + rs = false; + break; + case ' ': + rs = false; + break; + default: + if (!noAssert) { + if (rs) { + fail = true; + break; + } + } + b = parseInt(ch+str.charAt(i++), 16); + if (!noAssert) { + if (isNaN(b) || b < 0 || b > 255) + throw TypeError("Illegal str: Not a debug encoded string"); + } + bb.view[j++] = b; + rs = true; + } + if (fail) + throw TypeError("Illegal str: Invalid symbol at "+i); + } + if (!noAssert) { + if (!ho || !hl) + throw TypeError("Illegal str: Missing offset or limit"); + if (j>>= 0; @@ -3444,51 +3444,51 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var out = new Array(end - begin), - b; - while (begin < end) { - b = this.view[begin++]; - if (b < 0x10) - out.push("0", b.toString(16)); - else out.push(b.toString(16)); - } - return out.join(''); - }; - - /** - * Decodes a hex encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromHex = function(str, littleEndian, noAssert) { - if (!noAssert) { - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - if (str.length % 2 !== 0) - throw TypeError("Illegal str: Length not a multiple of 2"); - } - var k = str.length, - bb = new ByteBuffer((k / 2) | 0, littleEndian), - b; - for (var i=0, j=0; i 255) - throw TypeError("Illegal str: Contains non-hex characters"); - bb.view[j++] = b; - } - bb.limit = j; - return bb; - }; - - // utfx-embeddable - + } + var out = new Array(end - begin), + b; + while (begin < end) { + b = this.view[begin++]; + if (b < 0x10) + out.push("0", b.toString(16)); + else out.push(b.toString(16)); + } + return out.join(''); + }; + + /** + * Decodes a hex encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromHex = function(str, littleEndian, noAssert) { + if (!noAssert) { + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + if (str.length % 2 !== 0) + throw TypeError("Illegal str: Length not a multiple of 2"); + } + var k = str.length, + bb = new ByteBuffer((k / 2) | 0, littleEndian), + b; + for (var i=0, j=0; i 255) + throw TypeError("Illegal str: Contains non-hex characters"); + bb.view[j++] = b; + } + bb.limit = j; + return bb; + }; + + // utfx-embeddable + /** * utfx-embeddable (c) 2014 Daniel Wirtz * Released under the Apache License, Version 2.0 @@ -3685,20 +3685,20 @@ return utfx; }(); - - // encodings/utf8 - - /** - * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded - * string. - * @returns {string} Hex encoded string - * @throws {RangeError} If `offset > limit` - * @expose - */ - ByteBufferPrototype.toUTF8 = function(begin, end) { - if (typeof begin === 'undefined') begin = this.offset; - if (typeof end === 'undefined') end = this.limit; - if (!this.noAssert) { + + // encodings/utf8 + + /** + * Encodes this ByteBuffer's contents between {@link ByteBuffer#offset} and {@link ByteBuffer#limit} to an UTF8 encoded + * string. + * @returns {string} Hex encoded string + * @throws {RangeError} If `offset > limit` + * @expose + */ + ByteBufferPrototype.toUTF8 = function(begin, end) { + if (typeof begin === 'undefined') begin = this.offset; + if (typeof end === 'undefined') end = this.limit; + if (!this.noAssert) { if (typeof begin !== 'number' || begin % 1 !== 0) throw TypeError("Illegal begin: Not an integer"); begin >>>= 0; @@ -3707,40 +3707,40 @@ end >>>= 0; if (begin < 0 || begin > end || end > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= "+begin+" <= "+end+" <= "+this.buffer.byteLength); - } - var sd; try { - utfx.decodeUTF8toUTF16(function() { - return begin < end ? this.view[begin++] : null; - }.bind(this), sd = stringDestination()); - } catch (e) { - if (begin !== end) - throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); - } - return sd(); - }; - - /** - * Decodes an UTF8 encoded string to a ByteBuffer. - * @param {string} str String to decode - * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to - * {@link ByteBuffer.DEFAULT_ENDIAN}. - * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to - * {@link ByteBuffer.DEFAULT_NOASSERT}. - * @returns {!ByteBuffer} ByteBuffer - * @expose - */ - ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { - if (!noAssert) - if (typeof str !== 'string') - throw TypeError("Illegal str: Not a string"); - var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), - i = 0; - utfx.encodeUTF16toUTF8(stringSource(str), function(b) { - bb.view[i++] = b; - }); - bb.limit = i; - return bb; - }; - - return ByteBuffer; -}); + } + var sd; try { + utfx.decodeUTF8toUTF16(function() { + return begin < end ? this.view[begin++] : null; + }.bind(this), sd = stringDestination()); + } catch (e) { + if (begin !== end) + throw RangeError("Illegal range: Truncated data, "+begin+" != "+end); + } + return sd(); + }; + + /** + * Decodes an UTF8 encoded string to a ByteBuffer. + * @param {string} str String to decode + * @param {boolean=} littleEndian Whether to use little or big endian byte order. Defaults to + * {@link ByteBuffer.DEFAULT_ENDIAN}. + * @param {boolean=} noAssert Whether to skip assertions of offsets and values. Defaults to + * {@link ByteBuffer.DEFAULT_NOASSERT}. + * @returns {!ByteBuffer} ByteBuffer + * @expose + */ + ByteBuffer.fromUTF8 = function(str, littleEndian, noAssert) { + if (!noAssert) + if (typeof str !== 'string') + throw TypeError("Illegal str: Not a string"); + var bb = new ByteBuffer(utfx.calculateUTF16asUTF8(stringSource(str), true)[1], littleEndian, noAssert), + i = 0; + utfx.encodeUTF16toUTF8(stringSource(str), function(b) { + bb.view[i++] = b; + }); + bb.limit = i; + return bb; + }; + + return ByteBuffer; +}); diff --git a/dist/bytebuffer.min.js b/dist/bytebuffer.min.js index 3839f1e..be2b37e 100644 --- a/dist/bytebuffer.min.js +++ b/dist/bytebuffer.min.js @@ -4,90 +4,90 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -function u(k){function h(a,b,c){"undefined"===typeof a&&(a=h.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=h.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=h.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c}function n(a){var b=0;return function(){return b>1,h=-7;f=c?f-1:0;var p=c?-1:1,k=a[b+f];f+=p;c=k&(1<<-h)-1;k>>=-h;for(h+=l;0>=-h;for(h+=d;0>1,y=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;l=d?0:l-1;var m=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-d))&&(d--,g*=2),b=1<=d+k?b+y/g:b+y*Math.pow(2,1-k),2<=b*g&&(d++,g/=2),d+k>=h?(b=0,d=h):1<=d+k?(b=(b*g-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+l]=b&255,l+=m,b/=256,f-=8); -d=d<=e||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};h.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};h.type=function(){return ArrayBuffer};h.wrap=function(a,b,c,d){"string"!==typeof b&&(d= -c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return h.fromBase64(a,c);case "hex":return h.fromHex(a,c);case "binary":return h.fromBinary(a,c);case "utf8":return h.fromUTF8(a,c);case "debug":return h.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(h.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new h(0,c,d),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f=a.length,l=f>>3,g=0,e;for(b+=this.writeVarint32(f,b);l--;)e=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]& -1)<<7,this.writeByte(e,b++);if(g>3,e=0,g=[];for(a+=c.length;f--;)c=this.readByte(a++),g[e++]=!!(c&1),g[e++]=!!(c&2),g[e++]=!!(c&4),g[e++]=!!(c&8),g[e++]=!!(c&16),g[e++]=!!(c&32),g[e++]=!!(c&64),g[e++]=!!(c&128);if(e>f++&1);b&&(this.offset=a); -return g};e.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);--b;this.view[b]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);--b;this.view[b]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0> -b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"=== -typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255, -this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8, -c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&& -(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a)); -b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d& -255);c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<< -16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&& -a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>> -24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<< -24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength); -}a=x(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);z(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=x(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a}; -e.readDouble=e.readFloat64;h.MAX_VARINT32_BYTES=5;h.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};h.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};h.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=h.calculateVarint32(a),f;b+=d;f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;for(a>>>=0;128<=a;)f=a&127|128,this.view[b++]=f,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(h.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,d=0,f;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view[a++];5>c&&(d|=(f&127)<<7*c);++c}while(0!==(f&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"=== -typeof a?a.value=h.zigZagDecode32(a.value):a=h.zigZagDecode32(a);return a};k&&(h.MAX_VARINT64_BYTES=10,h.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},h.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a, -!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},h.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a); -else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=h.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>> -0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var t=this.buffer.byteLength;b>t&&this.resize((t*=2)>b?t:b);b-=d;switch(d){case 10:this.view[b+9]=g>>>7&1;case 9:this.view[b+8]=9!==d?g|128:g&127;case 8:this.view[b+7]=8!==d?e>>>21|128:e>>>21&127;case 7:this.view[b+6]=7!==d?e>>>14|128:e>>>14&127;case 6:this.view[b+5]=6!==d?e>>>7|128:e>>>7&127;case 5:this.view[b+4]=5!==d?e|128:e&127;case 4:this.view[b+3]=4!==d?f>>>21|128:f>>>21&127;case 3:this.view[b+2]=3!==d?f>>>14|128:f>>>14&127;case 2:this.view[b+1]= -2!==d?f>>>7|128:f>>>7&127;case 1:this.view[b]=1!==d?f|128:f&127}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(h.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0, -f=0,e=0,g=0,g=this.view[a++],d=g&127;if(g&128&&(g=this.view[a++],d|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<14,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<14,g&128||this.noAssert&&"undefined"=== -typeof g)&&(g=this.view[a++],f|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4|e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=h.zigZagDecode64(a.value):a=h.zigZagDecode64(a);return a}); -e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f=m.a(n(a))[1]; -b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;m.b(n(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;m.c(function(){if(0=== -f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view[a++];return 0===f?null:f}.bind(this),d=r(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=m.a(n(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.littleEndian?(this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255);b+=4;m.b(n(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f)); -return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,d=this.readUint32(a),d=this.readUTF8String(d,h.METRICS_BYTES,a+=4);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};h.METRICS_CHARS= -"c";h.METRICS_BYTES="b";e.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=m.a(n(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;m.b(n(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset= -b,this):b-f};e.writeString=e.writeUTF8String;h.calculateUTF8Chars=function(a){return m.a(n(a))[0]};h.calculateUTF8Bytes=function(a){return m.a(n(a))[1]};h.calculateString=h.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=h.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+ -c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var f=0,e=c,g;if(b===h.METRICS_CHARS){g=r();m.h(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength);}var k=c+a;m.c(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=m.a(n(a),this.noAssert)[1];e=h.calculateVarint32(f);b+=e+f;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+f;b+=this.writeVarint32(f,b);m.b(n(a),function(a){this.view[b++]= -a}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=this.readVarint32(a),d=this.readUTF8String(d.value,h.METRICS_BYTES, -a+=d.length);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};e.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a=h.wrap(a,b));b=a.limit-a.offset; -if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)>c?f:c);this.view.set(a.view.subarray(a.offset,a.limit),c-b);a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new h(0,this.littleEndian,this.noAssert); -a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>= -0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),f=new Uint8Array(d);f.set(this.view.subarray(a,b));this.buffer=d;this.view=f;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a, -b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new h(0,this.littleEndian,this.noAssert);var c=b-a,d=new h(c,this.littleEndian,this.noAssert); -d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a,b,c,d){var f,e;if(!this.noAssert&&!h.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ -c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g);a.view.set(this.view.subarray(c,d),b);f&&(this.offset+=g);e&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian= -"undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a= -h.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+ -a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a= -this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString= -function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.o();default:throw Error("Unsupported encoding: "+a);}};var A=function(){for(var a= -{},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.decode=function(a, -b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,h;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&&(h=c[f],"undefined"===typeof h&&d(f),b(e<<2>>>0|(h&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((h&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){h=c[f];if("undefined"===typeof h)if(61===f)break;else d(f);b((e&3)<<6>>>0|h)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; -return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a=a|0;b=b|0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;A.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],d=[];ad?f+="0"+d.toString(16).toUpperCase():f+=d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset? -f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};h.fromDebug=function(a,b,c){var d=a.length;b=new h((d+1)/3|0,b,c);for(var f=0,e=0,g,k=!1,m=!1,p=!1,n=!1,q=!1;f":if(!c){if(n){q=!0;break}n=!0}b.limit=e;k=!1;break;case "'":if(!c){if(p){q=!0;break}p=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(f++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!== -b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};h.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new h(d/ -2|0,b);for(var f,e=0,g=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},h:function(a,c){function d(a){a= -a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;}for(var f,e,g,h;null!==(f=a());)if(0===(f&128))c(f);else if(192===(f&224))null===(e=a())&&d([f,e]),c((f&31)<<6|e&63);else if(224===(f&240))null!==(e=a())&&null!==(g=a())||d([f,e,g]),c((f&15)<<12|(e&63)<<6|g&63);else if(240===(f&248))null!==(e=a())&&null!==(g=a())&&null!==(h=a())||d([f,e,g,h]),c((f&7)<<18|(e&63)<<12|(g&63)<<6|h&63);else throw RangeError("Illegal starting byte: "+f);},f:function(a,c){for(var d, -e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536),e=null):c(d);null!==e&&c(e)},g:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},b:function(b,c){a.f(b,function(b){a.i(b,c)})},c:function(b,c){a.h(b,function(b){a.g(b,c)})},l:function(a){return 128>a?1:2048>a?2:65536>a?3:4},m:function(a){for(var c,d=0;null!== -(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},a:function(b){var c=0,d=0;a.f(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.c(function(){return a>1,h=-7;f=c?f-1:0;var k=c?-1:1,p=a[b+f];f+=k;c=p&(1<<-h)-1;p>>=-h;for(h+=l;0>=-h;for(h+=d;0>1,p=23===f? +Math.pow(2,-24)-Math.pow(2,-77):0;l=d?0:l-1;var m=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-d))&&(d--,g*=2),b=1<=d+k?b+p/g:b+p*Math.pow(2,1-k),2<=b*g&&(d++,g/=2),d+k>=h?(b=0,d=h):1<=d+k?(b=(b*g-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+l]=b&255,l+=m,b/=256,f-=8);d=d<a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};h.VERSION="5.0.0";h.LITTLE_ENDIAN=!0;h.BIG_ENDIAN=!1;h.DEFAULT_CAPACITY=16;h.DEFAULT_ENDIAN=h.BIG_ENDIAN;h.DEFAULT_NOASSERT=!1;h.Long=k|| +null;var e=h.prototype;Object.defineProperty(e,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var v=new ArrayBuffer(0),w=String.fromCharCode;h.accessor=function(){return Uint8Array};h.allocate=function(a,b,c){return new h(a,b,c)};h.concat=function(a,b,c,d){if("boolean"===typeof b||"string"!==typeof b)d=c,c=b,b=void 0;for(var f=0,l=0,g=a.length,e;l=e||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};h.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};h.type=function(){return ArrayBuffer};h.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return h.fromBase64(a,c);case "hex":return h.fromHex(a,c);case "binary":return h.fromBinary(a,c);case "utf8":return h.fromUTF8(a, +c);case "debug":return h.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(h.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new h(0,c,d),0>>=0;if(0>b||b+0> +this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f=a.length,e=f>>3,g=0,h;for(b+=this.writeVarint32(f,b);e--;)h=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]&1)<<7,this.writeByte(h,b++);if(g>3,e=0,g=[];for(a+=c.length;f--;)c=this.readByte(a++),g[e++]=!!(c&1),g[e++]=!!(c&2),g[e++]=!!(c&4),g[e++]=!!(c&8),g[e++]=!!(c&16),g[e++]=!!(c&32),g[e++]=!!(c&64),g[e++]=!!(c&128);if(e>f++&1);b&&(this.offset=a);return g};e.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+= +1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b); +this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b; +c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>> +8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&& +(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength; +b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength); +}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% +1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]= +a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+ +2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]= +f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0); +a=new k(c,d,!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255, +this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian? +(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== +typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&& +(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=s(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)"); +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== +a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=s(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;h.MAX_VARINT32_BYTES=5;h.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};h.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};h.zigZagDecode32=function(a){return a>>>1^-(a& +1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=h.calculateVarint32(a),f;b+=d;f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b); +b-=d;for(a>>>=0;128<=a;)f=a&127|128,this.view[b++]=f,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(h.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); +}var c=0,d=0,f;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view[a++];5>c&&(d|=(f&127)<<7*c);++c}while(0!==(f&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=h.zigZagDecode32(a.value):a=h.zigZagDecode32(a);return a};k&&(h.MAX_VARINT64_BYTES=10,h.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>> +0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},h.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},h.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&& +(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=h.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var t=this.buffer.byteLength;b>t&&this.resize((t*=2)>b?t:b);b-=d;switch(d){case 10:this.view[b+9]=g>>>7&1;case 9:this.view[b+8]=9!==d?g|128:g&127;case 8:this.view[b+7]=8!==d?e>>>21|128:e>>>21&127;case 7:this.view[b+6]= +7!==d?e>>>14|128:e>>>14&127;case 6:this.view[b+5]=6!==d?e>>>7|128:e>>>7&127;case 5:this.view[b+4]=5!==d?e|128:e&127;case 4:this.view[b+3]=4!==d?f>>>21|128:f>>>21&127;case 3:this.view[b+2]=3!==d?f>>>14|128:f>>>14&127;case 2:this.view[b+1]=2!==d?f>>>7|128:f>>>7&127;case 1:this.view[b]=1!==d?f|128:f&127}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(h.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,g=0,g=this.view[a++],d=g&127;if(g&128&&(g=this.view[a++],d|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<14,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++], +f=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<14,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4| +e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=h.zigZagDecode64(a.value):a=h.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f=n.calculateUTF16asUTF8(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;n.decodeUTF8toUTF16(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view[a++];return 0===f?null:f}.bind(this),d=r(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.littleEndian?(this.view[b+ +3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255);b+=4;n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,d=this.readUint32(a),d=this.readUTF8String(d,h.METRICS_BYTES,a+=4);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};h.METRICS_CHARS="c";h.METRICS_BYTES="b";e.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=n.calculateUTF16asUTF8(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-f};e.writeString=e.writeUTF8String;h.calculateUTF8Chars=function(a){return n.calculateUTF16asUTF8(m(a))[0]};h.calculateUTF8Bytes=function(a){return n.calculateUTF16asUTF8(m(a))[1]}; +h.calculateString=h.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=h.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ +this.buffer.byteLength);}var f=0,e=c,g;if(b===h.METRICS_CHARS){g=r();n.decodeUTF8(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+"+a+") <= "+this.buffer.byteLength);}var k=c+a;n.decodeUTF8toUTF16(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];e=h.calculateVarint32(f);b+=e+f;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+f;b+=this.writeVarint32(f,b);n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=this.readVarint32(a),d=this.readUTF8String(d.value,h.METRICS_BYTES,a+=d.length);a+=d.length;return b?(this.offset=a,d.string):{string:d.string, +length:a-c}};e.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a=h.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)> +c?f:c);c-=b;this.view.set(a.view.subarray(a.offset,a.limit),c);a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new h(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)): +(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ +b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),f=new Uint8Array(d);f.set(this.view.subarray(a,b));this.buffer=d;this.view=f;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new h(0,this.littleEndian,this.noAssert);var c=b-a,d=new h(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a, +b,c,d){var f,e;if(!this.noAssert&&!h.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g); +a.view.set(this.view.subarray(c,d),b);f&&(this.offset+=g);e&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian= +"undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a=h.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; +e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); +c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ +")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.toColumns();default:throw Error("Unsupported encoding: "+a);}};var x=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113, +114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.decode=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,h;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&& +(h=c[f],"undefined"===typeof h&&d(f),b(e<<2>>>0|(h&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((h&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){h=c[f];if("undefined"===typeof h)if(61===f)break;else d(f);b((e&3)<<6>>>0|h)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity|| +a>b)throw RangeError("begin, end");var c;x.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!== +f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};h.fromDebug=function(a,b,c){var d=a.length;b=new h((d+1)/3|0,b,c);for(var f=0,e=0,g,k=!1,m=!1,n=!1,p=!1,q=!1;f":if(!c){if(p){q=!0;break}p=!0}b.limit=e;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(f++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ +this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};h.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new h(d/2|0,b);for(var f,e=0,g=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},decodeUTF8:function(a,c){for(var d,f,e,g,h=function(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;};null!==(d=a());)if(0=== +(d&128))c(d);else if(192===(d&224))null===(f=a())&&h([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(e=a())||h([d,f,e]),c((d&15)<<12|(f&63)<<6|e&63);else if(240===(d&248))null!==(f=a())&&null!==(e=a())&&null!==(g=a())||h([d,f,e,g]),c((d&7)<<18|(f&63)<<12|(e&63)<<6|g&63);else throw RangeError("Illegal starting byte: "+d);},UTF16toUTF8:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536), +e=null):c(d);null!==e&&c(e)},UTF8toUTF16:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},encodeUTF16toUTF8:function(b,c){a.UTF16toUTF8(b,function(b){a.encodeUTF8(b,c)})},decodeUTF8toUTF16:function(b,c){a.decodeUTF8(b,function(b){a.UTF8toUTF16(b,c)})},calculateCodePoint:function(a){return 128>a?1:2048>a?2:65536>a?3:4},calculateUTF8:function(a){for(var c,d=0;null!==(c=a());)d+= +128>c?1:2048>c?2:65536>c?3:4;return d},calculateUTF16asUTF8:function(b){var c=0,d=0;a.UTF16toUTF8(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{n.decodeUTF8toUTF16(function(){return aUYI6YWU2SvQIFkO(Um>gNT!cv} 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 diff --git a/dist/bytebuffer.min.map b/dist/bytebuffer.min.map index 1f0bbd7..0720f48 100644 --- a/dist/bytebuffer.min.map +++ b/dist/bytebuffer.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":93, -"mappings":"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", +"mappings":"A;;;;;;AAsBC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkB,CAEb,GAAsB,UAAtB,GAAI,MAAOC,OAAX,EAAoCA,MAAA,IAApC,CACNA,MAAA,CAAO,CAAC,MAAD,CAAP,CAAiBD,CAAjB,CADM,KAEU,IAAuB,UAAvB,GAAI,MAAOE,QAAX,EAAuD,QAAvD,GAAqC,MAAOC,OAA5C,EAAmEA,MAAnE,EAA6EA,MAAA,QAA7E,CAChB,CAAAA,IAAAA,EAAAA,MAAAA,CAAoB,CACN,IAAI,CAAEC,CAAA,CAAOF,OAAA,CAAQ,MAAR,CAAT,CAA4B,MAAOG,CAAP,CAAU,EACpD,CAAA,CAAOL,CAAA,CAAQI,CAAR,CAFXD,EAAA,QAAA,CAAoB,CAApB,CADgB,IAMhB,CAACJ,CAAA,QAAD,CAAqBA,CAAA,QAArB,EAA0C,EAA1C,YAAA,CAA8DC,CAAA,CAAQD,CAAA,QAAA,KAAR,CAV3C,CAA1B,CAAD,CAYG,IAZH,CAYS,QAAQ,CAACK,CAAD,CAAO,CAyLpBE,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf,CAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ;AAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CA0jC7BQ,QAASA,EAAY,CAACC,CAAD,CAASC,CAAT,CAAiBC,CAAjB,CAAuBC,CAAvB,CAA6BC,CAA7B,CAAqC,CAAA,IAC/CC,CACHC,EAAAA,CAAgB,CAAhBA,CAAOF,CAAPE,CAAoBH,CAApBG,CAA2B,CAFuB,KAGlDC,GAAQ,CAARA,EAAaD,CAAbC,EAAqB,CAH6B,CAIlDC,EAAQD,CAARC,EAAgB,CAJkC,CAKlDC,EAAS,EACTxB,EAAAA,CAAIiB,CAAA,CAAQE,CAAR,CAAiB,CAAjB,CAAsB,CANwB,KAOlDM,EAAIR,CAAA,CAAQ,EAAR,CAAY,CAPkC,CAQlDlB,EAAIgB,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAERA,EAAA,EAAKyB,CAEL5B,EAAA,CAAIE,CAAJ,EAAU,CAAV,EAAgB,CAACyB,CAAjB,EAA2B,CAC3BzB,EAAA,GAAO,CAACyB,CAER,KADAA,CACA,EADSH,CACT,CAAe,CAAf,CAAOG,CAAP,CAAkB3B,CAAA,CAAQ,GAAR,CAAIA,CAAJ,CAAckB,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAd,CAAkCA,CAAlC,EAAuCyB,CAAvC,CAA0CD,CAA1C,EAAmD,CAArE,EAEAJ,CAAA,CAAIvB,CAAJ,EAAU,CAAV,EAAgB,CAAC2B,CAAjB,EAA2B,CAC3B3B,EAAA,GAAO,CAAC2B,CAER,KADAA,CACA,EADSN,CACT,CAAe,CAAf,CAAOM,CAAP,CAAkBJ,CAAA,CAAQ,GAAR,CAAIA,CAAJ,CAAcL,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAd,CAAkCA,CAAlC,EAAuCyB,CAAvC,CAA0CD,CAA1C,EAAmD,CAArE,EAEA,GAAU,CAAV,GAAI3B,CAAJ,CACIA,CAAA,CAAI,CAAJ,CAAQ0B,CADZ,KAEO,CAAA,GAAI1B,CAAJ,GAAUyB,CAAV,CACH,MAAOF,EAAA,CAAIM,GAAJ,CAA0BC,QAA1B,EAAY5B,CAAA,CAAK,EAAL,CAAS,CAArB,CAEPqB,EAAA,EAAQQ,IAAAC,IAAA,CAAS,CAAT,CAAYX,CAAZ,CACRrB,EAAA,EAAQ0B,CAJL,CAMP,OAAQxB,CAAA,CAAK,EAAL,CAAS,CAAjB,EAAsBqB,CAAtB,CAA0BQ,IAAAC,IAAA,CAAS,CAAT,CAAYhC,CAAZ,CAAgBqB,CAAhB,CA9B4B,CA2C1DY,QAASA,EAAa,CAACf,CAAD,CAASgB,CAAT,CAAgBf,CAAhB,CAAwBC,CAAxB,CAA8BC,CAA9B,CAAoCC,CAApC,CAA4C,CAAA,IACpDa,CADoD,CAE1DX,EAAgB,CAAhBA,CAAOF,CAAPE,CAAoBH,CAApBG,CAA2B,CAF+B,CAG1DC,GAAQ,CAARA,EAAaD,CAAbC,EAAqB,CAHqC,CAI1DC,EAAQD,CAARC,EAAgB,CAJ0C,CAK1DU,EAAe,EAAT,GAAAf,CAAA;AAAcU,IAAAC,IAAA,CAAS,CAAT,CAAa,GAAb,CAAd,CAAiCD,IAAAC,IAAA,CAAS,CAAT,CAAa,GAAb,CAAjC,CAAoD,CAC1D7B,EAAAA,CAAIiB,CAAA,CAAO,CAAP,CAAYE,CAAZ,CAAqB,CANiC,KAO1DM,EAAIR,CAAA,CAAO,CAAP,CAAY,EAP0C,CAQ1DlB,EAAY,CAAR,CAAAgC,CAAA,EAAwB,CAAxB,GAAcA,CAAd,EAAyC,CAAzC,CAA6B,CAA7B,CAAiCA,CAAjC,CAA8C,CAA9C,CAAkD,CAE1DA,EAAA,CAAQH,IAAAM,IAAA,CAASH,CAAT,CAEJI,MAAA,CAAMJ,CAAN,CAAJ,EAA8BJ,QAA9B,GAAoBI,CAApB,EACIX,CACA,CADIe,KAAA,CAAMJ,CAAN,CAAA,CAAe,CAAf,CAAmB,CACvB,CAAAlC,CAAA,CAAIyB,CAFR,GAIIzB,CAeA,CAfI+B,IAAAQ,MAAA,CAAWR,IAAAS,IAAA,CAASN,CAAT,CAAX,CAA6BH,IAAAU,IAA7B,CAeJ,CAdoC,CAcpC,CAdIP,CAcJ,EAdaC,CAcb,CAdiBJ,IAAAC,IAAA,CAAS,CAAT,CAAY,CAAChC,CAAb,CAcjB,IAbIA,CAAA,EACA,CAAAmC,CAAA,EAAK,CAYT,EATID,CASJ,CAViB,CAAjB,EAAIlC,CAAJ,CAAQ0B,CAAR,CACIQ,CADJ,CACaE,CADb,CACkBD,CADlB,CAGID,CAHJ,CAGaE,CAHb,CAGkBL,IAAAC,IAAA,CAAS,CAAT,CAAY,CAAZ,CAAgBN,CAAhB,CAOlB,CALiB,CAKjB,EALIQ,CAKJ,CALYC,CAKZ,GAJInC,CAAA,EACA,CAAAmC,CAAA,EAAK,CAGT,EAAInC,CAAJ,CAAQ0B,CAAR,EAAiBD,CAAjB,EACIF,CACA,CADI,CACJ,CAAAvB,CAAA,CAAIyB,CAFR,EAGwB,CAAjB,EAAIzB,CAAJ,CAAQ0B,CAAR,EACHH,CACA,EADKW,CACL,CADaC,CACb,CADiB,CACjB,EADsBJ,IAAAC,IAAA,CAAS,CAAT,CAAYX,CAAZ,CACtB,CAAArB,CAAA,EAAQ0B,CAFL,GAIHH,CACA,CADIW,CACJ,CADYH,IAAAC,IAAA,CAAS,CAAT,CAAYN,CAAZ,CAAoB,CAApB,CACZ,CADqCK,IAAAC,IAAA,CAAS,CAAT,CAAYX,CAAZ,CACrC,CAAArB,CAAA,CAAI,CALD,CAtBX,CA+BA,KAAA,CAAe,CAAf,EAAOqB,CAAP,CAAkBH,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAA,CAAqBoB,CAArB,CAAyB,GAAzB,CAA+BpB,CAA/B,EAAoCyB,CAApC,CAAuCL,CAAvC,EAA4C,GAA5C,CAAiDF,CAAjD,EAAyD,CAA3E,EAEArB,CAAA,CAAKA,CAAL,EAAUqB,CAAV,CAAkBE,CAElB,KADAC,CACA,EADQH,CACR,CAAc,CAAd,CAAOG,CAAP,CAAiBN,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAA,CAAqBH,CAArB,CAAyB,GAAzB,CAA+BG,CAA/B,EAAoCyB,CAApC,CAAuC5B,CAAvC,EAA4C,GAA5C,CAAiDwB,CAAjD,EAAyD,CAA1E,EAEAN,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAoByB,CAApB,CAAA,EAA8B,GAA9B,CAA0B1B,CAjDoC,CA3xClE,IAAIwC,EAAaA,QAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAChC,WAAxB;AAAI,MAAOF,EAAX,GACIA,CADJ,CACeD,CAAAI,iBADf,CAE4B,YAA5B,GAAI,MAAOF,EAAX,GACIA,CADJ,CACmBF,CAAAK,eADnB,CAEwB,YAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeH,CAAAM,iBADf,CAEA,IAAKH,CAAAA,CAAL,CAAe,CACXF,CAAA,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,kBAAX,CAAN,CACJL,CAAA,CAAe,CAAEA,CAAAA,CACjBC,EAAA,CAAW,CAAEA,CAAAA,CALF,CAaf,IAAA3B,OAAA,CAA2B,CAAb,GAAAyB,CAAA,CAAiBO,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBR,CAAhB,CAO9C,KAAAS,KAAA,CAAyB,CAAb,GAAAT,CAAA,CAAiB,IAAjB,CAAwB,IAAIU,UAAJ,CAAe,IAAAnC,OAAf,CASpC,KAAAC,OAAA,CAAc,CASd,KAAAmC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAaZ,CAOb,KAAAC,aAAA,CAAoBA,CAOpB,KAAAC,SAAA,CAAgBA,CApEwC,CA6E5DH,EAAAc,QAAA,CAAqB,OAQrBd,EAAAe,cAAA,CAA2B,CAAA,CAQ3Bf,EAAAgB,WAAA,CAAwB,CAAA,CAOxBhB,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAgB,WAO5BhB,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAA3C,KAAA,CAAkBA,CAAlB;AAA0B,IAM1B,KAAI4D,EAAsBjB,CAAA1B,UAW1B4C,OAAAC,eAAA,CAAsBF,CAAtB,CAA2C,kBAA3C,CAA+D,CAC3DzB,MAAO,CAAA,CADoD,CAE3D4B,WAAY,CAAA,CAF+C,CAG3DC,aAAc,CAAA,CAH6C,CAA/D,CAYA,KAAIb,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAAnB,CAOIxC,EAAqBE,MAAAmD,aAsCzBtB,EAAAuB,SAAA,CAAsBC,QAAQ,EAAG,CAC7B,MAAOb,WADsB,CAajCX,EAAAyB,SAAA,CAAsBC,QAAQ,CAACzB,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAA2B,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoB5B,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAO2B,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACI3B,CAEA,CAFWD,CAEX,CADAA,CACA,CADe4B,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAI9B,EAAW,CAAf,CACSxC,EAAE,CADX,CACcuE,EAAEH,CAAAnE,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0CuE,CAA1C,CAA6C,EAAEvE,CAA/C,CACSuC,CAAAiC,aAAA,CAAwBJ,CAAA,CAAQpE,CAAR,CAAxB,CAGL,GAFIoE,CAAA,CAAQpE,CAAR,CAEJ,CAFiBuC,CAAAkC,KAAA,CAAgBL,CAAA,CAAQpE,CAAR,CAAhB,CAA4BqE,CAA5B,CAEjB,EADApE,CACA,CADSmE,CAAA,CAAQpE,CAAR,CAAAoD,MACT,CAD4BgB,CAAA,CAAQpE,CAAR,CAAAgB,OAC5B,CAAa,CAAb,CAAIf,CAAJ,GAAgBuC,CAAhB,EAA4BvC,CAA5B,CAEJ,IAAiB,CAAjB,GAAIuC,CAAJ,CACI,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACPgC,EAAAA,CAAK,IAAInC,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAEJ,KAAL1C,CAAK;AAAH,CAAG,CAAOA,CAAP,CAASuE,CAAT,CAAA,CACDI,CAEA,CAFKP,CAAA,CAAQpE,CAAA,EAAR,CAEL,CADAC,CACA,CADS0E,CAAAvB,MACT,CADoBuB,CAAA3D,OACpB,CAAc,CAAd,EAAIf,CAAJ,GACAyE,CAAAzB,KAAA2B,IAAA,CAAYD,CAAA1B,KAAA4B,SAAA,CAAiBF,CAAA3D,OAAjB,CAA4B2D,CAAAvB,MAA5B,CAAZ,CAAmDsB,CAAA1D,OAAnD,CACA,CAAA0D,CAAA1D,OAAA,EAAaf,CAFb,CAIJyE,EAAAtB,MAAA,CAAWsB,CAAA1D,OACX0D,EAAA1D,OAAA,CAAY,CACZ,OAAO0D,EA1B6D,CAmCxEnC,EAAAiC,aAAA,CAA0BM,QAAQ,CAACJ,CAAD,CAAK,CACnC,MAA0C,CAAA,CAA1C,IAAQA,CAAR,EAAcA,CAAA,iBAAd,CADmC,CAQvCnC,EAAAwC,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAOhC,YADkB,CAgB7BT,EAAAkC,KAAA,CAAkBQ,QAAQ,CAAClE,CAAD,CAASsD,CAAT,CAAmB5B,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAO2B,EAAX,GACI3B,CAEA,CAFWD,CAEX,CADAA,CACA,CADe4B,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOvD,EAAX,CAGI,OAFwB,WAEhBsD,GAFJ,MAAOA,EAEHA,GADJA,CACIA,CADO,MACPA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAO9B,EAAA2C,WAAA,CAAsBnE,CAAtB,CAA8B0B,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAA4C,QAAA,CAAmBpE,CAAnB,CAA2B0B,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA6C,WAAA,CAAsBrE,CAAtB,CAA8B0B,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA8C,SAAA,CAAoBtE,CAApB;AAA4B0B,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA+C,UAAA,CAAqBvE,CAArB,CAA6B0B,CAA7B,CACX,SACI,KAAM8C,MAAA,CAAM,wBAAN,CAA+BlB,CAA/B,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAItD,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAMyE,UAAA,CAAU,gBAAV,CAAN,CAEJ,GAAIjD,CAAAiC,aAAA,CAAwBzD,CAAxB,CAAJ,CAGI,MAFA2D,EAEOA,CAFFlB,CAAAiC,MAAAC,KAAA,CAA+B3E,CAA/B,CAEE2D,CADPA,CAAAvB,aACOuB,CADY,EACZA,CAAAA,CAEX,IAAI3D,CAAJ,WAAsBmC,WAAtB,CACIwB,CACA,CADK,IAAInC,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAI3B,CAAAd,OAAJ,GACIyE,CAAA3D,OAGA,CAHYA,CAAAA,OAGZ,CAFA2D,CAAA1D,OAEA,CAFYD,CAAA4E,WAEZ,CADAjB,CAAAtB,MACA,CADWrC,CAAA4E,WACX,CAD+B5E,CAAA6E,WAC/B,CAAAlB,CAAAzB,KAAA,CAAU,IAAIC,UAAJ,CAAenC,CAAAA,OAAf,CAJd,CAFJ,KAQO,IAAIA,CAAJ,WAAsBiC,YAAtB,CACH0B,CACA,CADK,IAAInC,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAI3B,CAAA6E,WAAJ,GACIlB,CAAA3D,OAGA,CAHYA,CAGZ,CAFA2D,CAAA1D,OAEA,CAFY,CAEZ,CADA0D,CAAAtB,MACA,CADWrC,CAAA6E,WACX,CAAAlB,CAAAzB,KAAA,CAA8B,CAApB;AAAAlC,CAAA6E,WAAA,CAAwB,IAAI1C,UAAJ,CAAenC,CAAf,CAAxB,CAAiD,IAJ/D,CAFG,KAQA,IAA+C,gBAA/C,GAAI0C,MAAA5C,UAAAgF,SAAAH,KAAA,CAA+B3E,CAA/B,CAAJ,CAGH,IAFA2D,CAES1E,CAFJ,IAAIuC,CAAJ,CAAexB,CAAAd,OAAf,CAA8BwC,CAA9B,CAA4CC,CAA5C,CAEI1C,CADT0E,CAAAtB,MACSpD,CADEe,CAAAd,OACFD,CAAAA,CAAAA,CAAE,CAAX,CAAcA,CAAd,CAAgBe,CAAAd,OAAhB,CAA+B,EAAED,CAAjC,CACI0E,CAAAzB,KAAA,CAAQjD,CAAR,CAAA,CAAae,CAAA,CAAOf,CAAP,CAJd,KAMH,MAAMwF,UAAA,CAAU,gBAAV,CAAN,CACJ,MAAOd,EAvD0D,CAiErElB,EAAAsC,YAAA,CAAkCC,QAAQ,CAAChE,CAAD,CAAQf,CAAR,CAAgB,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAClB,GAAM,EAAAX,CAAA,WAAiBnB,MAAjB,CAAN,CACE,KAAM4E,UAAA,CAAU,8BAAV,CAAN,CACF,GAAsB,QAAtB,GAAI,MAAOxE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B;AAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPc,CAHoC,IAapDK,EAAQjF,CAb4C,CAcpDkF,EAAOnE,CAAA9B,OAd6C,CAepDkG,EAASD,CAATC,EAAiB,CAfmC,CAgBpDC,EAAM,CAhB8C,CAiBpD7B,CAIJ,KAFAvD,CAEA,EAFU,IAAAqF,cAAA,CAAmBH,CAAnB,CAAwBlF,CAAxB,CAEV,CAAMmF,CAAA,EAAN,CAAA,CACE5B,CAQA,CARK,CAAE,CAAAxC,CAAA,CAAMqE,CAAA,EAAN,CAQP,CARsB,CAQtB,EAPM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CAOR,CAPuB,CAOvB,GAP6B,CAO7B,EANM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CAMR,CANuB,CAMvB,GAN6B,CAM7B,EALM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CAKR,CALuB,CAKvB,GAL6B,CAK7B,EAJM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CAIR,CAJuB,CAIvB,GAJ6B,CAI7B,EAHM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CAGR,CAHuB,CAGvB,GAH6B,CAG7B,EAFM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CAER,CAFuB,CAEvB,GAF6B,CAE7B,EADM,CAAE,CAAArE,CAAA,CAAMqE,CAAA,EAAN,CACR,CADuB,CACvB,GAD6B,CAC7B,CAAA,IAAAE,UAAA,CAAe/B,CAAf,CAAiBvD,CAAA,EAAjB,CAGF,IAAGoF,CAAH,CAASF,CAAT,CAAe,CAEb,IADW3B,CACX,CADInD,CACJ,CADQ,CACR,CAAMgF,CAAN,CAAYF,CAAZ,CAAA,CAAkB3B,CAAA,GAAU,CAAE,CAAAxC,CAAA,CAAMqE,CAAA,EAAN,CAAZ,CAA2B,CAA3B,GAAkChF,CAAA,EACpD,KAAAkF,UAAA,CAAe/B,CAAf,CAAiBvD,CAAA,EAAjB,CAHa,CAMf,MAAIgF,EAAJ,EACE,IAAAhF,OACO,CADOA,CACP,CAAA,IAFT,EAIOA,CAJP,CAIgBiF,CA3CwC,CAoD1DzC,EAAA+C,WAAA,CAAiCC,QAAQ,CAACxF,CAAD,CAAS,CAChD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CAFgD,KAI5CyF,EAAM,IAAAC,aAAA,CAAkB1F,CAAlB,CAJsC;AAK5CkF,EAAOO,CAAA1E,MALqC,CAM5CoE,EAASD,CAATC,EAAiB,CAN2B,CAO5CC,EAAM,CAPsC,CAQ5CrE,EAAQ,EAKZ,KAFAf,CAEA,EAFUyF,CAAAxG,OAEV,CAAMkG,CAAA,EAAN,CAAA,CACE5B,CAQA,CARI,IAAAoC,SAAA,CAAc3F,CAAA,EAAd,CAQJ,CAPAe,CAAA,CAAMqE,CAAA,EAAN,CAOA,CAPe,CAAG,EAAA7B,CAAA,CAAI,CAAJ,CAOlB,CANAxC,CAAA,CAAMqE,CAAA,EAAN,CAMA,CANe,CAAG,EAAA7B,CAAA,CAAI,CAAJ,CAMlB,CALAxC,CAAA,CAAMqE,CAAA,EAAN,CAKA,CALe,CAAG,EAAA7B,CAAA,CAAI,CAAJ,CAKlB,CAJAxC,CAAA,CAAMqE,CAAA,EAAN,CAIA,CAJe,CAAG,EAAA7B,CAAA,CAAI,CAAJ,CAIlB,CAHAxC,CAAA,CAAMqE,CAAA,EAAN,CAGA,CAHe,CAAG,EAAA7B,CAAA,CAAI,EAAJ,CAGlB,CAFAxC,CAAA,CAAMqE,CAAA,EAAN,CAEA,CAFe,CAAG,EAAA7B,CAAA,CAAI,EAAJ,CAElB,CADAxC,CAAA,CAAMqE,CAAA,EAAN,CACA,CADe,CAAG,EAAA7B,CAAA,CAAI,EAAJ,CAClB,CAAAxC,CAAA,CAAMqE,CAAA,EAAN,CAAA,CAAe,CAAG,EAAA7B,CAAA,CAAI,GAAJ,CAGpB,IAAG6B,CAAH,CAASF,CAAT,CAGE,IAFI9E,CACJ,CADQ,CACR,CAAAmD,CAAA,CAAI,IAAAoC,SAAA,CAAc3F,CAAA,EAAd,CACJ,CAAMoF,CAAN,CAAYF,CAAZ,CAAA,CAAkBnE,CAAA,CAAMqE,CAAA,EAAN,CAAA,CAAe,CAAG,EAAC7B,CAAD,EAAOnD,CAAA,EAAP,CAAe,CAAf,CAGlC4E,EAAJ,GACE,IAAAhF,OADF,CACgBA,CADhB,CAGA,OAAOe,EAlCyC,CA2ClDyB,EAAAoD,UAAA,CAAgCC,QAAQ,CAAC5G,CAAD,CAASe,CAAT,CAAiB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2Bf,CAA3B,CAAoC,IAAAc,OAAA6E,WAApC,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAA0C,KAA1C,CAAgDf,CAAhD,CAAuD,OAAvD,CAA+D,IAAAc,OAAA6E,WAA/D,CAAN,CALY,CAOpB,IAAIkB,EAAQ,IAAAA,MAAA,CAAW9F,CAAX,CAAmBA,CAAnB,CAA4Bf,CAA5B,CACR+F,EAAJ,GAAc,IAAAhF,OAAd,EAA6Bf,CAA7B,CACA,OAAO6G,EAZ8C,CA0BzDtD,EAAAuD,WAAA,CAAiCvD,CAAAwD,OAWjCxD,EAAAyD,UAAA,CAAgCC,QAAQ,CAACnF,CAAD,CAAQf,CAAR,CAAgB,CACpD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN;AARY,CAUpB5E,CAAA,EAAU,CACV,KAAImG,EAAY,IAAApG,OAAA6E,WACZ5E,EAAJ,CAAamG,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmBnG,CAAnB,CAA4BmG,CAA5B,CAAwCnG,CAApD,CAEJ,KAAAiC,KAAA,CADAjC,CACA,CADU,CACV,CAAA,CAAoBe,CAChBiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB6C,CA+BxDwC,EAAA8C,UAAA,CAAgC9C,CAAAyD,UAQhCzD,EAAA6D,SAAA,CAA+BC,QAAQ,CAACtG,CAAD,CAAS,CAC5C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQ,IAAAkB,KAAA,CAAUjC,CAAV,CACW,IAAvB,IAAKe,CAAL,CAAa,GAAb,IAA6BA,CAA7B,CAAqC,EAAE,GAAF,CAASA,CAAT,CAAiB,CAAjB,CAArC,CACIiE,EAAJ,GAAc,IAAAhF,OAAd;AAA6B,CAA7B,CACA,OAAOe,EAbqC,CAuBhDyB,EAAAmD,SAAA,CAA+BnD,CAAA6D,SAS/B7D,EAAA+D,WAAA,CAAiCC,QAAQ,CAACzF,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAIyG,EAAY,IAAA1G,OAAA6E,WACZ5E,EAAJ,CAAayG,CAAb,EACI,IAAAL,OAAA,CAAY,CAACK,CAAD,EAAc,CAAd,EAAmBzG,CAAnB,CAA4ByG,CAA5B,CAAwCzG,CAApD,CAEJ;IAAAiC,KAAA,CADAjC,CACA,CADU,CACV,CAAA,CAAoBe,CAChBiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDwC,EAAAkE,WAAA,CAAiClE,CAAA+D,WAQjC/D,EAAAmE,UAAA,CAAgCC,QAAQ,CAAC5G,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQ,IAAAkB,KAAA,CAAUjC,CAAV,CACRgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAZsC,CAsBjDyB,EAAAqE,UAAA,CAAgCrE,CAAAmE,UAYhCnE,EAAAsE,WAAA,CAAiCC,QAAQ,CAAChG,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF;CAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAIgH,EAAY,IAAAjH,OAAA6E,WACZ5E,EAAJ,CAAagH,CAAb,EACI,IAAAZ,OAAA,CAAY,CAACY,CAAD,EAAc,CAAd,EAAmBhH,CAAnB,CAA4BgH,CAA5B,CAAwChH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA,CAAuBe,CAAvB,CAA+B,GAFnC,GAII,IAAAkB,KAAA,CAAUjC,CAAV,CACA,EADuBe,CACvB,CAD+B,KAC/B;AAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAA+B,GALnC,CAOIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA1B8C,CAsCzDwC,EAAAyE,WAAA,CAAiCzE,CAAAsE,WAUjCtE,EAAA0E,UAAA,CAAgCC,QAAQ,CAACnH,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAI7D,EAAQ,CACR,KAAAU,aAAJ,EACIV,CACA,CADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,CAFpC,GAIIe,CACA,CADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,EADgC,CAChC,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CALb,CAOyB,MAAzB,IAAKe,CAAL,CAAa,KAAb;CAAiCA,CAAjC,CAAyC,EAAE,KAAF,CAAWA,CAAX,CAAmB,CAAnB,CAAzC,CACIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EApBsC,CAgCjDyB,EAAA4E,UAAA,CAAgC5E,CAAA0E,UAUhC1E,EAAA6E,YAAA,CAAkCC,QAAQ,CAACvG,CAAD,CAAQf,CAAR,CAAgB,CACtD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAIuH,EAAY,IAAAxH,OAAA6E,WACZ5E;CAAJ,CAAauH,CAAb,EACI,IAAAnB,OAAA,CAAY,CAACmB,CAAD,EAAc,CAAd,EAAmBvH,CAAnB,CAA4BuH,CAA5B,CAAwCvH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA,CAAuBe,CAAvB,CAA+B,GAFnC,GAII,IAAAkB,KAAA,CAAUjC,CAAV,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAA+B,GALnC,CAOIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA1B+C,CAsC1DwC,EAAAgF,YAAA,CAAkChF,CAAA6E,YAUlC7E,EAAAiF,WAAA,CAAiCC,QAAQ,CAAC1H,CAAD,CAAS,CAC9C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN;AALY,CAOpB,IAAI7D,EAAQ,CACR,KAAAU,aAAJ,EACIV,CACA,CADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,CAFpC,GAIIe,CACA,CADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,EADgC,CAChC,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CALb,CAOIgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAnBuC,CA+BlDyB,EAAAmF,WAAA,CAAiCnF,CAAAiF,WAUjCjF,EAAAoF,WAAA,CAAiCC,QAAQ,CAAC9G,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAI8H,EAAY,IAAA/H,OAAA6E,WACZ5E,EAAJ,CAAa8H,CAAb,EACI,IAAA1B,OAAA,CAAY,CAAC0B,CAAD,EAAc,CAAd,EAAmB9H,CAAnB,CAA4B8H,CAA5B,CAAwC9H,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA,CAAuBe,CAAvB,CAAuC,GAJ3C,GAMI,IAAAkB,KAAA,CAAUjC,CAAV,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAAuC,GAT3C,CAWIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA9B8C,CAuCzDwC,EAAAuF,SAAA,CAA+BvF,CAAAoF,WAQ/BpF,EAAAwF,UAAA,CAAgCC,QAAQ,CAACjI,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC;AAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAI7D,EAAQ,CACR,KAAAU,aAAJ,EACIV,CAGA,CAHS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAe,CAEA,EAFS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAe,CACA,EADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,EAAhC,GAAuC,CAJ3C,GAMIe,CAGA,CAHS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAe,CAEA,EAFS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAe,CACA,EADS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAT,EAAgC,EAAhC,GAAuC,CAT3C,CAYIgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAFAe,EAEA,CAFS,CAtBoC,CAiCjDyB,EAAA0F,QAAA,CAA8B1F,CAAAwF,UAQ9BxF,EAAA2F,YAAA,CAAkCC,QAAQ,CAACrH,CAAD,CAAQf,CAAR,CAAgB,CACtD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAIqI,EAAY,IAAAtI,OAAA6E,WACZ5E,EAAJ,CAAaqI,CAAb,EACI,IAAAjC,OAAA,CAAY,CAACiC,CAAD,EAAc,CAAd,EAAmBrI,CAAnB,CAA4BqI,CAA5B,CAAwCrI,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA;AAAuBe,CAAvB,CAAuC,GAJ3C,GAMI,IAAAkB,KAAA,CAAUjC,CAAV,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAAuC,GAT3C,CAWIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA9B+C,CAwC1DwC,EAAA8F,YAAA,CAAkC9F,CAAA2F,YAQlC3F,EAAA+F,WAAA,CAAiCC,QAAQ,CAACxI,CAAD,CAAS,CAC9C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAI7D,EAAQ,CACR,KAAAU,aAAJ,EACIV,CAGA,CAHS,IAAAkB,KAAA,CAAUjC,CAAV;AAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAe,CAEA,EAFS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAe,CACA,EADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,EAAhC,GAAuC,CAJ3C,GAMIe,CAGA,CAHS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAe,CAEA,EAFS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAe,CACA,EADS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAT,EAAgC,EAAhC,GAAuC,CAT3C,CAWIgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAvBuC,CAiClDyB,EAAAiG,WAAA,CAAiCjG,CAAA+F,WAI7B3J,EAAJ,GASI4D,CAAAkG,WAyOA,CAzOiCC,QAAQ,CAAC5H,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACIA,CAAA,CAAQnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BnC,EAA1B,CAAN,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO7D,EAAX,CACIA,CADJ,CACYnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CAHZ,CAIAf,EAAA,EAAU,CACV,KAAI8I,EAAY,IAAA/I,OAAA6E,WACZ5E,EAAJ,CAAa8I,CAAb,EACI,IAAA1C,OAAA,CAAY,CAAC0C,CAAD,EAAc,CAAd,EAAmB9I,CAAnB,CAA4B8I,CAA5B,CAAwC9I,CAApD,CACJA,EAAA,EAAU,CACN+I,KAAAA,EAAKhI,CAAAiI,IAALD,CACAE,EAAKlI,CAAAmI,KACL,KAAAzH,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQA,CARuB+I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuB+I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuB+I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA9G,KAAA,CAAUjC,CAAV,CAKA,CALuB+I,CAKvB,CALoC,GAKpC,CAJA/I,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA;AAHuBiJ,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBiJ,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBiJ,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAAhH,KAAA,CAAUjC,CAAV,CAAA,CAAuBiJ,CAAvB,CAAoC,GATxC,GAWI,IAAAhH,KAAA,CAAUjC,CAAV,CAQA,CARuBiJ,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuBiJ,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuBiJ,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAKA,CALuBiJ,CAKvB,CALoC,GAKpC,CAJAjJ,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAGA,CAHuB+I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuB+I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuB+I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuB+I,CAAvB,CAAoC,GAnBxC,CAqBI/D,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjD8C,CAyOzD,CA9KAwC,CAAA2G,UA8KA,CA9KgC3G,CAAAkG,WA8KhC,CAtKAlG,CAAA4G,UAsKA,CAtKgCC,QAAQ,CAACrJ,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAHyB,IAUzCmE,EAAK,CAVoC,CAWzCE,EAAK,CACL,KAAAxH,aAAJ,EACIsH,CAQA,CARM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA+I,CAOA,EAPM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA+I,CAMA,EANM,IAAA9G,KAAA,CAAUjC,CAAV,CAMN,CALA+I,CAKA,EALM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHAiJ,CAGA,CAHM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFAiJ,CAEA,EAFM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADAiJ,CACA,EADM,IAAAhH,KAAA,CAAUjC,CAAV,CACN,CAAAiJ,CAAA,EAAM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CATxC,GAWIiJ,CAQA,CARM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPAiJ,CAOA,EAPM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANAiJ,CAMA,EANM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMN,CALAiJ,CAKA,EALM,IAAAhH,KAAA,CAAUjC,CAAV,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA+I,CAGA,CAHM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA+I,CAEA,EAFM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA+I,CACA,EADM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACN,CAAA+I,CAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAN,EAA6B,EAA7B,GAAoC,CAnBxC,CAqBIe;CAAAA,CAAQ,IAAInC,CAAJ,CAASmK,CAAT,CAAaE,CAAb,CAAiB,CAAA,CAAjB,CACRjE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAnCsC,CAsKjD,CA1HAyB,CAAA8G,SA0HA,CA1H+B9G,CAAA4G,UA0H/B,CAjHA5G,CAAA+G,YAiHA,CAjHkCC,QAAQ,CAACzI,CAAD,CAAQf,CAAR,CAAgB,CACtD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACIA,CAAA,CAAQnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BnC,EAA1B,CAAN,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO7D,EAAX,CACIA,CADJ,CACYnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CAHZ,CAIAf,EAAA,EAAU,CACV,KAAIyJ,EAAY,IAAA1J,OAAA6E,WACZ5E,EAAJ,CAAayJ,CAAb,EACI,IAAArD,OAAA,CAAY,CAACqD,CAAD,EAAc,CAAd,EAAmBzJ,CAAnB,CAA4ByJ,CAA5B,CAAwCzJ,CAApD,CACJA,EAAA,EAAU,CACN+I,KAAAA,EAAKhI,CAAAiI,IAALD,CACAE,EAAKlI,CAAAmI,KACL,KAAAzH,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQA,CARuB+I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuB+I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuB+I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA9G,KAAA,CAAUjC,CAAV,CAKA,CALuB+I,CAKvB,CALoC,GAKpC,CAJA/I,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuBiJ,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBiJ,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBiJ,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAAhH,KAAA,CAAUjC,CAAV,CAAA,CAAuBiJ,CAAvB,CAAoC,GATxC,GAWI,IAAAhH,KAAA,CAAUjC,CAAV,CAQA,CARuBiJ,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuBiJ,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuBiJ,CAMvB,GAN+B,CAM/B,CANoC,GAMpC;AALA,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAKA,CALuBiJ,CAKvB,CALoC,GAKpC,CAJAjJ,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAGA,CAHuB+I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuB+I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuB+I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuB+I,CAAvB,CAAoC,GAnBxC,CAqBI/D,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjD+C,CAiH1D,CArDAwC,CAAAkH,YAqDA,CArDkClH,CAAA+G,YAqDlC,CA7CA/G,CAAAmH,WA6CA,CA7CiCC,QAAQ,CAAC5J,CAAD,CAAS,CAC9C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAH0B,IAU1CmE,EAAK,CAVqC,CAW1CE,EAAK,CACL,KAAAxH,aAAJ;CACIsH,CAQA,CARM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA+I,CAOA,EAPM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA+I,CAMA,EANM,IAAA9G,KAAA,CAAUjC,CAAV,CAMN,CALA+I,CAKA,EALM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHAiJ,CAGA,CAHM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFAiJ,CAEA,EAFM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADAiJ,CACA,EADM,IAAAhH,KAAA,CAAUjC,CAAV,CACN,CAAAiJ,CAAA,EAAM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CATxC,GAWIiJ,CAQA,CARM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPAiJ,CAOA,EAPM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANAiJ,CAMA,EANM,IAAAhH,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMN,CALAiJ,CAKA,EALM,IAAAhH,KAAA,CAAUjC,CAAV,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA+I,CAGA,CAHM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA+I,CAEA,EAFM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA+I,CACA,EADM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACN,CAAA+I,CAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAN,EAA6B,EAA7B,GAAoC,CAnBxC,CAqBIe,EAAAA,CAAQ,IAAInC,CAAJ,CAASmK,CAAT,CAAaE,CAAb,CAAiB,CAAA,CAAjB,CACRjE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAnCuC,CA6ClD,CAAAyB,CAAAqH,WAAA,CAAiCrH,CAAAmH,WAlPrC,CAmYAnH,EAAAsH,aAAA,CAAmCC,QAAQ,CAAChJ,CAAD,CAAQf,CAAR,CAAgB,CACvD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAOX,EAAX,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CASpB5E,CAAA,EAAU,CACV,KAAIgK,EAAY,IAAAjK,OAAA6E,WACZ5E,EAAJ,CAAagK,CAAb,EACI,IAAA5D,OAAA,CAAY,CAAC4D,CAAD,EAAc,CAAd,EAAmBhK,CAAnB,CAA4BgK,CAA5B,CAAwChK,CAApD,CAEJc,EAAA,CAAc,IAAAmB,KAAd,CAAyBlB,CAAzB,CADAf,CACA,CADU,CACV,CAAwC,IAAAyB,aAAxC,CAA2D,EAA3D,CAA+D,CAA/D,CACIuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DwC,EAAAyH,WAAA,CAAiCzH,CAAAsH,aAQjCtH,EAAA0H,YAAA,CAAkCC,QAAQ,CAACnK,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ;CAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQjB,CAAA,CAAa,IAAAmC,KAAb,CAAwBjC,CAAxB,CAAgC,IAAAyB,aAAhC,CAAmD,EAAnD,CAAuD,CAAvD,CACRuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAZwC,CAsBnDyB,EAAA4H,UAAA,CAAgC5H,CAAA0H,YAWhC1H,EAAA6H,aAAA,CAAmCC,QAAQ,CAACvJ,CAAD,CAAQf,CAAR,CAAgB,CACvD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,iBAAlC,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CASpB5E,CAAA,EAAU,CACV,KAAIuK,EAAY,IAAAxK,OAAA6E,WACZ5E,EAAJ,CAAauK,CAAb,EACI,IAAAnE,OAAA,CAAY,CAACmE,CAAD,EAAc,CAAd,EAAmBvK,CAAnB,CAA4BuK,CAA5B,CAAwCvK,CAApD,CAEJc,EAAA,CAAc,IAAAmB,KAAd,CAAyBlB,CAAzB,CADAf,CACA,CADU,CACV,CAAwC,IAAAyB,aAAxC,CAA2D,EAA3D,CAA+D,CAA/D,CACIuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DwC,EAAAgI,YAAA,CAAkChI,CAAA6H,aAQlC7H,EAAAiI,YAAA,CAAkCC,QAAQ,CAAC1K,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD;AAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQjB,CAAA,CAAa,IAAAmC,KAAb,CAAwBjC,CAAxB,CAAgC,IAAAyB,aAAhC,CAAmD,EAAnD,CAAuD,CAAvD,CACRuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAZwC,CAsBnDyB,EAAAmI,WAAA,CAAiCnI,CAAAiI,YAWjClJ,EAAAqJ,mBAAA,CAAgC,CAQhCrJ,EAAAsJ,kBAAA,CAA+BC,QAAQ,CAAC/J,CAAD,CAAQ,CAE3CA,CAAA,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/CQ,EAAAwJ,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxC1J,EAAA2J,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT,GAAe,CAAf,CAAoB,EAAEA,CAAF;AAAM,CAAN,CAApB,CAAgC,CADI,CAYxCzI,EAAA6C,cAAA,CAAoC+F,QAAQ,CAACrK,CAAD,CAAQf,CAAR,CAAgB,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAHoC,IAapDyG,EAAO9J,CAAAsJ,kBAAA,CAA6B9J,CAA7B,CAb6C,CAcpDuK,CACJtL,EAAA,EAAUqL,CACNE,EAAAA,CAAa,IAAAxL,OAAA6E,WACb5E,EAAJ,CAAauL,CAAb,EACI,IAAAnF,OAAA,CAAY,CAACmF,CAAD,EAAe,CAAf,EAAoBvL,CAApB,CAA6BuL,CAA7B,CAA0CvL,CAAtD,CACJA;CAAA,EAAUqL,CAEV,KADAtK,CACA,IADW,CACX,CAAgB,GAAhB,EAAOA,CAAP,CAAA,CACIuK,CAEA,CAFKvK,CAEL,CAFa,GAEb,CAFqB,GAErB,CADA,IAAAkB,KAAA,CAAUjC,CAAA,EAAV,CACA,CADsBsL,CACtB,CAAAvK,CAAA,IAAW,CAEf,KAAAkB,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBe,CACtB,OAAIiE,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOqL,CA/BiD,CA0C5D7I,EAAAgJ,oBAAA,CAA0CC,QAAQ,CAAC1K,CAAD,CAAQf,CAAR,CAAgB,CAC9D,MAAO,KAAAqF,cAAA,CAAmB9D,CAAAwJ,eAAA,CAA0BhK,CAA1B,CAAnB,CAAqDf,CAArD,CADuD,CAclEwC,EAAAkD,aAAA,CAAmCgG,QAAQ,CAAC1L,CAAD,CAAS,CAChD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN;AALY,CAH4B,IAU5C5D,EAAI,CAVwC,CAW5CD,EAAQ,CAXoC,CAY5CuK,CACJ,GAAG,CACC,GAAK5J,CAAA,IAAAA,SAAL,EAAsB1B,CAAtB,CAA+B,IAAAoC,MAA/B,CAGI,KAFIuJ,EAEEA,CAFIpH,KAAA,CAAM,WAAN,CAEJoH,CADNA,CAAA,UACMA,CADa,CAAA,CACbA,CAAAA,CAAN,CAEJL,CAAA,CAAI,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CACI,EAAR,CAAIgB,CAAJ,GACID,CADJ,GACcuK,CADd,CACkB,GADlB,GAC4B,CAD5B,CAC8BtK,CAD9B,CAEA,GAAEA,CATH,CAAH,MAUwB,CAVxB,IAUUsK,CAVV,CAUc,GAVd,EAWAvK,EAAA,EAAS,CACT,OAAIiE,EAAJ,EACI,IAAAhF,OACOe,CADOf,CACPe,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAUC,CAFP,CA7ByC,CA4CpDwB,EAAAoJ,mBAAA,CAAyCC,QAAQ,CAAC7L,CAAD,CAAS,CAClD8L,CAAAA,CAAM,IAAApG,aAAA,CAAkB1F,CAAlB,CACS,SAAnB,GAAI,MAAO8L,EAAX,CACIA,CAAA,MADJ,CACmBvK,CAAA2J,eAAA,CAA0BY,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGUvK,CAAA2J,eAAA,CAA0BY,CAA1B,CACV,OAAOA,EAN+C,CAWtDlN,EAAJ,GAQI2C,CAAAwK,mBAgMA,CAhMgC,EAgMhC,CAxLAxK,CAAAyK,kBAwLA,CAxL+BC,QAAQ,CAAClL,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CAHZ,CAD2C,KAMvCmL,EAAQnL,CAAAoL,MAAA,EAARD;AAA0B,CANa,CAOvCE,EAAQrL,CAAAsL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQvL,CAAAsL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EAtBW,CAwL/C,CAzJA/K,CAAAgL,eAyJA,CAzJ4BC,QAAQ,CAACzL,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA0L,SAFJ,GAE8B1L,CAF9B,CAEsCA,CAAA2L,SAAA,EAFtC,CAIL,OAAO3L,EAAA4L,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuB7L,CAAA8L,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EAPiC,CAyJ5C,CAzIAvL,CAAAwL,eAyIA,CAzI4BC,QAAQ,CAACjM,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA0L,SAFJ;CAE8B1L,CAF9B,CAEsCA,CAAA2L,SAAA,EAFtC,CAIL,OAAO3L,EAAAsL,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgC7L,CAAAkM,IAAA,CAAUrO,CAAAsO,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EAPiC,CAyI5C,CAvHAlK,CAAA4K,cAuHA,CAvHoCC,QAAQ,CAACtM,CAAD,CAAQf,CAAR,CAAgB,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACIA,CAAA,CAAQnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CADP,KAEA,IAAM,EAAAA,CAAA,EAASA,CAAT,WAA0BnC,EAA1B,CAAN,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO7D,EAAX,CACIA,CADJ,CACYnC,CAAAgK,WAAA,CAAgB7H,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOnC,CAAAiK,WAAA,CAAgB9H,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAA0L,SAFJ,GAE8B1L,CAF9B,CAEsCA,CAAA2L,SAAA,EAFtC,CAlBmD,KAqBpDrB,EAAO9J,CAAAyK,kBAAA,CAA6BjL,CAA7B,CArB6C,CAsBpDmL,EAAQnL,CAAAoL,MAAA,EAARD,GAA0B,CAtB0B,CAuBpDE,EAAQrL,CAAAsL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CAvBG,CAwBpDE,EAAQvL,CAAAsL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDtM,EAAA,EAAUqL,CACV,KAAIiC,EAAa,IAAAvN,OAAA6E,WACb5E,EAAJ,CAAasN,CAAb,EACI,IAAAlH,OAAA,CAAY,CAACkH,CAAD,EAAe,CAAf,EAAoBtN,CAApB,CAA6BsN,CAA7B,CAA0CtN,CAAtD,CACJA,EAAA,EAAUqL,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAApJ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBsM,CAAvB,GAAkC,CAAlC,CAAuC,CAChD,MAAK,CAAL,CAAS,IAAArK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAciB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAArK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAce,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA;AAA+B,CAAT,GAAAqL,CAAA,CAAce,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAce,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAce,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAca,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAca,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAca,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAA,CAA+B,CAAT,GAAAqL,CAAA,CAAca,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAVzF,CAYA,MAAIlH,EAAJ,EACI,IAAAhF,OACO,EADQqL,CACR,CAAA,IAFX,EAIWA,CA9C6C,CAuH5D,CA7DA7I,CAAA+K,oBA6DA,CA7D0CC,QAAQ,CAACzM,CAAD,CAAQf,CAAR,CAAgB,CAC9D,MAAO,KAAAoN,cAAA,CAAmB7L,CAAAgL,eAAA,CAA0BxL,CAA1B,CAAnB,CAAqDf,CAArD,CADuD,CA6DlE,CAhDAwC,CAAAiL,aAgDA,CAhDmCC,QAAQ,CAAC1N,CAAD,CAAS,CAChD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAH4B,IAW5CK,EAAQjF,CAXoC,CAY5CkM,EAAQ,CAZoC,CAa5CE,EAAQ,CAboC,CAc5CE,EAAQ,CAdoC,CAe5ChB,EAAK,CAfuC,CAgBhDA,EAAI,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAhB4C,CAgBvBkM,EAAUZ,CAAVY,CAAc,GAAa,IAAKZ,CAAL,CAAS,GAAT,GACpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BkM,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAD3C,IAEpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BkM,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAF3C,IAGpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BkM,CAA+B,GAArBZ,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAH3C,IAIpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD;AAA/BoM,CAA+B,CAArBd,CAAqB,CAAjB,GAAiB,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAJ3C,IAKpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BoM,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAL3C,IAMpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BoM,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAN3C,IAOpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BoM,CAA+B,GAArBd,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAP3C,IAQpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BsM,CAA+B,CAArBhB,CAAqB,CAAjB,GAAiB,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAR3C,IASpDA,CAAwD,CAApD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BsM,CAA+B,GAArBhB,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA5J,SAAf,EAA6C,WAA7C,GAAgC,MAAO4J,EAT3C,EAUpD,KAAM/G,MAAA,CAAM,gBAAN,CAAN,CACIxD,CAAAA,CAAQnC,CAAA+O,SAAA,CAAczB,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD;AAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAItH,EAAJ,EACI,IAAAhF,OACOe,CADOf,CACPe,CAAAA,CAFX,EAIW,CACH,MAASA,CADN,CAEH,OAAUf,CAAV,CAAiBiF,CAFd,CAhCqC,CAgDpD,CAAAzC,CAAAoL,mBAAA,CAAyCC,QAAQ,CAAC7N,CAAD,CAAS,CAEtD,CADI8L,CACJ,CADU,IAAA2B,aAAA,CAAkBzN,CAAlB,CACV,GAAW8L,CAAA,MAAX,WAAmClN,EAAnC,CACIkN,CAAA,MADJ,CACmBvK,CAAAwL,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGUvK,CAAAwL,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EAN+C,CAxM9D,CA+NAtJ,EAAAsL,aAAA,CAAmCC,QAAQ,CAACC,CAAD,CAAMhO,CAAN,CAAc,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CAFqD,KAGjDhB,CAHiD,CAIjDuE,EAAIyK,CAAA/O,OACR,IAAKyC,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOsM,EAAX,CACI,KAAMxJ,UAAA,CAAU,2BAAV,CAAN,CACJ,IAAKxF,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYuE,CAAZ,CAAe,EAAEvE,CAAjB,CACI,GAA0B,CAA1B,GAAIgP,CAAA9O,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAM8C,WAAA,CAAW,uCAAX,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAO9B,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAcpBrB,CAAA,CAAI0K,CAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJhO,EAAA,EAAUuD,CAAV,CAAY,CACR4K,EAAAA,CAAa,IAAApO,OAAA6E,WACb5E,EAAJ,CAAamO,CAAb,EACI,IAAA/H,OAAA,CAAY,CAAC+H,CAAD,EAAe,CAAf,EAAoBnO,CAApB,CAA6BmO,CAA7B,CAA0CnO,CAAtD,CACJA,EAAA,EAAUuD,CAAV,CAAY,CACZ0K,EAAAG,kBAAA,CAAuBtP,CAAA,CAAakP,CAAb,CAAvB,CAA0C,QAAQ,CAAC1C,CAAD,CAAI,CAClD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBsL,CAD4B,CAAZ+C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAApM,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsB,CACtB,OAAIgF,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOuD,CAjC8C,CA6CzDf,EAAA8L,YAAA,CAAkCC,QAAQ,CAACvO,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAH2B,IAU3CK,EAAQjF,CAVmC,CAa3CwO,CAb2C,CAavClD,EAAK,EACb2C,EAAAQ,kBAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAInD,CAAJ,CAAa,MAAO,KACpB,IAAItL,CAAJ,EAAc,IAAAoC,MAAd,CACI,KAAMN,WAAA,CAAW,iCAAX,CAA6C9B,CAA7C,CAAoD,KAApD,CAA0D,IAAAoC,MAA1D,CAAN,CACJkJ,CAAA,CAAI,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CACJ,OAAa,EAAN,GAAAsL,CAAA,CAAU,IAAV,CAAiBA,CALM,CAAX+C,KAAA,CAMhB,IANgB,CAAvB,CAMcG,CANd,CAMmBrP,CAAA,EANnB,CAMwC,CAAA,CANxC,CAOA,OAAI6F,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAwO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxO,CAAV,CAAmBiF,CAFhB,CAzBoC,CA2CnDzC,EAAAkM,aAAA,CAAmCC,QAAQ,CAACX,CAAD,CAAMhO,CAAN,CAAc,CACrD,IAAIgF;AAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOsM,EAAX,CACI,KAAMxJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CAHiC,IAYjDK,EAAQjF,CAZyC,CAajDuD,CACJA,EAAA,CAAI0K,CAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAA6C,IAAAtM,SAA7C,CAAA,CAA4D,CAA5D,CACJ1B,EAAA,EAAU,CAAV,CAAYuD,CACZ,KAAIqL,EAAa,IAAA7O,OAAA6E,WACb5E,EAAJ,CAAa4O,CAAb,EACI,IAAAxI,OAAA,CAAY,CAACwI,CAAD,EAAe,CAAf,EAAoB5O,CAApB,CAA6B4O,CAA7B,CAA0C5O,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYuD,CACR,KAAA9B,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV;AAAiB,CAAjB,CAGA,CAHuBuD,CAGvB,GAH6B,EAG7B,CAHmC,GAGnC,CAFA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBuD,CAEvB,GAF6B,EAE7B,CAFmC,GAEnC,CADA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBuD,CACvB,GAD8B,CAC9B,CADmC,GACnC,CAAA,IAAAtB,KAAA,CAAUjC,CAAV,CAAA,CAAuBuD,CAAvB,CAAmC,GAJvC,GAMI,IAAAtB,KAAA,CAAUjC,CAAV,CAGA,CAHuBuD,CAGvB,GAH6B,EAG7B,CAHmC,GAGnC,CAFA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBuD,CAEvB,GAF6B,EAE7B,CAFmC,GAEnC,CADA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBuD,CACvB,GAD8B,CAC9B,CADmC,GACnC,CAAA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBuD,CAAvB,CAAmC,GATvC,CAWAvD,EAAA,EAAU,CACViO,EAAAG,kBAAA,CAAuBtP,CAAA,CAAakP,CAAb,CAAvB,CAA0C,QAAQ,CAAC1C,CAAD,CAAI,CAClD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBsL,CAD4B,CAAZ+C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAIrO,CAAJ,GAAeiF,CAAf,CAAuB,CAAvB,CAA2B1B,CAA3B,CACI,KAAMzB,WAAA,CAAW,iCAAX,CAA6C9B,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE,CAAnE,CAAqEuD,CAArE,EAAN,CACJ,MAAIyB,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBiF,CAzCqC,CAqDzDzC,EAAAqM,YAAA,CAAkCC,QAAQ,CAAC9O,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV;AAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAIK,EAAQjF,CAAZ,CACI+O,EAAM,IAAAxG,WAAA,CAAgBvI,CAAhB,CADV,CAEIgO,EAAM,IAAAgB,eAAA,CAAoBD,CAApB,CAAyBxN,CAAA0N,cAAzB,CAAmDjP,CAAnD,EAA6D,CAA7D,CACVA,EAAA,EAAUgO,CAAA,OACV,OAAIhJ,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAgO,CAAA,OAFX,EAIW,CACH,OAAUA,CAAA,OADP,CAEH,OAAUhO,CAAV,CAAmBiF,CAFhB,CAlBoC,CAiCnD1D,EAAA2N,cAAA,CAA2B,GAQ3B3N,EAAA0N,cAAA,CAA2B,GAS3BzM,EAAA2M,gBAAA,CAAsCC,QAAQ,CAACpB,CAAD,CAAMhO,CAAN,CAAc,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV;AAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAIrB,CAAJ,CACI0B,EAAQjF,CACZuD,EAAA,CAAI0K,CAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJhO,EAAA,EAAUuD,CACV,KAAI8L,EAAa,IAAAtP,OAAA6E,WACb5E,EAAJ,CAAaqP,CAAb,EACI,IAAAjJ,OAAA,CAAY,CAACiJ,CAAD,EAAe,CAAf,EAAoBrP,CAApB,CAA6BqP,CAA7B,CAA0CrP,CAAtD,CACJA,EAAA,EAAUuD,CACV0K,EAAAG,kBAAA,CAAuBtP,CAAA,CAAakP,CAAb,CAAvB,CAA0C,QAAQ,CAAC1C,CAAD,CAAI,CAClD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBsL,CAD4B,CAAZ+C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAIrJ,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBiF,CAzBwC,CAoC5DzC,EAAA8M,YAAA,CAAkC9M,CAAA2M,gBASlC5N,EAAAgO,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAU9CzM,EAAAkO,mBAAA,CAAgCC,QAAQ,CAAC1B,CAAD,CAAM,CAC1C,MAAOC,EAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9CzM;CAAAoO,gBAAA,CAA6BpO,CAAAkO,mBAa7BjN,EAAAwM,eAAA,CAAqCY,QAAQ,CAAC3Q,CAAD,CAAS4Q,CAAT,CAAkB7P,CAAlB,CAA0B,CAC5C,QAAvB,GAAI,MAAO6P,EAAX,GACI7P,CACA,CADS6P,CACT,CAAAA,CAAA,CAAUvM,IAAAA,EAFd,CAIA,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAO6P,EAAX,GAAoCA,CAApC,CAA8CtO,CAAA2N,cAA9C,CACA,IAAKxN,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOzC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMuF,UAAA,CAAU,kBAAV,CAA6BvF,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAOe,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD;AAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAR+C,IAkB/D5F,EAAI,CAlB2D,CAmB/DiG,EAAQjF,CAnBuD,CAoB/DwO,CACJ,IAAIqB,CAAJ,GAAgBtO,CAAA2N,cAAhB,CAA0C,CACtCV,CAAA,CAAKrP,CAAA,EACL8O,EAAA6B,WAAA,CAAgB,QAAQ,EAAG,CACvB,MAAO9Q,EAAA,CAAIC,CAAJ,EAAce,CAAd,CAAuB,IAAAoC,MAAvB,CAAoC,IAAAH,KAAA,CAAUjC,CAAA,EAAV,CAApC,CAA0D,IAD1C,CAAXqO,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAAC0B,CAAD,CAAK,CACvB,EAAE/Q,CAAGiP,EAAA+B,YAAA,CAAiBD,CAAjB,CAAqBvB,CAArB,CADkB,CAF3B,CAKA,IAAIxP,CAAJ,GAAUC,CAAV,CACI,KAAM6C,WAAA,CAAW,iCAAX,CAA6C9C,CAA7C,CAA+C,MAA/C,CAAsDC,CAAtD,CAAN,CACJ,MAAI+F,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAwO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxO,CAAV,CAAmBiF,CAFhB,CAb2B,CAkBnC,GAAI4K,CAAJ,GAAgBtO,CAAA0N,cAAhB,CAA0C,CAC7C,GAAKvN,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2Bf,CAA3B,CAAoC,IAAAc,OAAA6E,WAApC,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAA0C,KAA1C,CAAgDf,CAAhD,CAAuD,OAAvD,CAA+D,IAAAc,OAAA6E,WAA/D,CAAN,CALY,CAOpB,IAAIrB,EAAIvD,CAAJuD,CAAatE,CACjBgP,EAAAQ,kBAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOzO,EAAA,CAASuD,CAAT,CAAa,IAAAtB,KAAA,CAAUjC,CAAA,EAAV,CAAb,CAAmC,IADZ,CAAXqO,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBrP,CAAA,EAFnB,CAEwC,IAAAuC,SAFxC,CAGA,IAAI1B,CAAJ,GAAeuD,CAAf,CACI,KAAMzB,WAAA,CAAW,iCAAX,CAA6C9B,CAA7C,CAAoD,MAApD,CAA2DuD,CAA3D,CAAN,CACJ,MAAIyB,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAwO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUxO,CAAV,CAAmBiF,CAFhB,CAlBkC,CAwB7C,KAAMT,UAAA,CAAU,uBAAV,CAAkCqL,CAAlC,CAAN,CA/D+D,CA8EvErN,EAAAyN,WAAA,CAAiCzN,CAAAwM,eAajCxM,EAAA0N,aAAA,CAAmCC,QAAQ,CAACnC,CAAD,CAAMhO,CAAN,CAAc,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOsM,EAAX,CACI,KAAMxJ,UAAA,CAAU,2BAAV,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAOxE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CAHiC,IAYjDK,EAAQjF,CAZyC,CAajDuD,CAbiD,CAa9C6M,CACP7M,EAAA,CAAI0K,CAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAA6C,IAAAtM,SAA7C,CAAA,CAA4D,CAA5D,CACJ0O,EAAA,CAAI7O,CAAAsJ,kBAAA,CAA6BtH,CAA7B,CACJvD,EAAA,EAAUoQ,CAAV,CAAY7M,CACZ,KAAI8M,EAAa,IAAAtQ,OAAA6E,WACb5E,EAAJ,CAAaqQ,CAAb,EACI,IAAAjK,OAAA,CAAY,CAACiK,CAAD,EAAe,CAAf,EAAoBrQ,CAApB,CAA6BqQ,CAA7B,CAA0CrQ,CAAtD,CACJA,EAAA,EAAUoQ,CAAV,CAAY7M,CACZvD,EAAA,EAAU,IAAAqF,cAAA,CAAmB9B,CAAnB,CAAsBvD,CAAtB,CACViO,EAAAG,kBAAA,CAAuBtP,CAAA,CAAakP,CAAb,CAAvB,CAA0C,QAAQ,CAAC1C,CAAD,CAAI,CAClD,IAAArJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBsL,CAD4B,CAAZ+C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAIrO,CAAJ,GAAeiF,CAAf,CAAqB1B,CAArB,CAAuB6M,CAAvB,CACI,KAAMtO,WAAA,CAAW,iCAAX;AAA6C9B,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmEuD,CAAnE,CAAqE6M,CAArE,EAAN,CACJ,MAAIpL,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBiF,CA/BqC,CA2CzDzC,EAAA8N,YAAA,CAAkCC,QAAQ,CAACvQ,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAIK,EAAQjF,CAAZ,CACI+O,EAAM,IAAArJ,aAAA,CAAkB1F,CAAlB,CADV,CAEIgO,EAAM,IAAAgB,eAAA,CAAoBD,CAAA,MAApB,CAAkCxN,CAAA0N,cAAlC,CAA4DjP,CAA5D,EAAsE+O,CAAA,OAAtE,CACV/O,EAAA,EAAUgO,CAAA,OACV,OAAIhJ,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAgO,CAAA,OAFX,EAIW,CACH,OAAUA,CAAA,OADP;AAEH,OAAUhO,CAAV,CAAmBiF,CAFhB,CAlBoC,CAuCnDzC,EAAAwD,OAAA,CAA6BwK,QAAQ,CAACC,CAAD,CAASpN,CAAT,CAAmBrD,CAAnB,CAA2B,CAC5D,GAAwB,QAAxB,GAAI,MAAOqD,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIrD,CACA,CADSqD,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOd6L,CAAN,WAAwBlP,EAAxB,GACIkP,CADJ,CACalP,CAAAkC,KAAA,CAAgBgN,CAAhB,CAAwBpN,CAAxB,CADb,CAEIpE,EAAAA,CAASwR,CAAArO,MAATnD,CAAwBwR,CAAAzQ,OAC5B,IAAc,CAAd,EAAIf,CAAJ,CAAiB,MAAO,KACxBe,EAAA,EAAUf,CACV,KAAIyR,EAAa,IAAA3Q,OAAA6E,WACb5E,EAAJ,CAAa0Q,CAAb,EACI,IAAAtK,OAAA,CAAY,CAACsK,CAAD,EAAe,CAAf;AAAoB1Q,CAApB,CAA6B0Q,CAA7B,CAA0C1Q,CAAtD,CACJA,EAAA,EAAUf,CACV,KAAAgD,KAAA2B,IAAA,CAAc6M,CAAAxO,KAAA4B,SAAA,CAAqB4M,CAAAzQ,OAArB,CAAoCyQ,CAAArO,MAApC,CAAd,CAAiEpC,CAAjE,CACAyQ,EAAAzQ,OAAA,EAAiBf,CACb+F,EAAJ,GAAc,IAAAhF,OAAd,EAA6Bf,CAA7B,CACA,OAAO,KA1BqD,CAuChEuD,EAAAmO,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAS7Q,CAAT,CAAiB,CACpD6Q,CAAA7K,OAAA,CAAc,IAAd,CAAoBhG,CAApB,CACA,OAAO,KAF6C,CAYxDwC,EAAAsO,OAAA,CAA6BC,QAAQ,CAACD,CAAD,CAAS,CAC1C,IAAApP,SAAA,CAAgB,CAACoP,CACjB,OAAO,KAFmC,CAU9CtO,EAAAhB,SAAA,CAA+BwP,QAAQ,EAAG,CACtC,MAAO,KAAAjR,OAAA6E,WAD+B,CAS1CpC,EAAAyO,MAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAAlR,OAAA,CAAc,CACd,KAAAoC,MAAA,CAAa,IAAArC,OAAA6E,WACb,KAAAzC,aAAA,CAAqB,EACrB,OAAO,KAJ4B,CAcvCK,EAAAiC,MAAA,CAA4B0M,QAAQ,CAACC,CAAD,CAAO,CACvC,IAAI1N,EAAK,IAAInC,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACL0P,EAAJ,EACI1N,CAAA3D,OACA,CADY,IAAIiC,WAAJ,CAAgB,IAAAjC,OAAA6E,WAAhB,CACZ,CAAAlB,CAAAzB,KAAA,CAAU,IAAIC,UAAJ,CAAewB,CAAA3D,OAAf,CAFd;CAII2D,CAAA3D,OACA,CADY,IAAAA,OACZ,CAAA2D,CAAAzB,KAAA,CAAU,IAAAA,KALd,CAOAyB,EAAA1D,OAAA,CAAY,IAAAA,OACZ0D,EAAAvB,aAAA,CAAkB,IAAAA,aAClBuB,EAAAtB,MAAA,CAAW,IAAAA,MACX,OAAOsB,EAZgC,CAwB3ClB,EAAA6O,QAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC;AAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAI2M,CAAJ,EAAmBC,CAAnB,GAA2B,IAAAzR,OAAA6E,WAA3B,CACI,MAAO,KACX,KAAImK,EAAMyC,CAANzC,CAAYwC,CAChB,IAAY,CAAZ,GAAIxC,CAAJ,CAMI,MALA,KAAAhP,OAKO,CALOgC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAE,aAGG,GAHqB,IAAAA,aAGrB,EAH0CoP,CAG1C,EADP,IAAAnP,MACO,CAFP,IAAApC,OAEO,CAFO,CAEP,CAAA,IAEX,KAAID,EAAS,IAAIiC,WAAJ,CAAgB+M,CAAhB,CAAb,CACI9M,EAAO,IAAIC,UAAJ,CAAenC,CAAf,CACXkC,EAAA2B,IAAA,CAAS,IAAA3B,KAAA4B,SAAA,CAAmB0N,CAAnB,CAA0BC,CAA1B,CAAT,CACA,KAAAzR,OAAA,CAAcA,CACd,KAAAkC,KAAA,CAAYA,CACa,EAAzB,EAAI,IAAAE,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDoP,CAAjD,CACA,KAAAvR,OAAA,CAAc,CACd,KAAAoC,MAAA,CAAa2M,CACb,OAAO,KAhCwC,CA2CnDvM,EAAA4O,KAAA,CAA2BK,QAAQ,CAACF,CAAD,CAAQC,CAAR,CAAa,CACvB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB;AAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,GAAI2M,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAIjQ,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdiC,KAexCF,EAAWgQ,CAAXhQ,CAAiB+P,CAfuB,CAgBxC7N,EAAK,IAAInC,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACTgC,EAAA1D,OAAA,CAAY,CACZ0D,EAAAtB,MAAA,CAAWZ,CACY,EAAvB,EAAIkC,CAAAvB,aAAJ,GAA0BuB,CAAAvB,aAA1B,EAA6CoP,CAA7C,CACA,KAAAG,OAAA,CAAYhO,CAAZ,CAAgB,CAAhB,CAAmB6N,CAAnB,CAA0BC,CAA1B,CACA,OAAO9N,EArBqC,CAoChDlB,EAAAkP,OAAA,CAA6BC,QAAQ,CAACd,CAAD;AAASe,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAC/E9M,CAD+E,CAE/E+M,CACJ,IAAKrQ,CAAA,IAAAA,SAAL,EACS,CAAAH,CAAAiC,aAAA,CAAwBqN,CAAxB,CADT,CAEQ,KAAMrM,UAAA,CAAU,kCAAV,CAAN,CAERoN,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDf,CAAA7Q,OAAzD,CAAyE4R,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAAC7M,CAAD,CAAoC,WAApC,GAAY,MAAO6M,EAAnB,EAAmD,IAAA7R,OAAnD,CAAiE6R,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAA1P,MAArC,CAAkD0P,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuCf,CAAA9Q,OAAA6E,WAAvC,CACI,KAAM9C,WAAA,CAAW,6BAAX,CAAyC8P,CAAzC,CAAsD,MAAtD,CAA6Df,CAAA9Q,OAAA6E,WAA7D,CAAN,CACJ,GAAmB,CAAnB,CAAIiN,CAAJ,EAAwBC,CAAxB,CAAsC,IAAA/R,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,6BAAX,CAAyC+P,CAAzC,CAAsD,MAAtD,CAA6D,IAAA9R,OAAA6E,WAA7D,CAAN,CAEJ,IAAImK,EAAM+C,CAAN/C,CAAoB8C,CACxB,IAAY,CAAZ,GAAI9C,CAAJ,CACI,MAAO8B,EAEXA,EAAAmB,eAAA,CAAsBJ,CAAtB,CAAqC7C,CAArC,CAEA8B;CAAA5O,KAAA2B,IAAA,CAAgB,IAAA3B,KAAA4B,SAAA,CAAmBgO,CAAnB,CAAiCC,CAAjC,CAAhB,CAA+DF,CAA/D,CAEI5M,EAAJ,GAAc,IAAAhF,OAAd,EAA6B+O,CAA7B,CACIgD,EAAJ,GAAoBlB,CAAA7Q,OAApB,EAAqC+O,CAArC,CAEA,OAAO,KA3B4E,CAsCvFvM,EAAAwP,eAAA,CAAqCC,QAAQ,CAACzQ,CAAD,CAAW,CACpD,IAAI0Q,EAAU,IAAAnS,OAAA6E,WACd,OAAIsN,EAAJ,CAAc1Q,CAAd,CACW,IAAA4E,OAAA,CAAY,CAAC8L,CAAD,EAAY,CAAZ,EAAiB1Q,CAAjB,CAA4B0Q,CAA5B,CAAsC1Q,CAAlD,CADX,CAEO,IAJ6C,CAkBxDgB,EAAA2P,KAAA,CAA2BC,QAAQ,CAACrR,CAAD,CAAQwQ,CAAR,CAAeC,CAAf,CAAoB,CACnD,IAAIxM,EAA4B,WAA5BA,GAAW,MAAOuM,EAClBvM,EAAJ,GAAcuM,CAAd,CAAsB,IAAAvR,OAAtB,CACqB,SAArB,GAAI,MAAOe,EAAX,EAAgD,CAAhD,CAAiCA,CAAA9B,OAAjC,GACI8B,CADJ,CACYA,CAAA7B,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAOqS,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA;AAAS,CACT,IAAqB,QAArB,GAAI,MAAOwQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CAXY,CAapB,GAAI2M,CAAJ,EAAaC,CAAb,CACI,MAAO,KACX,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAAvP,KAAA,CAAUsP,CAAA,EAAV,CAAA,CAAqBxQ,CACrCiE,EAAJ,GAAc,IAAAhF,OAAd,CAA4BuR,CAA5B,CACA,OAAO,KAxB4C,CAiCvD/O,EAAA6P,KAAA,CAA2BC,QAAQ,EAAG,CAClC,IAAAlQ,MAAA,CAAa,IAAApC,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH2B,CActCwC,EAAA+P,KAAA,CAA2BC,QAAQ,CAACxS,CAAD,CAAS,CACxCA,CAAA,CAA2B,WAAlB,GAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD;GAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAAzC,aAAA,CAAoBnC,CACpB,OAAO,KAViC,CAkB5CwC,EAAAiQ,MAAA,CAA4BC,QAAQ,CAACjR,CAAD,CAAe,CAC/C,GAAKC,CAAA,IAAAA,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM+C,UAAA,CAAU,qCAAV,CAAN,CAER,IAAA/C,aAAA,CAAoB,CAAEA,CAAAA,CACtB,OAAO,KANwC,CAenDe,EAAAmQ,GAAA,CAAyBC,QAAQ,CAACnR,CAAD,CAAe,CAC5C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAEA,CAAAA,CAAxC,CAAuD,CAAA,CAC3E,OAAO,KAFqC,CAWhDe,EAAAqQ,GAAA,CAAyBC,QAAQ,CAACC,CAAD,CAAY,CACzC,IAAAtR,aAAA;AAAyC,WAArB,GAAA,MAAOsR,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFkC,CAkB7CvQ,EAAAwQ,QAAA,CAA8BC,QAAQ,CAACxC,CAAD,CAASpN,CAAT,CAAmBrD,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAOqD,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIrD,CACA,CADSqD,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAK0B,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOd6L,CAAN,WAAwBlP,EAAxB,GACIkP,CADJ,CACalP,CAAAkC,KAAA,CAAgBgN,CAAhB,CAAwBpN,CAAxB,CADb,CAEI0L,EAAAA,CAAM0B,CAAArO,MAAN2M,CAAqB0B,CAAAzQ,OACzB,IAAW,CAAX,EAAI+O,CAAJ,CAAc,MAAO,KACrB,KAAImE,EAAOnE,CAAPmE,CAAalT,CACjB,IAAW,CAAX,CAAIkT,CAAJ,CAAc,CACV,IAAInT,EAAS,IAAIiC,WAAJ,CAAgB,IAAAjC,OAAA6E,WAAhB;AAAyCsO,CAAzC,CAAb,CACIjR,EAAO,IAAIC,UAAJ,CAAenC,CAAf,CACXkC,EAAA2B,IAAA,CAAS,IAAA3B,KAAA4B,SAAA,CAAmB7D,CAAnB,CAA2B,IAAAD,OAAA6E,WAA3B,CAAT,CAA6DmK,CAA7D,CACA,KAAAhP,OAAA,CAAcA,CACd,KAAAkC,KAAA,CAAYA,CACZ,KAAAjC,OAAA,EAAekT,CACU,EAAzB,EAAI,IAAA/Q,aAAJ,GAA4B,IAAAA,aAA5B,EAAiD+Q,CAAjD,CACA,KAAA9Q,MAAA,EAAc8Q,CACdlT,EAAA,EAAUkT,CATA,CAAd,IAWoB,KAAIhR,UAAJ,CAAe,IAAAnC,OAAf,CAEpB,KAAAkC,KAAA2B,IAAA,CAAc6M,CAAAxO,KAAA4B,SAAA,CAAqB4M,CAAAzQ,OAArB,CAAoCyQ,CAAArO,MAApC,CAAd,CAAiEpC,CAAjE,CAA0E+O,CAA1E,CAEA0B,EAAAzQ,OAAA,CAAgByQ,CAAArO,MACZ4C,EAAJ,GACI,IAAAhF,OADJ,EACmB+O,CADnB,CAEA,OAAO,KArCsD,CAmDjEvM,EAAA2Q,UAAA,CAAgCC,QAAQ,CAACvC,CAAD,CAAS7Q,CAAT,CAAiB,CACrD6Q,CAAAmC,QAAA,CAAe,IAAf,CAAqBhT,CAArB,CACA,OAAO,KAF8C,CASzDwC,EAAA6Q,WAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAM,CACxB,UAAnB,GAAI,MAAOA,EAAX,GAA+BA,CAA/B,CAAqCC,OAAAnS,IAAAgN,KAAA,CAAiBmF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAA1O,SAAA,EADJ,CAEI,yEAFJ;AAGI,IAAA4O,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF2C,CAe/CjR,EAAAkR,UAAA,CAAgCC,QAAQ,EAAG,CACvC,MAAO,KAAAvR,MAAP,CAAoB,IAAApC,OADmB,CAW3CwC,EAAAoR,MAAA,CAA4BC,QAAQ,EAAG,CACV,CAAzB,EAAI,IAAA1R,aAAJ,EACI,IAAAnC,OACA,CADc,IAAAmC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAnC,OAJJ,CAIkB,CAElB,OAAO,KAP4B,CAkBvCwC,EAAA4D,OAAA,CAA6B0N,QAAQ,CAACtS,CAAD,CAAW,CAC5C,GAAKE,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAMgD,UAAA,CAAU,oBAAV,CAA+BhD,CAA/B,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,yBAAX,CAAqCN,CAArC,CAAN,CALY,CAOpB,GAAI,IAAAzB,OAAA6E,WAAJ,CAA6BpD,CAA7B,CAAuC,CAC/BzB,CAAAA,CAAS,IAAIiC,WAAJ,CAAgBR,CAAhB,CACb,KAAIS,EAAO,IAAIC,UAAJ,CAAenC,CAAf,CACXkC,EAAA2B,IAAA,CAAS,IAAA3B,KAAT,CACA,KAAAlC,OAAA,CAAcA,CACd,KAAAkC,KAAA,CAAYA,CALuB,CAOvC,MAAO,KAfqC,CAwBhDO;CAAAuR,QAAA,CAA8BC,QAAQ,CAACzC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,GAAI2M,CAAJ,GAAcC,CAAd,CACI,MAAO,KACX5R,MAAAC,UAAAkU,QAAArP,KAAA,CAA6B,IAAAzC,KAAA4B,SAAA,CAAmB0N,CAAnB,CAA0BC,CAA1B,CAA7B,CACA,OAAO,KAhBwC,CAwBnDhP;CAAAyR,KAAA,CAA2BC,QAAQ,CAACjV,CAAD,CAAS,CACxC,GAAKyC,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOzC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMuF,UAAA,CAAU,kBAAV,CAA6BvF,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIe,EAAS,IAAAA,OAATA,CAAuBf,CAC3B,IAAKyC,CAAA,IAAAA,SAAL,GACiB,CADjB,CACQ1B,CADR,EACsBA,CADtB,CAC+B,IAAAD,OAAA6E,WAD/B,EAEQ,KAAM9C,WAAA,CAAW,uBAAX,CAAmC,IAAA9B,OAAnC,CAA+C,KAA/C,CAAqDf,CAArD,CAA4D,MAA5D,CAAmE,IAAAc,OAAA6E,WAAnE,CAAN,CAER,IAAA5E,OAAA,CAAcA,CACd,OAAO,KAZiC,CAsB5CwC,EAAAsD,MAAA,CAA4BqO,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN;AACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,IAAIlB,EAAK,IAAAe,MAAA,EACTf,EAAA1D,OAAA,CAAYuR,CACZ7N,EAAAtB,MAAA,CAAWoP,CACX,OAAO9N,EAhBsC,CA0BjDlB,EAAA4R,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC3CtU,EAAS,IAAAA,OADkC,CAE3CoC,EAAQ,IAAAA,MACZ,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,gCAAV,CAAN,CACJxE,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOoC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMoC,UAAA,CAAU,+BAAV,CAAN;AACJpC,CAAA,IAAW,CACX,IAAa,CAAb,CAAIpC,CAAJ,EAAkBA,CAAlB,CAA2BoC,CAA3B,EAAoCA,CAApC,CAA4C,IAAArC,OAAA6E,WAA5C,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkC9B,CAAlC,CAAyC,MAAzC,CAAgDoC,CAAhD,CAAsD,MAAtD,CAA6D,IAAArC,OAAA6E,WAA7D,CAAN,CARY,CAYpB,GAAK0P,CAAAA,CAAL,EAA6B,CAA7B,GAAkBtU,CAAlB,EAAkCoC,CAAlC,GAA4C,IAAArC,OAAA6E,WAA5C,CACI,MAAO,KAAA7E,OACX,IAAIC,CAAJ,GAAeoC,CAAf,CACI,MAAOL,EACPhC,EAAAA,CAAS,IAAIiC,WAAJ,CAAgBI,CAAhB,CAAwBpC,CAAxB,CACb4D,EAAA,IAAI1B,UAAJ,CAAenC,CAAf,CAAA6D,KAAA,CAA2BC,CAAA,IAAI3B,UAAJ,CAAe,IAAAnC,OAAf,CAAA8D,UAAA,CAAqC7D,CAArC,CAA6CoC,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOrC,EArBwC,CAiCnDyC,EAAA+R,cAAA,CAAoC/R,CAAA4R,SAapC5R,EAAAqC,SAAA,CAA+B2P,QAAQ,CAACnR,CAAD,CAAWkO,CAAX,CAAkBC,CAAlB,CAAuB,CAC1D,GAAwB,WAAxB,GAAI,MAAOnO,EAAX,CACI,MAAO,sBAAP,CAA8B,IAAArD,OAA9B,CAA0C,gBAA1C,CAA2D,IAAAmC,aAA3D,CAA6E,SAA7E,CAAuF,IAAAC,MAAvF,CAAkG,YAAlG,CAA+G,IAAAZ,SAAA,EAA/G;AAA+H,GAC3G,SAAxB,GAAI,MAAO6B,EAAX,GAGImO,CAHJ,CAEID,CAFJ,CACIlO,CADJ,CACe,MADf,CAIA,QAAQA,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAAoR,OAAA,CAAYlD,CAAZ,CAAmBC,CAAnB,CACX,MAAK,QAAL,CACI,MAAO,KAAAkD,SAAA,CAAcnD,CAAd,CAAqBC,CAArB,CACX,MAAK,KAAL,CACI,MAAO,KAAAmD,MAAA,CAAWpD,CAAX,CAAkBC,CAAlB,CACX,MAAK,QAAL,CACI,MAAO,KAAAoD,SAAA,CAAcrD,CAAd,CAAqBC,CAArB,CACX,MAAK,OAAL,CACI,MAAO,KAAAiC,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAoB,UAAA,EACX,SACI,KAAMtQ,MAAA,CAAM,wBAAN,CAA+BlB,CAA/B,CAAN,CAdR,CAP0D,CAgC9D,KAAIyR,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA,EAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG,CAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb,CAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC,CAGsC,GAHtC,CAG2C,GAH3C;AAGgD,GAHhD,CAGqD,GAHrD,CAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBShW,EAAE,CApBX,CAoBcuE,EAAEwR,CAAA9V,OAAhB,CAA6BD,CAA7B,CAA+BuE,CAA/B,CAAkC,EAAEvE,CAApC,CACIgW,CAAA,CAAID,CAAA,CAAK/V,CAAL,CAAJ,CAAA,CAAeA,CASnB8V,EAAAG,OAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzB9J,CADyB,CACtB+J,CACP,CAAuB,IAAvB,IAAQ/J,CAAR,CAAY6J,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAMzJ,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADA+J,CACA,EADK/J,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAAS6J,CAAA,EAAT,GACIE,CAGA,EAHM/J,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFA8J,CAAA,CAAIL,CAAA,EAAMM,CAAN,CAAU/J,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADA+J,CACA,EADK/J,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAAS6J,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMM,CAAN,CAAU/J,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAA8J,CAAA,CAAIL,CAAA,CAAKzJ,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAII8J,CAAA,CAAIL,CAAA,CAAKM,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAD,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKM,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAD,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAQ,OAAA,CAAcC,QAAQ,CAACJ,CAAD,CAAMC,CAAN,CAAW,CAE7BI,QAASA,EAAI,CAACxU,CAAD,CAAI,CACb,KAAMuD,MAAA,CAAM,0BAAN,CAAiCvD,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB,CACtByU,CADsB,CAClBC,CAIX,CAAuB,IAAvB,IAAQ1U,CAAR,CAAYmU,CAAA,EAAZ,EAAA,CAGI,GAFAM,CAEI,CAFCT,CAAA,CAAIhU,CAAJ,CAED,CADc,WACd,GADA,MAAOyU,EACP,EAD2BD,CAAA,CAAKxU,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKmU,CAAA,EAAL;CACAO,CAGI,CAHCV,CAAA,CAAIhU,CAAJ,CAGD,CAFc,WAEd,GAFA,MAAO0U,EAEP,EAF2BF,CAAA,CAAKxU,CAAL,CAE3B,CADJoU,CAAA,CAAKK,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAAC1U,CAAD,CAAKmU,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBM,CAAA,CAAKT,CAAA,CAAIhU,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOyU,EAAX,CACI,GAAU,EAAV,GAAIzU,CAAJ,CAAc,KAAd,KAA0BwU,EAAA,CAAKxU,CAAL,CAC9BoU,EAAA,EAAMM,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKzU,CAAL,CAASmU,CAAA,EAAT,EAA0B,CACtBO,CAAA,CAAKV,CAAA,CAAIhU,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAO0U,EAAX,CACI,GAAU,EAAV,GAAI1U,CAAJ,CAAc,KAAd,KAA0BwU,EAAA,CAAKxU,CAAL,CAC9BoU,EAAA,EAAMK,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCZ,EAAAa,KAAA,CAAYC,QAAQ,CAAC5H,CAAD,CAAM,CACtB,MAAO,kEAAA2H,KAAA,CAAwE3H,CAAxE,CADe,CAI1B,OAAO8G,EAxGW,CAAX,EAqHXtS,EAAAkS,SAAA,CAA+BmB,QAAQ,CAACtE,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAAvR,OADZ,CAEmB,YAAnB,GAAI,MAAOwR,EAAX,GACIA,CADJ,CACU,IAAApP,MADV,CAEAmP,EAAA,EAAgB,CAAGC,EAAA,EAAY,CAC/B,IAAY,CAAZ,CAAID,CAAJ,EAAiBC,CAAjB,CAAuB,IAAAhQ,SAAvB;AAAwC+P,CAAxC,CAAgDC,CAAhD,CACI,KAAM1P,WAAA,CAAW,YAAX,CAAN,CACJ,IAAI0M,CAAIsG,EAAAG,OAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO1D,EAAA,CAAQC,CAAR,CAAc,IAAAvP,KAAA,CAAUsP,CAAA,EAAV,CAAd,CAAmC,IADf,CAAXlD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWrP,CAAA,EAFX,CAGR,OAAOqP,EAAA,EAXyC,CAsBpDjN,EAAA2C,WAAA,CAAwB4R,QAAQ,CAAC9H,CAAD,CAAMvM,CAAN,CAAoB,CAChD,GAAmB,QAAnB,GAAI,MAAOuM,EAAX,CACI,KAAMxJ,UAAA,CAAU,KAAV,CAAN,CAF4C,IAG5Cd,EAAK,IAAInC,CAAJ,CAAeyM,CAAA/O,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BwC,CAA/B,CAHuC,CAI5CzC,EAAI,CACR8V,EAAAQ,OAAA,CAAYxW,CAAA,CAAakP,CAAb,CAAZ,CAA+B,QAAQ,CAAC1C,CAAD,CAAI,CACvC5H,CAAAzB,KAAA,CAAQjD,CAAA,EAAR,CAAA,CAAesM,CADwB,CAA3C,CAGA5H,EAAAtB,MAAA,CAAWpD,CACX,OAAO0E,EATyC,CAmBpDnC,EAAAwU,KAAA,CAAkBC,QAAQ,CAAChI,CAAD,CAAM,CAC5B,MAAOzM,EAAA6C,WAAA,CAAsB4J,CAAtB,CAAA0G,SAAA,EADqB,CAWhCnT,EAAA0U,KAAA,CAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAO5U,EAAA2C,WAAA,CAAsBiS,CAAtB,CAAAvB,SAAA,EADqB,CAchCpS,EAAAoS,SAAA,CAA+BwB,QAAQ,CAAC7E,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAAvR,OADZ,CAEmB,YAAnB,GAAI,MAAOwR,EAAX,GACIA,CADJ,CACU,IAAApP,MADV,CAEAmP;CAAA,EAAS,CAAGC,EAAA,EAAO,CACnB,IAAY,CAAZ,CAAID,CAAJ,EAAiBC,CAAjB,CAAuB,IAAAhQ,SAAA,EAAvB,EAA0C+P,CAA1C,CAAkDC,CAAlD,CACI,KAAM1P,WAAA,CAAW,YAAX,CAAN,CACJ,GAAIyP,CAAJ,GAAcC,CAAd,CACI,MAAO,EAGX,KAZgD,IAU5C6E,EAAQ,EAVoC,CAW5CC,EAAQ,EACZ,CAAO/E,CAAP,CAAeC,CAAf,CAAA,CACI6E,CAAA1W,KAAA,CAAW,IAAAsC,KAAA,CAAUsP,CAAA,EAAV,CAAX,CACA,CAAoB,IAApB,EAAI8E,CAAApX,OAAJ,GACIqX,CAAA3W,KAAA,CAAWD,MAAAmD,aAAApD,MAAA,CAA0BC,MAA1B,CAAkC2W,CAAlC,CAAX,CACA,CAAAA,CAAA,CAAQ,EAFZ,CAIJ,OAAOC,EAAA/W,KAAA,CAAW,EAAX,CAAP,CAAwBG,MAAAmD,aAAApD,MAAA,CAA0BC,MAA1B,CAAkC2W,CAAlC,CAlBwB,CA6BpD9U,EAAA6C,WAAA,CAAwBmS,QAAQ,CAACvI,CAAD,CAAMvM,CAAN,CAAoB,CAChD,GAAmB,QAAnB,GAAI,MAAOuM,EAAX,CACI,KAAMxJ,UAAA,CAAU,KAAV,CAAN,CAKJ,IAPgD,IAG5CxF,EAAI,CAHwC,CAI5CuE,EAAIyK,CAAA/O,OAJwC,CAK5CuX,CAL4C,CAM5C9S,EAAK,IAAInC,CAAJ,CAAegC,CAAf,CAAkB9B,CAAlB,CACT,CAAOzC,CAAP,CAASuE,CAAT,CAAA,CAAY,CACRiT,CAAA,CAAWxI,CAAA9O,WAAA,CAAeF,CAAf,CACX,IAAe,GAAf,CAAIwX,CAAJ,CACI,KAAM1U,WAAA,CAAW,qBAAX,CAAiC0U,CAAjC,CAAN,CACJ9S,CAAAzB,KAAA,CAAQjD,CAAA,EAAR,CAAA,CAAewX,CAJP,CAMZ9S,CAAAtB,MAAA,CAAWmB,CACX,OAAOG,EAdyC,CAoCpDlB,EAAAiR,QAAA,CAA8BgD,QAAQ,CAACC,CAAD,CAAU,CAO5C,IAP4C,IACxC1X;AAAK,EADmC,CAExCuE,EAAI,IAAAxD,OAAA6E,WAFoC,CAGxC0G,CAHwC,CAIxCqL,EAAM,EAJkC,CAKxCC,EAAM,EALkC,CAMxCrD,EAAM,EACV,CAAOvU,CAAP,CAASuE,CAAT,CAAA,CAAY,CACG,EAAX,GAAIvE,CAAJ,GACIsM,CAGA,CAHI,IAAArJ,KAAA,CAAUjD,CAAV,CAGJ,CAFc2X,CAEd,CAFQ,EAAR,CAAIrL,CAAJ,CAAcqL,CAAd,EAAqB,GAArB,CAAyBrL,CAAAzG,SAAA,CAAW,EAAX,CAAAgS,YAAA,EAAzB,EACKF,CADL,CACYrL,CAAAzG,SAAA,CAAW,EAAX,CAAAgS,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAAtL,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoB5L,MAAAmD,aAAA,CAAoByI,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAOA,GAAEtM,CACF,IAAI0X,CAAJ,EACY,CADZ,CACQ1X,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCuE,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAOoT,CAAA1X,OAAP,CAAA,CAA4B0X,CAAA,EAAO,GACnCpD,EAAA,EAAOoD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADA3X,CAAJ,GAAU,IAAAgB,OAAV,EAAyBhB,CAAzB,GAA+B,IAAAoD,MAA/B,CACIuU,CADJ,EACW3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESnD,CAAJ,GAAU,IAAAgB,OAAV,CACD2W,CADC,EACM3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEInD,CAAJ,GAAU,IAAAoD,MAAV,CACDuU,CADC,EACM3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGDwU,CAHC,EAGM3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAiCuU,CAAA,EAAkB,CAAlB,GAAY1X,CAAZ,EAAuBA,CAAvB,GAA6BuE,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CApBG,CAyBZ,GAAImT,CAAJ,EAAuB,GAAvB;AAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAA1X,OAAP,CAAA,CACI0X,CAAA,EAAO,GACXpD,EAAA,EAAOoD,CAAP,CAAaC,CAAb,CAAmB,IAHK,CAK5B,MAAOF,EAAA,CAAUnD,CAAV,CAAgBoD,CArCqB,CAmDhDpV,EAAA+C,UAAA,CAAuBwS,QAAQ,CAAC9I,CAAD,CAAMvM,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrD6B,EAAIyK,CAAA/O,OACJyE,EAAAA,CAAK,IAAInC,CAAJ,EAAiBgC,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B9B,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrD1C,EAAI,CAHiD,CAG9C+X,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD5B,EAAO,CAAA,CACX,CAAOxW,CAAP,CAASuE,CAAT,CAAA,CAAY,CACR,OAAQyT,CAAR,CAAahJ,CAAAqJ,OAAA,CAAWrY,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAK0C,CAAAA,CAAL,CAAe,CACX,GAAIwV,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB5B,CAAA,CAAO,CAAA,CACP,MAFgB,CAIpB0B,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CALJ,CAOf1T,CAAA1D,OAAA,CAAY0D,CAAAvB,aAAZ,CAA8BuB,CAAAtB,MAA9B,CAAyC2U,CACzCE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKvV,CAAAA,CAAL,CAAe,CACX,GAAIwV,CAAJ,EAAUE,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CACP,MAFU,CAId0B,CAAA,CAAKE,CAAL,CAAU,CAAA,CALC,CAOf1T,CAAA1D,OAAA,CAAY0D,CAAAtB,MAAZ,CAAuB2U,CACvBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKvV,CAAAA,CAAL,CAAe,CACX,GAAIwV,CAAJ,EAAUC,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CACP,MAFU,CAId0B,CAAA,CAAKC,CAAL,CAAU,CAAA,CALC,CAOfzT,CAAA1D,OAAA,CAAY0D,CAAAvB,aAAZ,CAA8B4U,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKvV,CAAAA,CAAL,CAAe,CACX,GAAIwV,CAAJ,CAAQ,CACJ1B,CAAA,CAAO,CAAA,CACP,MAFI,CAIR0B,CAAA,CAAK,CAAA,CALM,CAOfxT,CAAA1D,OAAA,CAAY+W,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKvV,CAAAA,CAAL,CAAe,CACX,GAAI0V,CAAJ;AAAUD,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CACP,MAFU,CAId4B,CAAA,CAAKD,CAAL,CAAU,CAAA,CALC,CAOfzT,CAAAtB,MAAA,CAAWsB,CAAAvB,aAAX,CAA6B4U,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKvV,CAAAA,CAAL,CAAe,CACX,GAAI0V,CAAJ,CAAQ,CACJ5B,CAAA,CAAO,CAAA,CACP,MAFI,CAIR4B,CAAA,CAAK,CAAA,CALM,CAOf1T,CAAAtB,MAAA,CAAW2U,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAKvV,CAAAA,CAAL,CAAe,CACX,GAAIyV,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CACP,MAFI,CAIR2B,CAAA,CAAK,CAAA,CALM,CAOfzT,CAAAvB,aAAA,CAAkB4U,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAKvV,CAAAA,CAAL,EACQuV,CADR,CACY,CACJzB,CAAA,CAAO,CAAA,CACP,MAFI,CAKZlK,CAAA,CAAIgM,QAAA,CAASN,CAAT,CAAYhJ,CAAAqJ,OAAA,CAAWrY,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAK0C,CAAAA,CAAL,GACQP,KAAA,CAAMmK,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAM9G,UAAA,CAAU,yCAAV,CAAN,CAERd,CAAAzB,KAAA,CAAQ8U,CAAA,EAAR,CAAA,CAAezL,CACf2L,EAAA,CAAK,CAAA,CA9Fb,CAgGA,GAAIzB,CAAJ,CACI,KAAMhR,UAAA,CAAU,iCAAV,CAA4CxF,CAA5C,CAAN,CAlGI,CAoGZ,GAAK0C,CAAAA,CAAL,CAAe,CACX,GAAKwV,CAAAA,CAAL,EAAYE,CAAAA,CAAZ,CACI,KAAM5S,UAAA,CAAU,sCAAV,CAAN;AACJ,GAAIuS,CAAJ,CAAMrT,CAAA3D,OAAA6E,WAAN,CACI,KAAMJ,UAAA,CAAU,uDAAV,CAAkEuS,CAAlE,CAAoE,KAApE,CAA0ExT,CAA1E,CAAN,CAJO,CAMf,MAAOG,EAjHkD,CA6H7DlB,EAAAmS,MAAA,CAA4B4C,QAAQ,CAAChG,CAAD,CAAQC,CAAR,CAAa,CAC7CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAvR,OAA/B,CAA6CuR,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAApP,MAA7B,CAA0CoP,CAChD,IAAK9P,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD;AAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAYpB,IAf6C,IAazC2O,EAAU3T,KAAJ,CAAU4R,CAAV,CAAgBD,CAAhB,CAbmC,CAczCjG,CACJ,CAAOiG,CAAP,CAAeC,CAAf,CAAA,CACIlG,CACA,CADI,IAAArJ,KAAA,CAAUsP,CAAA,EAAV,CACJ,CAAQ,EAAR,CAAIjG,CAAJ,CACIiI,CAAA5T,KAAA,CAAS,GAAT,CAAc2L,CAAAzG,SAAA,CAAW,EAAX,CAAd,CADJ,CAEK0O,CAAA5T,KAAA,CAAS2L,CAAAzG,SAAA,CAAW,EAAX,CAAT,CAET,OAAO0O,EAAAhU,KAAA,CAAS,EAAT,CArBsC,CAkCjDgC,EAAA4C,QAAA,CAAqBqT,QAAQ,CAACxJ,CAAD,CAAMvM,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAKA,CAAAA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAOsM,EAAX,CACI,KAAMxJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIwJ,CAAA/O,OAAJ,CAAiB,CAAjB,CACI,KAAMuF,UAAA,CAAU,yCAAV,CAAN,CAJO,CADwC,IAOnDjB,EAAIyK,CAAA/O,OACJyE,EAAAA,CAAK,IAAInC,CAAJ,CAAgBgC,CAAhB,CAAoB,CAApB,CAAyB,CAAzB,CAA4B9B,CAA5B,CAET,KAHA,IAEI6J,CAFJ,CAGStM,EAAE,CAHX,CAGc+X,EAAE,CAAhB,CAAmB/X,CAAnB,CAAqBuE,CAArB,CAAwBvE,CAAxB,EAA2B,CAA3B,CAA8B,CAC1BsM,CAAA,CAAIgM,QAAA,CAAStJ,CAAAyJ,UAAA,CAAczY,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAK0C,CAAAA,CAAL,GACS,CAAAgW,QAAA,CAASpM,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAM9G,UAAA,CAAU,0CAAV,CAAN;AACRd,CAAAzB,KAAA,CAAQ8U,CAAA,EAAR,CAAA,CAAezL,CALW,CAO9B5H,CAAAtB,MAAA,CAAW2U,CACX,OAAOrT,EAlBgD,CA4B3D,KAAIuK,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,cAAgB,OAPV,CAeN,WAAa0J,QAAQ,CAACxC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAIrF,EAAK,IACU,SAAnB,GAAI,MAAOoF,EAAX,GACIpF,CACA,CADKoF,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAOpF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BoF,CAAA,EAA5B,EAAA,CACa,GAAT,CAAIpF,CAAJ,CACIqF,CAAA,CAAIrF,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACDqF,CAAA,CAAMrF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,EAGS,KAAT,CAAIA,CAAJ,CACDqF,CAAA,CAAMrF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADC,EAKDqF,CAAA,CAAMrF,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CACA,CAAAqF,CAAA,CAAMrF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CANC,CAED,CAAAqF,CAAA,CAAMrF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CALC,CAED,CAAAqF,CAAA,CAAKrF,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA,CAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,WAAa6H,QAAQ,CAACzC,CAAD,CAAMC,CAAN,CAAW,CAQjC,IARiC,IAC7ByC,CAD6B,CAC1BvM,CAD0B,CACvBtK,CADuB,CACpBP,CADoB,CACjB+U,EAAOA,QAAQ,CAAClK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAAxF,MAAA,CAAQ,CAAR,CAAWwF,CAAAwM,QAAA,CAAU,IAAV,CAAX,CACJ,KAAInM,EAAMpH,KAAA,CAAM+G,CAAAzG,SAAA,EAAN,CACV8G,EAAAoM,KAAA,CAAW,gBACXpM,EAAA,MAAA,CAAeL,CACf,MAAMK,EAAN,CAL+B,CAOnC,CAAuB,IAAvB,IAAQkM,CAAR,CAAY1C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB;CAAK0C,CAAL,CAAO,GAAP,EACIzC,CAAA,CAAIyC,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADEvM,CACF,CADM6J,CAAA,EACN,GAD0BK,CAAA,CAAK,CAACqC,CAAD,CAAIvM,CAAJ,CAAL,CAC1B,CAAA8J,CAAA,EAAMyC,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqBvM,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAKuM,CAAL,CAAO,GAAP,EACc,IACf,IADEvM,CACF,CADI6J,CAAA,EACJ,GADqC,IACrC,IADwBnU,CACxB,CAD0BmU,CAAA,EAC1B,GAD8CK,CAAA,CAAK,CAACqC,CAAD,CAAIvM,CAAJ,CAAOtK,CAAP,CAAL,CAC9C,CAAAoU,CAAA,EAAMyC,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuBvM,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCtK,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAK6W,CAAL,CAAO,GAAP,EACc,IACf,IADEvM,CACF,CADI6J,CAAA,EACJ,GADqC,IACrC,IADwBnU,CACxB,CAD0BmU,CAAA,EAC1B,GAD2D,IAC3D,IAD8C1U,CAC9C,CADgD0U,CAAA,EAChD,GADoEK,CAAA,CAAK,CAACqC,CAAD,CAAIvM,CAAJ,CAAOtK,CAAP,CAAUP,CAAV,CAAL,CACpE,CAAA2U,CAAA,EAAMyC,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuBvM,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCtK,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDP,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAMqB,WAAA,CAAW,yBAAX,CAAqC+V,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,YAAcG,QAAQ,CAAC7C,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9B6C,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmB/C,CAAA,EADjC,EAAA,CAGc,KAAV,EAAI8C,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACc/C,CAAA,EADd,GAEkB,KAFlB,EAEY+C,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGY9C,CAAA,CAAgB,IAAhB,EAAK6C,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA;AAAAA,CAAA,CAAK,IAJjB,EAQA9C,CAAA,CAAI6C,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiB9C,CAAA,CAAI8C,CAAJ,CAfiB,CA/E3B,CAwGN,YAAcC,QAAQ,CAAChD,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAIrF,EAAK,IACU,SAAnB,GAAI,MAAOoF,EAAX,GACIpF,CAAU,CAALoF,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAOpF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BoF,CAAA,EAA5B,EAAA,CACc,KAAV,EAAIpF,CAAJ,CACIqF,CAAA,CAAIrF,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADAqF,CAAA,EAAKrF,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAAqF,CAAA,CAAKrF,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,kBAAoBqI,QAAQ,CAACjD,CAAD,CAAMC,CAAN,CAAW,CACxCnH,CAAAoK,YAAA,CAAiBlD,CAAjB,CAAsB,QAAQ,CAACpF,CAAD,CAAK,CAC/B9B,CAAAqK,WAAA,CAAgBvI,CAAhB,CAAoBqF,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,kBAAoBmD,QAAQ,CAACpD,CAAD,CAAMC,CAAN,CAAW,CACxCnH,CAAA6B,WAAA,CAAgBqF,CAAhB,CAAqB,QAAQ,CAACpF,CAAD,CAAK,CAC9B9B,CAAA+B,YAAA,CAAiBD,CAAjB,CAAqBqF,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,mBAAqBoD,QAAQ,CAACzI,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,cAAgB0I,QAAQ,CAACtD,CAAD,CAAM,CAE/B,IAF+B,IAC3BpF,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAaoF,CAAA,EAAb,EAAA,CACI/E,CAAA;AAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CACnE,OAAOK,EAJwB,CAhKxB,CA6KN,qBAAuBsI,QAAQ,CAACvD,CAAD,CAAM,CAAA,IAClClK,EAAE,CADgC,CAC7BmF,EAAE,CACXnC,EAAAoK,YAAA,CAAiBlD,CAAjB,CAAsB,QAAQ,CAACpF,CAAD,CAAK,CAC/B,EAAE9E,CAAGmF,EAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CADrC,CAAnC,CAGA,OAAO,CAAC9E,CAAD,CAAGmF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOnC,EA7LW,CAAX,EAyMXzL,EAAAiS,OAAA,CAA6BkE,QAAQ,CAACpH,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAKV,CAAA,IAAAA,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX;AAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,IAAI4J,CAAI,IAAI,CACRP,CAAAQ,kBAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAO8C,EAAA,CAAQC,CAAR,CAAc,IAAAvP,KAAA,CAAUsP,CAAA,EAAV,CAAd,CAAmC,IADZ,CAAXlD,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBrP,CAAA,EAFnB,CADQ,CAIV,MAAON,CAAP,CAAU,CACR,GAAI0S,CAAJ,GAAcC,CAAd,CACI,KAAM1P,WAAA,CAAW,iCAAX,CAA6CyP,CAA7C,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CAFI,CAIZ,MAAOhD,EAAA,EArBuC,CAkClDjN,EAAA8C,SAAA,CAAsBuU,QAAQ,CAAC5K,CAAD,CAAMvM,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAKA,CAAAA,CAAL,EACuB,QADvB,GACQ,MAAOsM,EADf,CAEQ,KAAMxJ,UAAA,CAAU,2BAAV,CAAN,CAHgD,IAIpDd,EAAK,IAAInC,CAAJ,CAAe0M,CAAAC,qBAAA,CAA0BpP,CAAA,CAAakP,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsEvM,CAAtE,CAAoFC,CAApF,CAJ+C,CAKpD1C,EAAI,CACRiP,EAAAG,kBAAA,CAAuBtP,CAAA,CAAakP,CAAb,CAAvB,CAA0C,QAAQ,CAAC1C,CAAD,CAAI,CAClD5H,CAAAzB,KAAA,CAAQjD,CAAA,EAAR,CAAA,CAAesM,CADmC,CAAtD,CAGA5H,EAAAtB,MAAA,CAAWpD,CACX,OAAO0E,EAViD,CAa5D,OAAOnC,EA9nHa,CAZxB;", "sources":["dist/bytebuffer.js"], -"names":["Long","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","offset","markedOffset","limit","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","e","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","readInt8","ByteBufferPrototype.readInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","indexOf","name","a","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8","define","factory","require","module","global"] +"names":["global","factory","define","require","module","Long","e","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","buffer","offset","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","readInt8","ByteBufferPrototype.readInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","a","indexOf","name","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8"] } diff --git a/externs/ByteBuffer.js b/externs/ByteBuffer.js deleted file mode 100644 index 2dd39ae..0000000 --- a/externs/ByteBuffer.js +++ /dev/null @@ -1,834 +0,0 @@ -/* - * Copyright 2012 The Closure Compiler Authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @fileoverview Externs for ByteBuffer.js. - * @see https://github.com/dcodeIO/ByteBuffer.js - * @externs - */ - -/** - BEGIN_NODE_INCLUDE - var ByteBuffer = require('bytebuffer'); - END_NODE_INCLUDE - */ - -/** - * @param {number=} capacity - * @param {boolean=} littleEndian - * @param {boolean=} sparse - * @constructor - */ -function ByteBuffer(capacity, littleEndian, sparse) {}; - -/** - * @type {?ArrayBuffer} - */ -ByteBuffer.prototype.array; - -/** - * @type {number} - */ -ByteBuffer.prototype.offset; - -/** - * @type {number} - */ -ByteBuffer.prototype.markedOffset; - -/** - * @type {number} - */ -ByteBuffer.prototype.limit; - -/** - * @type {boolean} - */ -ByteBuffer.prototype.littleEndian; - -/** - * @type {string} - * @const - */ -ByteBuffer.VERSION; - -/** - * @type {number} - * @const - */ -ByteBuffer.DEFAULT_CAPACITY = 32; - -/** - * @type {boolean} - * @const - */ -ByteBuffer.LITTLE_ENDIAN = true; - -/** - * @type {boolean} - * @const - */ -ByteBuffer.BIG_ENDIAN = false; - -/** - * @param {number=} capacity - * @param {boolean=} littleEndian - * @returns {!ByteBuffer} - * @nosideeffects - */ -ByteBuffer.allocate = function(capacity, littleEndian) {}; - -/** - * @param {!ArrayBuffer|!Buffer|!{array: ArrayBuffer}|!{buffer: ArrayBuffer}|string} buffer - * @param {(string|boolean)=} enc - * @param {boolean=} littleEndian - * @returns {!ByteBuffer} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.wrap = function(buffer, enc, littleEndian) {}; - -/** - * @param {boolean=} littleEndian - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.LE = function(littleEndian) {}; - -/** - * @param {boolean=} bigEndian - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.BE = function(bigEndian) {}; - -/** - * @param {string} str - * @param {boolean} littleEndian - * @param {boolean} noAssert - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.fromBase64 = function(str, littleEndian, noAssert) {}; - -/** - * @param {string} str - * @param {boolean} littleEndian - * @param {boolean} noAssert - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.fromBinary = function(str, littleEndian, noAssert) {}; - -/** - * @param {string} str - * @param {boolean} littleEndian - * @param {boolean} noAssert - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.fromDebug = function(str, littleEndian, noAssert) {}; - -/** - * @param {string} str - * @param {boolean} littleEndian - * @param {boolean} noAssert - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.fromHex = function(str, littleEndian, noAssert) {}; - -/** - * @param {string} str - * @param {boolean} littleEndian - * @param {boolean} noAssert - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.fromUTF8 = function(str, littleEndian, noAssert) {}; - - -/** - * @param {number} capacity - * @returns {boolean} - */ -ByteBuffer.prototype.resize = function(capacity) {}; - -/** - * @param {number} begin - * @param {number} end - * @returns {!ByteBuffer} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.prototype.slice = function(begin, end) {}; - -/** - * @param {number} begin - * @param {number} end - * @returns {!ByteBuffer} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.prototype.sliceAndCompact = function(begin, end) {}; - -/** - * @param {number} capacity - * @returns {boolean} - */ -ByteBuffer.prototype.ensureCapacity = function(capacity) {}; - -/** - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.flip = function() {}; - -/** - * @param {number=} offset - * @returns {!ByteBuffer} - * @throws {Error} - */ -ByteBuffer.prototype.mark = function(offset) {}; - -/** - * @returns {!ByteBuffer} this - */ -ByteBuffer.prototype.reset = function() {}; - -/** - * @returns {!ByteBuffer} - * @nosideeffects - */ -ByteBuffer.prototype.clone = function() {}; - -/** - * @returns {!ByteBuffer} - * @nosideeffects - */ -ByteBuffer.prototype.copy = function() {}; - -/** - * @returns {number} - * @nosideeffects - */ -ByteBuffer.prototype.remaining = function() {}; - -/** - * @returns {number} - * @nosideeffects - */ -ByteBuffer.prototype.capacity = function() {}; - -/** - * @returns {!ByteBuffer} - * @throws {Error} - */ -ByteBuffer.prototype.compact = function() {}; - -/** - * @returns {!ByteBuffer} - * @throws {Error} - */ -ByteBuffer.prototype.reverse = function() {}; - -/** - * @param {!ByteBuffer} src - * @param {number=} offset - * @returns {!ByteBuffer} - * @throws {Error} - */ -ByteBuffer.prototype.append = function(src, offset) {}; - -/** - * @param {!ByteBuffer} src - * @param {number=} offset - * @returns {!ByteBuffer} - * @throws {Error} - */ -ByteBuffer.prototype.prepend = function(src, offset) {}; - -/** - * @param {number|string} value - * @param {number} begin - * @param {number} end - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.fill = function(value, begin, end) {}; - - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeInt8 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readInt8 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeByte = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readByte = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeUint8 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readUint8 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeInt16 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readInt16 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeShort = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readShort = function (offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeUint16 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readUint16 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeInt32 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readInt32 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeInt = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readInt = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeUint32 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readUint32 = function(offset) {}; - -/** - * @param {number|Long} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeInt64 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {Long} - * @throws {Error} - */ -ByteBuffer.prototype.readInt64 = function(offset) {}; - -/** - * @param {number|Long} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeUint64 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {Long} - * @throws {Error} - */ -ByteBuffer.prototype.readUint64 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeFloat32 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readFloat32 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeFloat = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readFloat = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeFloat64 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readFloat64 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeDouble = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readDouble = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer} - */ -ByteBuffer.prototype.writeLong = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.prototype.readLong = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeVarint32 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number|!{value: number, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readVarint32 = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeZigZagVarint32 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number|{value: number, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readZigZagVarint32 = function(offset) {}; - -/** - * @param {number|Long} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - * @throws {Error} - */ -ByteBuffer.prototype.writeVarint64 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {!Long|{value: !Long, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readVarint64 = function(offset) {}; - -/** - * @param {number|Long} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - * @throws {Error} - */ -ByteBuffer.prototype.writeZigZagVarint64 = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {!Long|!{value: !Long, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readZigZagVarint64 = function(offset) {}; - -/** - * @param {number|Long} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - * @throws {Error} - */ -ByteBuffer.prototype.writeVarint64ZigZag = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {!Long|{value: !Long, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readVarint64ZigZag = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeVarint = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number|!{value: number, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readVarint = function(offset) {}; - -/** - * @param {number} value - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeZigZagVarint = function(value, offset) {}; - -/** - * @param {number=} offset - * @returns {number|{value: number, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readZigZagVarint = function(offset) {}; - -/** - * @param {number} value - * @returns {number} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.calculateVarint32 = function(value) {}; - -/** - * @param {number} value - * @returns {number} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.calculateVarint64 = function(value) {}; - -/** - * @param {string} str - * @returns {number} - * @nosideeffects - */ -ByteBuffer.calculateUTF8String = function(str) {}; - -/** - * @param {string} str - * @returns {number} - */ -ByteBuffer.prototype.calculateUTF8Bytes = function(str) {}; - -/** - * @param {string} str - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeUTF8String = function(str, offset) {}; - -/** - * @param {number} chars - * @param {number=} offset - * @returns {string|!{string: string, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readUTF8String = function(chars, offset) {}; - -/** - * @param {number} length - * @param {number} offset - * @throws {Error} - */ -ByteBuffer.prototype.readUTF8StringBytes = function(length, offset) {}; - -/** - * @param {string} str - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeLString = function(str, offset) {}; - -/** - * @param {number=} offset - * @returns {string|!{string: string, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readLString = function(offset) {}; - -/** - * @param {string} str - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeVString = function(str, offset) {}; - -/** - * @param {number=} offset - * @returns {string|!{string: string, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readVString = function(offset) {}; - -/** - * @param {string} str - * @param {number=} offset - * @returns {!ByteBuffer|number} - */ -ByteBuffer.prototype.writeCString = function(str, offset) {}; - -/** - * @param {number=} offset - * @returns {string|!{string: string, length: number}} - * @throws {Error} - */ -ByteBuffer.prototype.readCString = function(offset) {}; - -/** - * @param {number=} wrap - * @returns {string} - * @nosideeffects - */ -ByteBuffer.prototype.toColumns = function(wrap) {}; - -/** - * @param {function(string)=} out - */ -ByteBuffer.prototype.printDebug = function(out) {}; - -/** - * @param {boolean=} debug - * @returns {string} - * @nosideeffects - */ -ByteBuffer.prototype.toHex = function(debug) {}; - -/** - * @returns {string} - * @nosideeffects - */ -ByteBuffer.prototype.toBinary = function() {}; - -/** - * @returns {string} - * @nosideeffects - */ -ByteBuffer.prototype.toUTF8 = function() {}; - -/** - * @returns {string} - * @nosideeffects - */ -ByteBuffer.prototype.toBase64 = function() {}; - -/** - * @param {string=} enc - * @returns {string} - * @nosideeffects - */ -ByteBuffer.prototype.toString = function(enc) {}; - -/** - * @param {boolean=} forceCopy - * @returns {ArrayBuffer} - * @nosideeffects - */ -ByteBuffer.prototype.toArrayBuffer = function(forceCopy) {}; - -/** - * @param {!ByteBuffer} src - * @param {number} offset - * @returns {!{char: number, length: number}} - * @nosideeffects - */ -ByteBuffer.decodeUTF8Char = function(src, offset) {}; - -/** - * @param {number} charCode - * @param {!ByteBuffer} dst - * @param {number} offset - * @returns {number} - * @throws {Error} - */ -ByteBuffer.encodeUTF8Char = function(charCode, dst, offset) {}; - -/** - * @param {number} charCode - * @returns {number} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.calculateUTF8Char = function(charCode) {}; - -/** - * @param {number} n - * @returns {number} - * @nosideeffects - */ -ByteBuffer.zigZagEncode32 = function(n) {}; - -/** - * @param {number} n - * @returns {number} - * @nosideeffects - */ -ByteBuffer.zigZagDecode32 = function(n) {}; - -/** - * @param {!ByteBuffer} bb - * @returns {string} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.encode64 = function(bb) {}; - -/** - * @param {string} str - * @param {boolean=} littleEndian - * @returns {!ByteBuffer} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.decode64 = function(str, littleEndian) {}; - -/** - * @param {!ByteBuffer} bb - * @returns {string} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.encodeHex = function(bb) {}; - -/** - * @param {string} str - * @param {boolean=} littleEndian - * @returns {!ByteBuffer} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.decodeHex = function(str, littleEndian) {}; - -/** - * @param {!ByteBuffer} bb - * @returns {string} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.encodeBinary = function(bb) {}; - -/** - * @param {string} str - * @param {boolean=} littleEndian - * @returns {!ByteBuffer} - * @throws {Error} - * @nosideeffects - */ -ByteBuffer.decodeBinary = function(str, littleEndian) {}; - -/** - * @type {number} - * @const - */ -ByteBuffer.MAX_VARINT32_BYTES = 5; - -/** - * @type {number} - * @const - */ -ByteBuffer.MAX_VARINT64_BYTES = 10; diff --git a/externs/bytebuffer.js b/externs/bytebuffer.js index 2dd39ae..6de5e6b 100644 --- a/externs/bytebuffer.js +++ b/externs/bytebuffer.js @@ -680,6 +680,34 @@ ByteBuffer.prototype.writeCString = function(str, offset) {}; */ ByteBuffer.prototype.readCString = function(offset) {}; +/** + * @param {number} length + * @param {number=} offset + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.readBytes = function(length, offset) {}; + +/** + * @param {!ByteBuffer} src + * @param {number=} offset + * @returns {!ByteBuffer} + * @throws {Error} + */ +ByteBuffer.prototype.writeBytes = function(src, offset) {}; + +/** + * @param {number=} offset + * @returns {Array} + */ +ByteBufferPrototype.readBitSet = function(offset) {}; + +/** + * @param {Array} + * @param {number=} + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.writeBitSet = function(value, offset) {}; + /** * @param {number=} wrap * @returns {string} diff --git a/package.json b/package.json index c3cb75a..0a22299 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "5.0.0", + "version": "5.0.1", "author": "Daniel Wirtz ", "description": "The swiss army knife for binary data in JavaScript.", "main": "dist/bytebuffer-node.js", @@ -44,8 +44,8 @@ "make": "npm run-script build && npm run-script compile && npm run-script compress && npm test", "build": "node scripts/build.js", "compile": "npm run-script compile-default && npm run-script compile-dataview", - "compile-default": "ccjs dist/bytebuffer.js --create_source_map=dist/bytebuffer.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/long.js > dist/bytebuffer.min.js", - "compile-dataview": "ccjs dist/bytebuffer-dataview.js --create_source_map=dist/bytebuffer-dataview.min.map --compilation_level=ADVANCED_OPTIMIZATIONS --externs=externs/minimal-env.js --externs=node_modules/long/externs/long.js > dist/bytebuffer-dataview.min.js", + "compile-default": "ccjs dist/bytebuffer.js --create_source_map=dist/bytebuffer.min.map --externs=externs/minimal-env.js --externs=node_modules/long/externs/long.js > dist/bytebuffer.min.js", + "compile-dataview": "ccjs dist/bytebuffer-dataview.js --create_source_map=dist/bytebuffer-dataview.min.map --externs=externs/minimal-env.js --externs=node_modules/long/externs/long.js > dist/bytebuffer-dataview.min.js", "compress": "gzip -c -9 dist/bytebuffer.min.js > dist/bytebuffer.min.js.gz && gzip -c -9 dist/bytebuffer-dataview.min.js > dist/bytebuffer-dataview.min.js.gz" } } From f3f310b6786e5d44686d385a2cc60c6720a1069b Mon Sep 17 00:00:00 2001 From: dcode Date: Fri, 12 Feb 2016 14:59:42 +0100 Subject: [PATCH 86/91] Rebuild --- bower.json | 2 +- dist/bytebuffer-dataview.js | 2 +- dist/bytebuffer-dataview.min.js | 2 +- dist/bytebuffer-dataview.min.js.gz | Bin 7988 -> 7988 bytes dist/bytebuffer-node.js | 2 +- dist/bytebuffer.js | 2 +- dist/bytebuffer.min.js | 2 +- dist/bytebuffer.min.js.gz | Bin 8658 -> 8658 bytes 8 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bower.json b/bower.json index 2cd12ea..a6cee3a 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "bytebuffer", - "version": "5.0.0", + "version": "5.0.1", "author": "Daniel Wirtz ", "description": "A full-featured ByteBuffer implementation using typed arrays.", "main": "dist/bytebuffer.js", diff --git a/dist/bytebuffer-dataview.js b/dist/bytebuffer-dataview.js index d9beb30..bb6235c 100644 --- a/dist/bytebuffer-dataview.js +++ b/dist/bytebuffer-dataview.js @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "5.0.0"; + ByteBuffer.VERSION = "5.0.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/bytebuffer-dataview.min.js b/dist/bytebuffer-dataview.min.js index c8de74f..a35c7c5 100644 --- a/dist/bytebuffer-dataview.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -6,7 +6,7 @@ */ (function(h,m){if("function"===typeof define&&define.amd)define(["long"],m);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){var s=module,f;try{f=require("long")}catch(d){}f=m(f);s.exports=f}else(h.dcodeIO=h.dcodeIO||{}).ByteBuffer=m(h.dcodeIO.Long)})(this,function(h){function m(a){var b=0;return function(){return ba)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?t:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};f.VERSION= -"5.0.0";f.LITTLE_ENDIAN=!0;f.BIG_ENDIAN=!1;f.DEFAULT_CAPACITY=16;f.DEFAULT_ENDIAN=f.BIG_ENDIAN;f.DEFAULT_NOASSERT=!1;f.Long=h||null;var d=f.prototype;Object.defineProperty(d,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var t=new ArrayBuffer(0),u=String.fromCharCode;f.accessor=function(){return DataView};f.allocate=function(a,b,c){return new f(a,b,c)};f.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var k=0,d=0,g=a.length,p;d=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0 delta 31 ncmdmDx5bW4zMF$%&y$U863mP@Hp?^f%5cc}AK=Md!oUCkqtFRJ diff --git a/dist/bytebuffer-node.js b/dist/bytebuffer-node.js index 72ccec6..93a7c46 100644 --- a/dist/bytebuffer-node.js +++ b/dist/bytebuffer-node.js @@ -110,7 +110,7 @@ module.exports = (function() { * @const * @expose */ - ByteBuffer.VERSION = "5.0.0"; + ByteBuffer.VERSION = "5.0.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/bytebuffer.js b/dist/bytebuffer.js index 36d0207..bb3e3aa 100644 --- a/dist/bytebuffer.js +++ b/dist/bytebuffer.js @@ -124,7 +124,7 @@ * @const * @expose */ - ByteBuffer.VERSION = "5.0.0"; + ByteBuffer.VERSION = "5.0.1"; /** * Little endian constant that can be used instead of its boolean value. Evaluates to `true`. diff --git a/dist/bytebuffer.min.js b/dist/bytebuffer.min.js index be2b37e..d9dfea7 100644 --- a/dist/bytebuffer.min.js +++ b/dist/bytebuffer.min.js @@ -7,7 +7,7 @@ (function(k,m){if("function"===typeof define&&define.amd)define(["long"],m);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){var r=module,s;try{s=require("long")}catch(u){}s=m(s);r.exports=s}else(k.dcodeIO=k.dcodeIO||{}).ByteBuffer=m(k.dcodeIO.Long)})(this,function(k){function m(a){var b=0;return function(){return b>1,h=-7;f=c?f-1:0;var k=c?-1:1,p=a[b+f];f+=k;c=p&(1<<-h)-1;p>>=-h;for(h+=l;0>=-h;for(h+=d;0>1,p=23===f? Math.pow(2,-24)-Math.pow(2,-77):0;l=d?0:l-1;var m=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-d))&&(d--,g*=2),b=1<=d+k?b+p/g:b+p*Math.pow(2,1-k),2<=b*g&&(d++,g/=2),d+k>=h?(b=0,d=h):1<=d+k?(b=(b*g-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+l]=b&255,l+=m,b/=256,f-=8);d=d<a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};h.VERSION="5.0.0";h.LITTLE_ENDIAN=!0;h.BIG_ENDIAN=!1;h.DEFAULT_CAPACITY=16;h.DEFAULT_ENDIAN=h.BIG_ENDIAN;h.DEFAULT_NOASSERT=!1;h.Long=k|| +typeof a&&(a=h.DEFAULT_CAPACITY);"undefined"===typeof b&&(b=h.DEFAULT_ENDIAN);"undefined"===typeof c&&(c=h.DEFAULT_NOASSERT);if(!c){a|=0;if(0>a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};h.VERSION="5.0.1";h.LITTLE_ENDIAN=!0;h.BIG_ENDIAN=!1;h.DEFAULT_CAPACITY=16;h.DEFAULT_ENDIAN=h.BIG_ENDIAN;h.DEFAULT_NOASSERT=!1;h.Long=k|| null;var e=h.prototype;Object.defineProperty(e,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var v=new ArrayBuffer(0),w=String.fromCharCode;h.accessor=function(){return Uint8Array};h.allocate=function(a,b,c){return new h(a,b,c)};h.concat=function(a,b,c,d){if("boolean"===typeof b||"string"!==typeof b)d=c,c=b,b=void 0;for(var f=0,l=0,g=a.length,e;l=e||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};h.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};h.type=function(){return ArrayBuffer};h.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return h.fromBase64(a,c);case "hex":return h.fromHex(a,c);case "binary":return h.fromBinary(a,c);case "utf8":return h.fromUTF8(a, c);case "debug":return h.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(h.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new h(0,c,d),0^w7Zac+_@T!5ozB`uF@^Jh-uGF~702Gt9-0c%B=<1Q8uXQ?p?KwEPqdf42_3XzAY zNwEtc^Kmir8XaM!e2_liMhO1`ocKnQIpHX93?oF-w#q@BoQ3Crh~j?`!KWp;62DCs zTr0!;r_`;M_$f8f1Q-Bo0*`;gQfK3%++aImKwu*B(wCRKhauKFqBr23fTm%b!*gi- z5Sl(=j2U#x6~@wr5}n3B*Deuel2(n|0@}tU*)P#SH#Ux>&~Y<^N`ezE6_qcFY!WH% z@KNf3P^4YdLLpQxmkLc$bdA^I46YD-g?zb7C`ec^JE@xK2SKY(Gai3t-T{)$b>t75 zz!`K+A&74@UHCibHSM^YQ=$AXMIm&Hg5MX_rtFVGoxia^)C%rwPL`jGbVQ+AO*}qd z>HX=?L#U#qbv#H1f}I4S5NhLx>Elu^UYT{QWI3 zi{lFiTCkuvzTZ*UCMkcN!es&ECHgi6zl#Qg(ufwbHia-B{sI8N4N$uRHk&S|KpM08 zDk5{rpPC^DN{mC=3K$hpa}^5Ts&eQ83t;A9fAC`*rW z-Bi@Js-GGCTwk+Jb_zYqccwGa)Z$68b20%@GPg4+J=v{uuHApJi^yXAXc41$EDglL zCh2+#gkl6)*OF3z0-CZPaFQa~(=&PwAVtq*Pwv;33{M!C`V6#Y7QJJ6sFy)8#nsm8 zP+_l%-B-Is zTQiyseJ;s@5Ltf!I>W=GF(fT2wOS6ELR?4A0`O0}){UP1Mx#;j zx?8y3FI@Ku*Zsovpm2R)WfB{Ff7#1l4hwAu`Rn~c>p`J8 zq%}emY~+6ljN#!{RRtc_#;S&qER0%rg?e4}FxSD_c$#mW0^Dkp};@Pf}b)UH{3mke` zE38y2cyUfKu%ZsJaTYY=;n28Ey~re2rx=RlfFLofM@vpT$*}G-%6Qa*^W@wC;FKv8 zM^M3(mfr36ThJp^0!0IBnNWxdi#QWPA}0|$eowZVisVPL*2f#G_QlrvUf89o60z14 z)#HEJU^g>Zx1RB-MJ7y7`K-84Yw!@8)SeyaS2M}(qfF9m0fExYa-2g*OEth!0oe!r z?y!Skq(f7=2}aCc79d;C6{_{MTmw!`HYpo_x7zsMO&7}utGbst>zp2bZ^qxn!^Q?-l*3gtkGx)!p+x$vT}b#DJkQa|xRvjO^OPXs@kAWJIG zOoB>Kv)_H56!?n3qHT^Wy~hSMz59S=AFu$1*zJk64(gq*ykiYYcPx2lSiDgKL^Xf( zty=os8v3HMHNe%Y1}@NMtSWXEG3Au}2{23BDroh#1X{gqg-jr{(a0K9B3Gdh;LXTY z+J{Qr9t^Ql#5mEuOto8uefvea8Pzf-X6iz3I=7itU`0RFXzS6Cs6B^U+X}b7H&E2R zIaGWv@h_*}N;vn_(D;KRqxRiGqZ)rM3Vq2m#JPZWnP(mJzG}#*t^^|ZLaduP5x4k~ z!*mTr#k!%Swp=-(*4_~-oz(RO7wF3%x3O3@#G3WeVgv2R0Nn~POiE&~E7&i73T97ipytXfueYgi@tUgM&Mc^75Im?GBCs`z52ky#FFzH#@YmHg9i zOa5uNp?~5l;-4sbHwjlEuZpl&Mc6A4_U`a~UX}0js(hbU@_k;l?~~pADo#}+VpZOS z&c71bu`0amPHs9>|Y<~U%zels(lCk^}TeYIfyZ{ z0RMaPvEQnT)t-Iq*YvSD7u(s)#im-H={ZU!MScz!Y%#o7%S&MSwiMNb>wXy0pq zbHDXUx!mb{W4@;{QH0=3+rJ$C--q80-yWZw?sq@D{Kx6hJKX0V5R;IuLy~>Bl#^G? zk@yi-cQ_^!%eDsl!ybS9>e}7TPX|`N3%~d6?qJy4@Avuxxa!$`{)y_Jv*4d3IN~2u zvI6CJ8wi~*E8yQj{Rj59%jfyC=lJzt<`=-skHO3ri@PCt_T)ESa(tkjBTO6wIrM+7)jha@>s;<;K!RwB zx(807oH%!X&E}P~>z_hD3p%DCWZ_%DqA7?^d{JVtm8SQ+uKdo$T|5^A74jC>rGfA6 z#vhEykNIT}2#z0rx?J-u6M&(7!=EU*!aI;dCCV6QMaH?)A9HMgG)(uoQt>Y;_bB3@ z_1=D(&O)YhUW$KvLxddfM%f4;uS&%9kR9(Z;hFM_M4R3gRiLC-fWeg?K04)HrpScI zFClReKlS(qvPs1~)rIi4jjFF0^kQFObHuLC)2WwrhwUo9SYhwq;Pf9QWidNy~$JsscpC-ZPFc(`8d z`KY*0Cw+U6-lvlTduU4!`IBvRZq2;Se*v%fgmx9XCPik6iaQp!>h?MwtKcbT-a9#T zlu21~<_+^B-9qg@ID#t7(g*v9b17vS%7!9!=IMu`-7}WFl+!_xxu;*We?2)uO564v z&?jO#QVW06>ADKVetrw^ANUqv+qPE|3Gp3LkeKyXV2N**vjND7O?fr|IT2;?=STIC zR#b?zqBzou;7V04+TtK>aFEsS z=j!*)abMP#b+dXsyYOnDC+hiG=lw$G_wB-4hW)ff+;_jw_pV)dW6@1p9Hb4DzFT(g z&4(px%bL7a^|lS5A!(#rM8bzex}eTQuNOzUrW)pa?MVUc$M}R&IvpY-UEGN`w&4Hr zK`MV#kS4`9_27{xu&i7MLf9Y)VNFr(=B5xfSBfA&_mQ)D+ojjF9#2p6B~Knt$=@#H z{4F!i-!kLaw)n=roNp+%FPGdpswL>Bw~6g6BF=;_&#oeVlIFBs!7Iple%O~kjs*>^o`jo8EiZc-nZHR5J+XFmR-)*JbdCwnN_%~#zS*h6=qr6BrhF^>rFvvKnN z&6^f)N@&EEt2=^H?R%ao^YJ_j4&R^tYz@dtY-`82U`A)wIgjIf!*U+6)`T~ox5aKsd+4x+E571 z8tCN>v$Kse`Ch1eAHFdzO@vkTammZjx3u+!M@yv)>jn< z!jq+r#L|IUOokN6zLp4L!$l65(@%fQ?m$89(W&`kQSZl{zIRRExf7ktJUe5o>KT5# z9d9jOu>xMP7_V6J{Sc72XCa*S%`Z}`TB9bG4)(Tz#h?`~&+!c4)t4AJ*96R!Kz9WR zYLnbYN#_`^F)H2g>DxyV=VZRg$Y!Wr<++O zttL+u!vunK3x-K^hN<0YnQ~5znt|}5!1*GxuLB;r=7Mj%ye+#wBD=eEl!eHX%)Tht zmplPS4Tx0*HXz2Cx7E0wnEX&4-Y1_6@Jqb9pLlg;i_*L~!>HAmJIH@xZrWnEwuDCv@T z)NSxD88o7+WEcEoyQ~EE^H7;Ck@=b-!ei4k?T60OO!nYRja4qs@dTTTKQ<^mGl(A;D+8eTbzFnL<;8vB|R`nay}5W zBk8+ySBNq9I^8WTmzQdFx+u6s65o(#Fjh2^CvBDBFg=57hZLJ6$BI>)AXLpF(I{jj zcRE$YX<_oDlNvTxo+no989(Bt0xXj=ValuC3y~6;WGBQFPv5H1w3#6I#NE#ntD(*ci0`P;1!87zjVH=!#6?M+5Q8=zkrwiRPJN$FE{An%no~mhDe1M*aCLoil_^x25e1co81S7Hx(nGQu zStD`Ur_O(BQeiYn;tJcn={OYYeogF%CW`Xg6e`z5ncgJRe%rfIGSo47klM%*6|^T+ znkrgpVCg+vNmq;YlCr|n=zS_G(^aoU6ZB0_DJBrHvH5DfWUt}?3G%&wZy}Qfeibk% zPk95JEQWZ{l%HHl)Pe$*;}d5Av?!&0_#N75mq z)xvB`SWrHv7v`3(G9qPMxp#CQLS~cp^!o-ru z)E=Dt$^)K23m>y;D+?m-kWA>c|1LQUZImWY3dB-_PWboELKAV1OTYDc`SeHg#ZV zK7V0TNSPRNg8EpYb`m0=Niijp3Y=V6v3Y-D1$B{2+eY%8UqPW_1Y-^*0K~-uQYGF^Z64On!{#Lnw+bM@V=a-4NW0_+`1kFe z0~j1U9NVeQmQ@9oFqrANdb)dhx_jzmzTZOU#d2v;dWkQ`v|c+@472;1tDc7PMO}ZX zOg5QsH+!Hm*Z12cKO7JVfGZJirM%PEAU*BZP5;yXe%;9P<-?X=Eqw(-5kDDth}N6R zxjO*KT~KZCW@kDjsE|T(~^V20npBN^Rr?RtCT#Pf(H) zkYt2hG-+RQ6DASV7kVVUiW|2?kK=#pqOPvjNLjCOUKzj+j^O+Bai4xw;r%s~7K}Bp zc~`Fd7IVmN{64A;tIz!Ytt!ZV=9P1ibxy8qBn1nJ+B6q(>u_Y0PK>*3hN%p*s7dSg z)TuZ&1C`A{o&2yXcK`ZIr}O{0c9e^^+2M@=Qehzoz`uOc7FPnrM3dp#h1ds`(O>XzSUym@Bi)xA*TJHv4*}S3DWA!6ZfR z?hm7iH>YY|#%zDk7(+;NIg`$wR3RAkOqdvj&pB+Hr=Ckak9t1!0_uMasc%x>qP|W2 z0ref~yVUon?^8dZ{*VSH4J;biG#Jppp@B;Sj|M&s0vZhI(4<434g)$IQp+^qvEZ@c z8NlPfv7gu`I}FK}HKQT9DC#j22|HA)^f$ZJRm)b%xY6 zscT^vH+Mi?hq^9xJ?ek@)EQ96p8+|X&V;9TEUj6j2jzSkPm|d!OqdEA?WNRZF)v3c zp^Gt|CSpvYB#bcd1eqI9`1aP;y}=BR0F6W+kjccM)r@z>BEz7^jt;%SGVm^5iBc5a zCKJ0+wk+TQbe^A8%>KnIRp4bI(>;r{rHL;&^pe|K*2Dt&)=hu7Do4SpVv`{KM7vmC z;*}hp1x@Ly7@&n1AfPB|IG-+Nw3V==x}F#dLaW6vCe7+Zsg)=d8|aaYaX2z#r8@zE zA+5tAR}Ee@|H)jhn6(q@8Bt)}PI>55jT zD@qyac&wfk$#Z|4szbUzw3y`I{M)!2O~32^67_#K`@`PN?Agi5%SNJ|hhbJt8ss6l z`{ss027r0VGYrDz3r6_9tkB3drE#VRUqbGZG(XEg=8Id{ITH~n3Urz{_#8ipW!qvk z98Kc8sy}7ZYIu%T!=+iGLC`URdBC>~#HD7kkViI9oXLO6GOB1okXbpCa9*C#B|IOOoY+Xc5+`rUDnAJ+;)D0smF$wy(GkE+r-%BCERnyN?H&^YY$ExC7T2-wVBThpNR z@Uw&;enj@%$2dHQNowTxcm|m*?>4zx^bF0^dP#q&q_kKJr=NGb^zjuSI~wpWPJX9| z&uK3l*po!Zs2c#bWh#w?jI?WwU3vBBi3w)ULFVmT6>EgK(n66iQ6g66dOz zL4ki;4M*@;j&HS**!;(00PdixBUlePA0v1}!=S}w<03VL(cKcGAMn*u$0_xoz6i-7 zZ6S@MXOWvhX0lwxGAW_}(YN81MIZ2IgFid``3-)?3$|9oCSxg<3@n#LuSevT1I8S; zjC?oskY$@J+mUA|4rC3Pe*O?{LI7#zg~@+o&CF36HKt>12rnhJ1z8Pv9daG+Q9#pr zD;rHb(ZCjXlM1{VFcnlw*_m2)2dux^n4N5l(1)CD%WVZ-4VD6_rRcY6(P}e9BhFP0 zn60GAT^a+b>u)O%m*FmY+~dVy#`hf-Y&BYiSm+M$q?Q{=_Ed?)%p0oc46$g>q8fI?so*5n~H!N2{c=|@$xwgeRRVx=0sxF9 zsq2{Jd&=Ikj02>p1j*DsmYo?4C_+!G&>d4k56(d^-~8Tl}xyMb{hH z<|IsuJSplfaU=cGNcw*a0_mlFmaWHD0HGaTHIQbUd0DNl&yAF@wo9MzKX(~p>s;t0 zE>OHvtRJ%WvWbEPX_6lA4z9l!*ux&{m9hpKuD4|e7#oSMRkz%@RQ@m%o|1gA+&NJf zbz?*XKqZhu9iHl3F98;g$+&m@2{_+j)S?uU*OD+ohPRS%(uIF_k~j*C8hVw;HD`)0 zIlgl-zDY0a@G$QJ^1OgNN64i&0d4cQ9;v-k@2@*Lsw^19d<^xT?2wcNrqJwJ-c*hv z*srE2f1;?^`PlRH@!|2q^JOt5F4qp{z}I+uZq!)d@chwue^;Rh_t4ZgH*l+vHg)}z zMa|M}ZDpK_VQ?m8V&DQ+H;Rdu#Slo84J9h8lVXEiIt57`Gkos+7mC?UHxI7>033yR Axc~qF delta 7478 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 AyZ`_I From 09109261a6b0efa43bfaf86fd8c472bd5ce5dd8f Mon Sep 17 00:00:00 2001 From: moxaj Date: Tue, 5 Apr 2016 15:16:22 +0200 Subject: [PATCH 87/91] Add extern for ByteBuffer#skip, fix typo at readBitSet --- externs/bytebuffer.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/externs/bytebuffer.js b/externs/bytebuffer.js index 6de5e6b..979d961 100644 --- a/externs/bytebuffer.js +++ b/externs/bytebuffer.js @@ -153,13 +153,18 @@ ByteBuffer.prototype.fromHex = function(str, littleEndian, noAssert) {}; */ ByteBuffer.prototype.fromUTF8 = function(str, littleEndian, noAssert) {}; - /** * @param {number} capacity * @returns {boolean} */ ByteBuffer.prototype.resize = function(capacity) {}; +/** + * @param {number} length + * @returns {!ByteBuffer} + */ +ByteBuffer.prototype.skip = function(length) {}; + /** * @param {number} begin * @param {number} end @@ -699,7 +704,7 @@ ByteBuffer.prototype.writeBytes = function(src, offset) {}; * @param {number=} offset * @returns {Array} */ -ByteBufferPrototype.readBitSet = function(offset) {}; +ByteBuffer.prototype.readBitSet = function(offset) {}; /** * @param {Array} From 737513750556c6e81e9c5b182337c20d4f4f3f59 Mon Sep 17 00:00:00 2001 From: adon Date: Tue, 14 Jun 2016 15:56:26 +0800 Subject: [PATCH 88/91] Fixed errors in externs --- externs/bytebuffer.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/externs/bytebuffer.js b/externs/bytebuffer.js index 6de5e6b..fc8d7b3 100644 --- a/externs/bytebuffer.js +++ b/externs/bytebuffer.js @@ -699,11 +699,11 @@ ByteBuffer.prototype.writeBytes = function(src, offset) {}; * @param {number=} offset * @returns {Array} */ -ByteBufferPrototype.readBitSet = function(offset) {}; +ByteBuffer.prototype.readBitSet = function(offset) {}; /** - * @param {Array} - * @param {number=} + * @param {Array} value + * @param {number=} offset * @returns {!ByteBuffer} */ ByteBuffer.prototype.writeBitSet = function(value, offset) {}; From 7fc8584ee36ad8f6873afee205ad0f4032e9dcbd Mon Sep 17 00:00:00 2001 From: Amila Welihinda Date: Wed, 17 Aug 2016 16:12:33 -0700 Subject: [PATCH 89/91] Added support for modern node versions --- .travis.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ced0467..233454e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,8 @@ +sudo: false + language: node_js + node_js: + - 6 + - 4 - 0.12 - - 4.2 -sudo: false From c5df32641f8efce6d2ad914b732f91cc9a8e11bf Mon Sep 17 00:00:00 2001 From: Brecht Carnewal Date: Fri, 23 Feb 2018 00:57:28 +0100 Subject: [PATCH 90/91] Move writeBytes to methods/append.js (#87) fixes #74 --- dist/bytebuffer-dataview.js | 24 ++-- dist/bytebuffer-dataview.min.js | 98 ++++++++-------- dist/bytebuffer-dataview.min.js.gz | Bin 7988 -> 7955 bytes dist/bytebuffer-dataview.min.map | 4 +- dist/bytebuffer-node.js | 24 ++-- dist/bytebuffer.js | 24 ++-- dist/bytebuffer.min.js | 175 +++++++++++++++-------------- dist/bytebuffer.min.js.gz | Bin 8658 -> 8654 bytes dist/bytebuffer.min.map | 6 +- src/methods/append.js | 17 +++ src/types/bytes/bytes.js | 17 --- tests/suite.js | 14 +++ 12 files changed, 209 insertions(+), 194 deletions(-) diff --git a/dist/bytebuffer-dataview.js b/dist/bytebuffer-dataview.js index bb6235c..c4d04a2 100644 --- a/dist/bytebuffer-dataview.js +++ b/dist/bytebuffer-dataview.js @@ -509,18 +509,6 @@ return slice; }; - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; // types/ints/int8 @@ -2137,6 +2125,18 @@ return this; }; + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; /** * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to * disable them if your code already makes sure that everything is valid. diff --git a/dist/bytebuffer-dataview.min.js b/dist/bytebuffer-dataview.min.js index a35c7c5..6290102 100644 --- a/dist/bytebuffer-dataview.min.js +++ b/dist/bytebuffer-dataview.min.js @@ -4,16 +4,16 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -(function(h,m){if("function"===typeof define&&define.amd)define(["long"],m);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){var s=module,f;try{f=require("long")}catch(d){}f=m(f);s.exports=f}else(h.dcodeIO=h.dcodeIO||{}).ByteBuffer=m(h.dcodeIO.Long)})(this,function(h){function m(a){var b=0;return function(){return ba)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?t:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};f.VERSION= -"5.0.1";f.LITTLE_ENDIAN=!0;f.BIG_ENDIAN=!1;f.DEFAULT_CAPACITY=16;f.DEFAULT_ENDIAN=f.BIG_ENDIAN;f.DEFAULT_NOASSERT=!1;f.Long=h||null;var d=f.prototype;Object.defineProperty(d,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var t=new ArrayBuffer(0),u=String.fromCharCode;f.accessor=function(){return DataView};f.allocate=function(a,b,c){return new f(a,b,c)};f.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var k=0,d=0,g=a.length,p;d=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== +(function(h,l){if("function"===typeof define&&define.amd)define(["long"],l);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){h=module;try{var t=require("long")}catch(f){}l=l(t);h.exports=l}else(h.dcodeIO=h.dcodeIO||{}).ByteBuffer=l(h.dcodeIO.Long)})(this,function(h){function l(a){var b=0;return function(){return ba)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?u:new ArrayBuffer(a);this.view=0===a?null:new DataView(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};f.VERSION= +"5.0.1";f.LITTLE_ENDIAN=!0;f.BIG_ENDIAN=!1;f.DEFAULT_CAPACITY=16;f.DEFAULT_ENDIAN=f.BIG_ENDIAN;f.DEFAULT_NOASSERT=!1;f.Long=h||null;var d=f.prototype;Object.defineProperty(d,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var u=new ArrayBuffer(0),v=String.fromCharCode;f.accessor=function(){return DataView};f.allocate=function(a,b,c){return new f(a,b,c)};f.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var n=0,g=0,d=a.length,p;g=p||(e.set((new Uint8Array(c.buffer)).subarray(c.offset,c.limit),b.offset),b.offset+=p);b.limit=b.offset;b.offset=0;return b};f.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};f.type=function(){return ArrayBuffer};f.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"=== typeof b&&(b="utf8"),b){case "base64":return f.fromBase64(a,c);case "hex":return f.fromHex(a,c);case "binary":return f.fromBinary(a,c);case "utf8":return f.fromUTF8(a,c);case "debug":return f.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(f.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new f(0,c,e),0>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,k=a.length,d=k>>3,g=0,f;for(b+=this.writeVarint32(k,b);d--;)f=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]&1)<<7,this.writeByte(f,b++);if(g>3,d=0,g=[];for(a+=c.length;k--;)c=this.readByte(a++),g[d++]=!!(c&1),g[d++]=!!(c&2),g[d++]=!!(c&4),g[d++]=!!(c&8),g[d++]=!!(c&16),g[d++]=!!(c&32),g[d++]=!!(c&64),g[d++]=!!(c&128);if(d>k++&1);b&&(this.offset=a);return g};d.readBytes=function(a,b){var c="undefined"=== -typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}var e=this.slice(b,b+a);c&&(this.offset+=a);return e};d.writeBytes=d.append;d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)"); -a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +Array))throw TypeError("Illegal BitSet: Not an array");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,n=a.length,g=n>>3,d=0;for(b+=this.writeVarint32(n,b);g--;){var f=!!a[d++]&1|(!!a[d++]&1)<<1|(!!a[d++]&1)<<2|(!!a[d++]&1)<<3|(!!a[d++]&1)<<4|(!!a[d++]&1)<<5|(!!a[d++]&1)<<6|(!!a[d++]&1)<<7;this.writeByte(f,b++)}if(d>3,d=0,f=[];for(a+=c.length;n--;)c=this.readByte(a++),f[d++]=!!(c&1),f[d++]=!!(c&2),f[d++]=!!(c&4),f[d++]=!!(c&8),f[d++]=!!(c&16),f[d++]=!!(c&32),f[d++]=!!(c&64),f[d++]=!!(c&128);if(d>n++&1);b&&(this.offset=a);return f};d.readBytes=function(a,b){var c="undefined"=== +typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}b=this.slice(b,b+a);c&&(this.offset+=a);return b};d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setInt8(b-1,a);c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getInt8(a);b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>= 0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setUint8(b-1,a);c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ a+" (+1) <= "+this.buffer.byteLength);}a=this.view.getUint8(a);b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); @@ -34,55 +34,55 @@ a.low,!1));c&&(this.offset+=8);return this},d.writeUInt64=d.writeUint64,d.readUi d.readFloat32;d.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view.setFloat64(b-8,a,this.littleEndian); c&&(this.offset+=8);return this};d.writeDouble=d.writeFloat64;d.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=this.view.getFloat64(a,this.littleEndian);b&&(this.offset+=8);return a};d.readDouble=d.readFloat64;f.MAX_VARINT32_BYTES=5;f.calculateVarint32= function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};f.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};f.zigZagDecode32=function(a){return a>>>1^-(a&1)|0};d.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var e=f.calculateVarint32(a),k;b+=e;k=this.buffer.byteLength;b>k&&this.resize((k*=2)>b?k:b);b-=e;for(a>>>=0;128<=a;)k=a&127|128,this.view.setUint8(b++,k),a>>>=7;this.view.setUint8(b++,a);return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0,k;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;k=this.view.getUint8(a++);5>c&&(e|=(k&127)<<7*c);++c}while(0!==(k&128));e|=0;return b?(this.offset=a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a}; +b+" (+0) <= "+this.buffer.byteLength);}var e=f.calculateVarint32(a);b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;for(a>>>=0;128<=a;)d=a&127|128,this.view.setUint8(b++,d),a>>>=7;this.view.setUint8(b++,a);return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(f.zigZagEncode32(a),b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=0,e=0;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;var d=this.view.getUint8(a++);5>c&&(e|=(d&127)<<7*c);++c}while(0!==(d&128));e|=0;return b?(this.offset=a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=f.zigZagDecode32(a.value):a=f.zigZagDecode32(a);return a}; h&&(f.MAX_VARINT64_BYTES=10,f.calculateVarint64=function(a){"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));var b=a.toInt()>>>0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},f.zigZagEncode64=function(a){"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()}, f.zigZagDecode64=function(a){"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(h.ONE).toSigned().negate()).toSigned()},d.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=f.calculateVarint64(a),k=a.toInt()>>>0,d=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var p=this.buffer.byteLength;b>p&&this.resize((p*= -2)>b?p:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,g>>>7&1);case 9:this.view.setUint8(b+8,9!==e?g|128:g&127);case 8:this.view.setUint8(b+7,8!==e?d>>>21|128:d>>>21&127);case 7:this.view.setUint8(b+6,7!==e?d>>>14|128:d>>>14&127);case 6:this.view.setUint8(b+5,6!==e?d>>>7|128:d>>>7&127);case 5:this.view.setUint8(b+4,5!==e?d|128:d&127);case 4:this.view.setUint8(b+3,4!==e?k>>>21|128:k>>>21&127);case 3:this.view.setUint8(b+2,3!==e?k>>>14|128:k>>>14&127);case 2:this.view.setUint8(b+1,2!==e?k>>>7|128: -k>>>7&127);case 1:this.view.setUint8(b,1!==e?k|128:k&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,k=0,d= -0,g=0,g=this.view.getUint8(a++),e=g&127;if(g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),k=g&127,g&128&&(g=this.view.getUint8(a++),k|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),k|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),k|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); -e=h.fromBits(e|k<<28,k>>>4|d<<24,!1);return b?(this.offset=a,e):{value:e,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof h?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}d=n.calculateUTF16asUTF8(m(a))[1];b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):d};d.readCString=function(a){var b="undefined"===typeof a; -b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;n.decodeUTF8toUTF16(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);d=this.view.getUint8(a++);return 0===d?null:d}.bind(this),e=s(),!0);return b?(this.offset=a,e()): -{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d;d=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*= -2)>b?f:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a),e=this.readUTF8String(e,f.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};f.METRICS_CHARS="c";f.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}var e,d=b;e=n.calculateUTF16asUTF8(m(a))[1];b+=e;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=e;n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-d};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return n.calculateUTF16asUTF8(m(a))[0]};f.calculateUTF8Bytes=function(a){return n.calculateUTF16asUTF8(m(a))[1]};f.calculateString=f.calculateUTF8Bytes;d.readUTF8String=function(a, -b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var d=0,l=c,g;if(b===f.METRICS_CHARS){g=s(); -n.decodeUTF8(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); -}var p=c+a;n.decodeUTF8toUTF16(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,d,l;d=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];l=f.calculateVarint32(d);b+=l+d;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=l+d;b+=this.writeVarint32(d,b);n.encodeUTF16toUTF8(m(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+d+l)throw RangeError("Illegal range: Truncated data, "+ -b+" == "+(b+d+l));return c?(this.offset=b,this):b-e};d.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a),e=this.readUTF8String(e.value,f.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string, +if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=f.calculateVarint64(a),d=a.toInt()>>>0,g=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var k=this.buffer.byteLength;b>k&&this.resize((k*= +2)>b?k:b);b-=e;switch(e){case 10:this.view.setUint8(b+9,a>>>7&1);case 9:this.view.setUint8(b+8,9!==e?a|128:a&127);case 8:this.view.setUint8(b+7,8!==e?g>>>21|128:g>>>21&127);case 7:this.view.setUint8(b+6,7!==e?g>>>14|128:g>>>14&127);case 6:this.view.setUint8(b+5,6!==e?g>>>7|128:g>>>7&127);case 5:this.view.setUint8(b+4,5!==e?g|128:g&127);case 4:this.view.setUint8(b+3,4!==e?d>>>21|128:d>>>21&127);case 3:this.view.setUint8(b+2,3!==e?d>>>14|128:d>>>14&127);case 2:this.view.setUint8(b+1,2!==e?d>>>7|128: +d>>>7&127);case 1:this.view.setUint8(b,1!==e?d|128:d&127)}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(f.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,d=0;var g= +this.view.getUint8(a++);var f=g&127;if(g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),f|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),e=g&127,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<7,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<14,g&128&&(g=this.view.getUint8(a++),e|=(g&127)<<21,g&128&&(g=this.view.getUint8(a++),d=g&127,g&128&&(g=this.view.getUint8(a++),d|=(g&127)<<7,g&128))))))))))throw Error("Buffer overrun"); +f=h.fromBits(f|e<<28,e>>>4|d<<24,!1);return b?(this.offset=a,f):{value:f,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof h?a.value=f.zigZagDecode64(a.value):a=f.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}d=m.calculateUTF16asUTF8(l(a))[1];b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;m.encodeUTF16toUTF8(l(a),function(a){this.view.setUint8(b++,a)}.bind(this));this.view.setUint8(b++,0);return c?(this.offset=b,this):d};d.readCString=function(a){var b="undefined"===typeof a; +b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;m.decodeUTF8toUTF16(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);d=this.view.getUint8(a++);return 0===d?null:d}.bind(this),e=t(),!0);return b?(this.offset=a,e()): +{string:e(),length:a-c}};d.writeIString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b;var d=m.calculateUTF16asUTF8(l(a),this.noAssert)[1];b+=4+d;var g=this.buffer.byteLength;b>g&& +this.resize((g*=2)>b?g:b);b-=4+d;this.view.setUint32(b,d,this.littleEndian);b+=4;m.encodeUTF16toUTF8(l(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+4+d)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a);e=this.readUTF8String(e,f.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};f.METRICS_CHARS="c";f.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}var e=b;var d=m.calculateUTF16asUTF8(l(a))[1];b+=d;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=d;m.encodeUTF16toUTF8(l(a),function(a){this.view.setUint8(b++,a)}.bind(this));return c?(this.offset=b,this):b-e};d.writeString=d.writeUTF8String;f.calculateUTF8Chars=function(a){return m.calculateUTF16asUTF8(l(a))[0]};f.calculateUTF8Bytes=function(a){return m.calculateUTF16asUTF8(l(a))[1]};f.calculateString=f.calculateUTF8Bytes;d.readUTF8String=function(a, +b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=f.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}var d=0,g=c;if(b===f.METRICS_CHARS){var k= +t();m.decodeUTF8(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+"+a+") <= "+this.buffer.byteLength); +}var p=c+a;m.decodeUTF8toUTF16(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b;var d=m.calculateUTF16asUTF8(l(a),this.noAssert)[1];var g=f.calculateVarint32(d);b+=g+d;var k=this.buffer.byteLength;b>k&&this.resize((k*=2)>b?k:b);b-=g+d;b+=this.writeVarint32(d,b);m.encodeUTF16toUTF8(l(a),function(a){this.view.setUint8(b++,a)}.bind(this));if(b!==e+d+g)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+d+g));return c?(this.offset=b,this):b-e};d.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a);e=this.readUTF8String(e.value,f.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string, length:a-c}};d.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength;c>d&&this.resize((d*=2)> -c?d:c);(new Uint8Array(this.buffer,c-b)).set((new Uint8Array(a.buffer)).subarray(a.offset,a.limit));a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new f(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength), -(new Uint8Array(b.buffer)).set(this.buffer),b.view=new DataView(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a|| -a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=t,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this}; -d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c,this.littleEndian, -this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,l;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(l="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ -c+" <= "+this.buffer.byteLength);var g=e-c;if(0===g)return a;a.ensureCapacity(b+g);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=g);l&&(a.offset+=g);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer"); +b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=u,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c);(new Uint8Array(e)).set((new Uint8Array(this.buffer)).subarray(a,b));this.buffer=e;this.view=new DataView(e);0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit= +c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new f(0,this.littleEndian,this.noAssert);var c=b-a,e=new f(c, +this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a,b);return e};d.copyTo=function(a,b,c,e){var d,g;if(!this.noAssert&&!f.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(g="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+ +c+" <= "+this.buffer.byteLength);var k=e-c;if(0===k)return a;a.ensureCapacity(b+k);(new Uint8Array(a.buffer)).set((new Uint8Array(this.buffer)).subarray(c,e),b);d&&(this.offset+=k);g&&(a.offset+=k);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean"); this.littleEndian=!!a;return this};d.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+0) <= "+this.buffer.byteLength);}a instanceof f||(a=f.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}this.buffer.byteLength>>=0; if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call((new Uint8Array(this.buffer)).subarray(a,b));this.view=new DataView(this.buffer);return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+ a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer; -if(b===c)return t;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, -c);case "debug":return this.toDebug();case "columns":return this.toColumns();default:throw Error("Unsupported encoding: "+a);}};var v=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e= -a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.decode=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,k,f;null!==(d=a());)if(k=c[d],"undefined"===typeof k&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(k<<2>>>0|(f&48)>>4),null!==(d=a()))){k=c[d];if("undefined"===typeof k)if(61===d)break;else e(d);b((f&15)<<4>>>0|(k&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"=== -typeof f)if(61===d)break;else e(d);b((k&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;v.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32 -e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,l=0,g,h=!1,m=!1,n=!1,r=!1,q=!1;d< -e;){switch(g=a.charAt(d++)){case "!":if(!c){if(m||n||r){q=!0;break}m=n=r=!0}b.offset=b.markedOffset=b.limit=l;h=!1;break;case "|":if(!c){if(m||r){q=!0;break}m=r=!0}b.offset=b.limit=l;h=!1;break;case "[":if(!c){if(m||n){q=!0;break}m=n=!0}b.offset=b.markedOffset=l;h=!1;break;case "<":if(!c){if(m){q=!0;break}m=!0}b.offset=l;h=!1;break;case "]":if(!c){if(r||n){q=!0;break}r=n=!0}b.limit=b.markedOffset=l;h=!1;break;case ">":if(!c){if(r){q=!0;break}r=!0}b.limit=l;h=!1;break;case "'":if(!c){if(n){q=!0;break}n= -!0}b.markedOffset=l;h=!1;break;case " ":h=!1;break;default:if(!c&&h){q=!0;break}g=parseInt(g+a.charAt(d++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")}; -f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new f(e/2|0,b);for(var d,h=0,g=0;hd||255e?c(e&127):(2048>e?c(e>>6&31|192):(65536>e?c(e>>12&15|224):(c(e>>18&7|240),c(e>>12&63|128)),c(e>>6&63|128)),c(e&63|128)),e=null},decodeUTF8:function(a,c){for(var e,d,f,g,h=function(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;};null!==(e=a());)if(0===(e&128))c(e);else if(192===(e&224))null===(d=a())&&h([e,d]),c((e&31)<<6|d&63);else if(224===(e&240))null!==(d=a())&&null!== -(f=a())||h([e,d,f]),c((e&15)<<12|(d&63)<<6|f&63);else if(240===(e&248))null!==(d=a())&&null!==(f=a())&&null!==(g=a())||h([e,d,f,g]),c((e&7)<<18|(d&63)<<12|(f&63)<<6|g&63);else throw RangeError("Illegal starting byte: "+e);},UTF16toUTF8:function(a,c){for(var e,d=null;null!==(e=null!==d?d:a());)55296<=e&&57343>=e&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(e-55296)+d-56320+65536),d=null):c(e);null!==d&&c(d)},UTF8toUTF16:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null}); -for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},encodeUTF16toUTF8:function(b,c){a.UTF16toUTF8(b,function(b){a.encodeUTF8(b,c)})},decodeUTF8toUTF16:function(b,c){a.decodeUTF8(b,function(b){a.UTF8toUTF16(b,c)})},calculateCodePoint:function(a){return 128>a?1:2048>a?2:65536>a?3:4},calculateUTF8:function(a){for(var c,d=0;null!==(c=a());)d+=128>c?1:2048>c?2:65536>c?3:4;return d},calculateUTF16asUTF8:function(b){var c=0,d=0;a.UTF16toUTF8(b,function(a){++c; -d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{n.decodeUTF8toUTF16(function(){return a< -b?this.view.getUint8(a++):null}.bind(this),c=s())}catch(d){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(n.calculateUTF16asUTF8(m(a),!0)[1],b,c),h=0;n.encodeUTF16toUTF8(m(a),function(a){d.view.setUint8(h++,a)});d.limit=h;return d};return f}); +if(b===c)return u;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB_DataView(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b, +c);case "debug":return this.toDebug();case "columns":return this.toColumns();default:throw Error("Unsupported encoding: "+a);}};var w=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e= +a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.decode=function(a,b){function e(a){throw Error("Illegal character code: "+a);}for(var d,f,g;null!==(d=a());)if(f=c[d],"undefined"===typeof f&&e(d),null!==(d=a())&&(g=c[d],"undefined"===typeof g&&e(d),b(f<<2>>>0|(g&48)>>4),null!==(d=a()))){f=c[d];if("undefined"===typeof f)if(61===d)break;else e(d);b((g&15)<<4>>>0|(f&60)>>2);if(null!==(d=a())){g=c[d];if("undefined"=== +typeof g)if(61===d)break;else e(d);b((f&3)<<6>>>0|g)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;w.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e? +String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";k+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset?d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";k+=d+f+"\n"}return a?k:d};f.fromDebug=function(a,b,c){var e=a.length;b=new f((e+1)/3|0,b,c);for(var d=0,g=0,k,h=!1,l=!1,m=!1,r=!1,q=!1;d< +e;){switch(k=a.charAt(d++)){case "!":if(!c){if(l||m||r){q=!0;break}l=m=r=!0}b.offset=b.markedOffset=b.limit=g;h=!1;break;case "|":if(!c){if(l||r){q=!0;break}l=r=!0}b.offset=b.limit=g;h=!1;break;case "[":if(!c){if(l||m){q=!0;break}l=m=!0}b.offset=b.markedOffset=g;h=!1;break;case "<":if(!c){if(l){q=!0;break}l=!0}b.offset=g;h=!1;break;case "]":if(!c){if(r||m){q=!0;break}r=m=!0}b.limit=b.markedOffset=g;h=!1;break;case ">":if(!c){if(r){q=!0;break}r=!0}b.limit=g;h=!1;break;case "'":if(!c){if(m){q=!0;break}m= +!0}b.markedOffset=g;h=!1;break;case " ":h=!1;break;default:if(!c&&h)q=!0;else{k=parseInt(k+a.charAt(d++),16);if(!c&&(isNaN(k)||0>k||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")}; +f.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new f(d/2|0,b);for(var h,g=0,k=0;gh||255b?c(b&127):(2048>b?c(b>>6&31|192):65536>b?(c(b>>12&15|224),c(b>>6&63|128)):(c(b>>18&7|240),c(b>>12&63|128),c(b>>6&63|128)),c(b&63|128)),b=null},decodeUTF8:function(a,c){for(var b,d,f,h,l=function(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;};null!==(b=a());)if(0===(b&128))c(b);else if(192===(b&224))null===(d=a())&&l([b,d]),c((b&31)<<6|d&63);else if(224===(b&240))null!== +(d=a())&&null!==(f=a())||l([b,d,f]),c((b&15)<<12|(d&63)<<6|f&63);else if(240===(b&248))null!==(d=a())&&null!==(f=a())&&null!==(h=a())||l([b,d,f,h]),c((b&7)<<18|(d&63)<<12|(f&63)<<6|h&63);else throw RangeError("Illegal starting byte: "+b);},UTF16toUTF8:function(a,c){for(var b,d=null;null!==(b=null!==d?d:a());)55296<=b&&57343>=b&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(b-55296)+d-56320+65536),d=null):c(b);null!==d&&c(d)},UTF8toUTF16:function(a,c){var b=null;"number"===typeof a&&(b=a,a=function(){return null}); +for(;null!==b||null!==(b=a());)65535>=b?c(b):(b-=65536,c((b>>10)+55296),c(b%1024+56320)),b=null},encodeUTF16toUTF8:function(b,c){a.UTF16toUTF8(b,function(b){a.encodeUTF8(b,c)})},decodeUTF8toUTF16:function(b,c){a.decodeUTF8(b,function(b){a.UTF8toUTF16(b,c)})},calculateCodePoint:function(a){return 128>a?1:2048>a?2:65536>a?3:4},calculateUTF8:function(a){for(var b,d=0;null!==(b=a());)d+=128>b?1:2048>b?2:65536>b?3:4;return d},calculateUTF16asUTF8:function(b){var c=0,d=0;a.UTF16toUTF8(b,function(a){++c; +d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.decodeUTF8toUTF16(function(){return a< +b?this.view.getUint8(a++):null}.bind(this),c=t())}catch(e){if(a!==b)throw RangeError("Illegal range: Truncated data, "+a+" != "+b);}return c()};f.fromUTF8=function(a,b,c){if(!c&&"string"!==typeof a)throw TypeError("Illegal str: Not a string");var d=new f(m.calculateUTF16asUTF8(l(a),!0)[1],b,c),h=0;m.encodeUTF16toUTF8(l(a),function(a){d.view.setUint8(h++,a)});d.limit=h;return d};return f}); diff --git a/dist/bytebuffer-dataview.min.js.gz b/dist/bytebuffer-dataview.min.js.gz index e3f6b364138142e25133ea719bc693333f4654ff..885731f2beff7297b17c72bee1473795fd53a683 100644 GIT binary patch literal 7955 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 JHb#V`008ktrpW*R literal 7988 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 diff --git a/dist/bytebuffer-dataview.min.map b/dist/bytebuffer-dataview.min.map index d357379..775e3ca 100644 --- a/dist/bytebuffer-dataview.min.map +++ b/dist/bytebuffer-dataview.min.map @@ -2,7 +2,7 @@ "version":3, "file":"", "lineCount":88, -"mappings":"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", +"mappings":"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", "sources":["dist/bytebuffer-dataview.js"], -"names":["global","factory","define","require","module","Long","e","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","m","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","readInt8","ByteBufferPrototype.readInt8","getInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","a","d","indexOf","name","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8"] +"names":["global","factory","define","require","module","Long","e","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","buffer","EMPTY_BUFFER","ArrayBuffer","view","DataView","offset","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","value","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","Uint8Array","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","setUint8","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","m","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","setInt8","readInt8","ByteBufferPrototype.readInt8","getInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","getUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","setInt16","writeShort","readInt16","ByteBufferPrototype.readInt16","getInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","setUint16","writeUInt16","readUint16","ByteBufferPrototype.readUint16","getUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","setInt32","writeInt","readInt32","ByteBufferPrototype.readInt32","getInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","setUint32","writeUInt32","readUint32","ByteBufferPrototype.readUint32","getUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","low","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","setFloat32","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","getFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","setFloat64","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","getFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","c","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","writeBytes","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","arrayView","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","log","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","isNaN","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","a","d","indexOf","name","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8"] } diff --git a/dist/bytebuffer-node.js b/dist/bytebuffer-node.js index 93a7c46..70ba4f3 100644 --- a/dist/bytebuffer-node.js +++ b/dist/bytebuffer-node.js @@ -503,18 +503,6 @@ module.exports = (function() { return slice; }; - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its - * offsets will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; // types/ints/int8 @@ -2277,6 +2265,18 @@ module.exports = (function() { return this; }; + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its + * offsets will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; /** * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to * disable them if your code already makes sure that everything is valid. diff --git a/dist/bytebuffer.js b/dist/bytebuffer.js index bb3e3aa..8362fa3 100644 --- a/dist/bytebuffer.js +++ b/dist/bytebuffer.js @@ -508,18 +508,6 @@ return slice; }; - /** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ - ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; // types/ints/int8 @@ -2422,6 +2410,18 @@ return this; }; + /** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ + ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; /** * Enables or disables assertions of argument types and offsets. Assertions are enabled by default but you can opt to * disable them if your code already makes sure that everything is valid. diff --git a/dist/bytebuffer.min.js b/dist/bytebuffer.min.js index d9dfea7..11c798e 100644 --- a/dist/bytebuffer.min.js +++ b/dist/bytebuffer.min.js @@ -4,90 +4,91 @@ Released under the Apache License, Version 2.0 see: https://github.com/dcodeIO/bytebuffer.js for details */ -(function(k,m){if("function"===typeof define&&define.amd)define(["long"],m);else if("function"===typeof require&&"object"===typeof module&&module&&module.exports){var r=module,s;try{s=require("long")}catch(u){}s=m(s);r.exports=s}else(k.dcodeIO=k.dcodeIO||{}).ByteBuffer=m(k.dcodeIO.Long)})(this,function(k){function m(a){var b=0;return function(){return b>1,h=-7;f=c?f-1:0;var k=c?-1:1,p=a[b+f];f+=k;c=p&(1<<-h)-1;p>>=-h;for(h+=l;0>=-h;for(h+=d;0>1,p=23===f? -Math.pow(2,-24)-Math.pow(2,-77):0;l=d?0:l-1;var m=d?1:-1,n=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(g=Math.pow(2,-d))&&(d--,g*=2),b=1<=d+k?b+p/g:b+p*Math.pow(2,1-k),2<=b*g&&(d++,g/=2),d+k>=h?(b=0,d=h):1<=d+k?(b=(b*g-1)*Math.pow(2,f),d+=k):(b=b*Math.pow(2,k-1)*Math.pow(2,f),d=0));for(;8<=f;a[c+l]=b&255,l+=m,b/=256,f-=8);d=d<a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?v:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};h.VERSION="5.0.1";h.LITTLE_ENDIAN=!0;h.BIG_ENDIAN=!1;h.DEFAULT_CAPACITY=16;h.DEFAULT_ENDIAN=h.BIG_ENDIAN;h.DEFAULT_NOASSERT=!1;h.Long=k|| -null;var e=h.prototype;Object.defineProperty(e,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var v=new ArrayBuffer(0),w=String.fromCharCode;h.accessor=function(){return Uint8Array};h.allocate=function(a,b,c){return new h(a,b,c)};h.concat=function(a,b,c,d){if("boolean"===typeof b||"string"!==typeof b)d=c,c=b,b=void 0;for(var f=0,l=0,g=a.length,e;l=e||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=e);b.limit=b.offset;b.offset=0;return b};h.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};h.type=function(){return ArrayBuffer};h.wrap=function(a,b,c,d){"string"!==typeof b&&(d=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return h.fromBase64(a,c);case "hex":return h.fromHex(a,c);case "binary":return h.fromBinary(a,c);case "utf8":return h.fromUTF8(a, -c);case "debug":return h.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(h.isByteBuffer(a))return b=e.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new h(0,c,d),0>>=0;if(0>b||b+0> -this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f=a.length,e=f>>3,g=0,h;for(b+=this.writeVarint32(f,b);e--;)h=!!a[g++]&1|(!!a[g++]&1)<<1|(!!a[g++]&1)<<2|(!!a[g++]&1)<<3|(!!a[g++]&1)<<4|(!!a[g++]&1)<<5|(!!a[g++]&1)<<6|(!!a[g++]&1)<<7,this.writeByte(h,b++);if(g>3,e=0,g=[];for(a+=c.length;f--;)c=this.readByte(a++),g[e++]=!!(c&1),g[e++]=!!(c&2),g[e++]=!!(c&4),g[e++]=!!(c&8),g[e++]=!!(c&16),g[e++]=!!(c&32),g[e++]=!!(c&64),g[e++]=!!(c&128);if(e>f++&1);b&&(this.offset=a);return g};e.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+"+a+") <= "+this.buffer.byteLength);}var d=this.slice(b,b+a);c&&(this.offset+=a);return d};e.writeBytes=e.append;e.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); -}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeByte=e.writeInt8;e.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128===(a&128)&&(a=-(255-a+1));b&&(this.offset+= -1);return a};e.readByte=e.readInt8;e.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b); -this.view[b-1]=a;c&&(this.offset+=1);return this};e.writeUInt8=e.writeUint8;e.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};e.readUInt8=e.readUint8;e.writeInt16=function(a,b){var c="undefined"===typeof b; -c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>> -8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeShort=e.writeInt16;e.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);32768===(c&32768)&& -(c=-(65535-c+1));b&&(this.offset+=2);return c};e.readShort=e.readInt16;e.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var d=this.buffer.byteLength; -b>d&&this.resize((d*=2)>b?d:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};e.writeUInt16=e.writeUint16;e.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength); -}var c=0;this.littleEndian?(c=this.view[a],c|=this.view[a+1]<<8):(c=this.view[a]<<8,c|=this.view[a+1]);b&&(this.offset+=2);return c};e.readUInt16=e.readUint16;e.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeInt=e.writeInt32;e.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% -1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c|0};e.readInt=e.readInt32;e.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); -if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]= -a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};e.writeUInt32=e.writeUint32;e.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=0;this.littleEndian?(c=this.view[a+ -2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0):(c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);b&&(this.offset+=4);return c};e.readUInt32=e.readUint32;k&&(e.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== -typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]= -f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeLong=e.writeInt64,e.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); -a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian?(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0); -a=new k(c,d,!1);b&&(this.offset+=8);return a},e.readLong=e.readInt64,e.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=8;var d=a.low,f=a.high;this.littleEndian?(this.view[b+3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255,b+=4,this.view[b+3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255, -this.view[b+3]=f&255,b+=4,this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);c&&(this.offset+=8);return this},e.writeUInt64=e.writeUint64,e.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}var c=0,d=0;this.littleEndian? -(c=this.view[a+2]<<16,c|=this.view[a+1]<<8,c|=this.view[a],c+=this.view[a+3]<<24>>>0,a+=4,d=this.view[a+2]<<16,d|=this.view[a+1]<<8,d|=this.view[a],d+=this.view[a+3]<<24>>>0):(d=this.view[a+1]<<16,d|=this.view[a+2]<<8,d|=this.view[a+3],d+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0);a=new k(c,d,!0);b&&(this.offset+=8);return a},e.readUInt64=e.readUint64);e.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!== -typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};e.writeFloat=e.writeFloat32;e.readFloat32=function(a){var b="undefined"===typeof a;b&& -(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=s(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};e.readFloat=e.readFloat32;e.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)"); -if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);u(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};e.writeDouble=e.writeFloat64;e.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!== -a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=s(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};e.readDouble=e.readFloat64;h.MAX_VARINT32_BYTES=5;h.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};h.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};h.zigZagDecode32=function(a){return a>>>1^-(a& -1)|0};e.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=h.calculateVarint32(a),f;b+=d;f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b); -b-=d;for(a>>>=0;128<=a;)f=a&127|128,this.view[b++]=f,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):d};e.writeVarint32ZigZag=function(a,b){return this.writeVarint32(h.zigZagEncode32(a),b)};e.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); -}var c=0,d=0,f;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;f=this.view[a++];5>c&&(d|=(f&127)<<7*c);++c}while(0!==(f&128));d|=0;return b?(this.offset=a,d):{value:d,length:c}};e.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=h.zigZagDecode32(a.value):a=h.zigZagDecode32(a);return a};k&&(h.MAX_VARINT64_BYTES=10,h.calculateVarint64=function(a){"number"===typeof a?a=k.fromNumber(a):"string"===typeof a&&(a=k.fromString(a));var b=a.toInt()>>> -0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},h.zigZagEncode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},h.zigZagDecode64=function(a){"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&& -(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(k.ONE).toSigned().negate()).toSigned()},e.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=k.fromNumber(a);else if("string"===typeof a)a=k.fromString(a);else if(!(a&&a instanceof k))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=k.fromNumber(a,!1):"string"===typeof a?a=k.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var d=h.calculateVarint64(a),f=a.toInt()>>>0,e=a.shiftRightUnsigned(28).toInt()>>>0,g=a.shiftRightUnsigned(56).toInt()>>>0;b+=d;var t=this.buffer.byteLength;b>t&&this.resize((t*=2)>b?t:b);b-=d;switch(d){case 10:this.view[b+9]=g>>>7&1;case 9:this.view[b+8]=9!==d?g|128:g&127;case 8:this.view[b+7]=8!==d?e>>>21|128:e>>>21&127;case 7:this.view[b+6]= -7!==d?e>>>14|128:e>>>14&127;case 6:this.view[b+5]=6!==d?e>>>7|128:e>>>7&127;case 5:this.view[b+4]=5!==d?e|128:e&127;case 4:this.view[b+3]=4!==d?f>>>21|128:f>>>21&127;case 3:this.view[b+2]=3!==d?f>>>14|128:f>>>14&127;case 2:this.view[b+1]=2!==d?f>>>7|128:f>>>7&127;case 1:this.view[b]=1!==d?f|128:f&127}return c?(this.offset+=d,this):d},e.writeVarint64ZigZag=function(a,b){return this.writeVarint64(h.zigZagEncode64(a),b)},e.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=0,f=0,e=0,g=0,g=this.view[a++],d=g&127;if(g&128&&(g=this.view[a++],d|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<14,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],d|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++], -f=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<14,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],f|=(g&127)<<21,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e=g&127,g&128||this.noAssert&&"undefined"===typeof g)&&(g=this.view[a++],e|=(g&127)<<7,g&128||this.noAssert&&"undefined"===typeof g))throw Error("Buffer overrun");d=k.fromBits(d|f<<28,f>>>4| -e<<24,!1);return b?(this.offset=a,d):{value:d,length:a-c}},e.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof k?a.value=h.zigZagDecode64(a.value):a=h.zigZagDecode64(a);return a});e.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var d,f=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(d=0;d>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}f=n.calculateUTF16asUTF8(m(a))[1];b+=f+1;d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=f+1;n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):f};e.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d,f=-1;n.decodeUTF8toUTF16(function(){if(0===f)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);f=this.view[a++];return 0===f?null:f}.bind(this),d=r(),!0);return b?(this.offset=a,d()):{string:d(),length:a-c}};e.writeIString=function(a,b){var c= -"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f;f=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];b+=4+f;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4+f;this.littleEndian?(this.view[b+ -3]=f>>>24&255,this.view[b+2]=f>>>16&255,this.view[b+1]=f>>>8&255,this.view[b]=f&255):(this.view[b]=f>>>24&255,this.view[b+1]=f>>>16&255,this.view[b+2]=f>>>8&255,this.view[b+3]=f&255);b+=4;n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+4+f)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+f));return c?(this.offset=b,this):b-d};e.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ -a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,d=this.readUint32(a),d=this.readUTF8String(d,h.METRICS_BYTES,a+=4);a+=d.length;return b?(this.offset=a,d.string):{string:d.string,length:a-c}};h.METRICS_CHARS="c";h.METRICS_BYTES="b";e.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ -b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d,f=b;d=n.calculateUTF16asUTF8(m(a))[1];b+=d;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d;n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-f};e.writeString=e.writeUTF8String;h.calculateUTF8Chars=function(a){return n.calculateUTF16asUTF8(m(a))[0]};h.calculateUTF8Bytes=function(a){return n.calculateUTF16asUTF8(m(a))[1]}; -h.calculateString=h.calculateUTF8Bytes;e.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var d="undefined"===typeof c;d&&(c=this.offset);"undefined"===typeof b&&(b=h.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ -this.buffer.byteLength);}var f=0,e=c,g;if(b===h.METRICS_CHARS){g=r();n.decodeUTF8(function(){return f>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ -c+" (+"+a+") <= "+this.buffer.byteLength);}var k=c+a;n.decodeUTF8toUTF16(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var d=b,f,e;f=n.calculateUTF16asUTF8(m(a),this.noAssert)[1];e=h.calculateVarint32(f);b+=e+f;var g=this.buffer.byteLength;b>g&&this.resize((g*=2)>b?g:b);b-=e+f;b+=this.writeVarint32(f,b);n.encodeUTF16toUTF8(m(a),function(a){this.view[b++]=a}.bind(this));if(b!==d+f+e)throw RangeError("Illegal range: Truncated data, "+ -b+" == "+(b+f+e));return c?(this.offset=b,this):b-d};e.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,d=this.readVarint32(a),d=this.readUTF8String(d.value,h.METRICS_BYTES,a+=d.length);a+=d.length;return b?(this.offset=a,d.string):{string:d.string, -length:a-c}};e.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a=h.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var f=this.buffer.byteLength;c>f&&this.resize((f*=2)> -c?f:c);c-=b;this.view.set(a.view.subarray(a.offset,a.limit),c);a.offset+=b;d&&(this.offset+=b);return this};e.appendTo=function(a,b){a.append(this,b);return this};e.assert=function(a){this.noAssert=!a;return this};e.capacity=function(){return this.buffer.byteLength};e.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};e.clone=function(a){var b=new h(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength),b.view=new Uint8Array(b.buffer)): -(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};e.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+ -b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=v,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var d=new ArrayBuffer(c),f=new Uint8Array(d);f.set(this.view.subarray(a,b));this.buffer=d;this.view=f;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};e.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!== -typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new h(0,this.littleEndian,this.noAssert);var c=b-a,d=new h(c,this.littleEndian,this.noAssert);d.offset=0;d.limit=c;0<=d.markedOffset&&(d.markedOffset-=a);this.copyTo(d,0,a,b);return d};e.copyTo=function(a, -b,c,d){var f,e;if(!this.noAssert&&!h.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(e="undefined"===typeof b)?a.offset:b|0;c=(f="undefined"===typeof c)?this.offset:c|0;d="undefined"===typeof d?this.limit:d|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||d>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var g=d-c;if(0===g)return a;a.ensureCapacity(b+g); -a.view.set(this.view.subarray(c,d),b);f&&(this.offset+=g);e&&(a.offset+=g);return this};e.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};e.fill=function(a,b,c){var d="undefined"===typeof b;d&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};e.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};e.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0;return this};e.BE=function(a){this.littleEndian= -"undefined"!==typeof a?!a:!1;return this};e.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var d="undefined"===typeof c;d&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof h||(a=h.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;var f=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this}; -e.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};e.slice=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); -a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};e.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer"); -c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return v;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};e.toArrayBuffer=e.toBuffer;e.toString=function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+ -")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.toColumns();default:throw Error("Unsupported encoding: "+a);}};var x=function(){for(var a={},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113, -114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],d=0,f=b.length;d>2&63]),f=(d&3)<<4,null!==(d=a())?(f|=d>>4&15,c(b[(f|d>>4&15)&63]),f=(d&15)<<2,null!==(d=a())?(c(b[(f|d>>6&3)&63]),c(b[d&63])):(c(b[f&63]),c(61))):(c(b[f&63]),c(61),c(61))};a.decode=function(a,b){function d(a){throw Error("Illegal character code: "+a);}for(var f,e,h;null!==(f=a());)if(e=c[f],"undefined"===typeof e&&d(f),null!==(f=a())&& -(h=c[f],"undefined"===typeof h&&d(f),b(e<<2>>>0|(h&48)>>4),null!==(f=a()))){e=c[f];if("undefined"===typeof e)if(61===f)break;else d(f);b((h&15)<<4>>>0|(e&60)>>2);if(null!==(f=a())){h=c[f];if("undefined"===typeof h)if(61===f)break;else d(f);b((e&3)<<6>>>0|h)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)};return a}();e.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity|| -a>b)throw RangeError("begin, end");var c;x.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],d=[];ad?f+("0"+d.toString(16).toUpperCase()):f+d.toString(16).toUpperCase(),a&&(e+=32d?String.fromCharCode(d):"."));++b;if(a&&0f.length;)f+=" ";g+=f+e+"\n";f=e=""}f=b===this.offset&&b===this.limit?f+(b===this.markedOffset?"!":"|"):b===this.offset?f+(b===this.markedOffset?"[":"<"):b===this.limit?f+(b===this.markedOffset?"]":">"):f+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!== -f){for(;51>f.length;)f+=" ";g+=f+e+"\n"}return a?g:f};h.fromDebug=function(a,b,c){var d=a.length;b=new h((d+1)/3|0,b,c);for(var f=0,e=0,g,k=!1,m=!1,n=!1,p=!1,q=!1;f":if(!c){if(p){q=!0;break}p=!0}b.limit=e;k=!1;break;case "'":if(!c){if(n){q=!0;break}n=!0}b.markedOffset=e;k=!1;break;case " ":k=!1;break;default:if(!c&&k){q=!0;break}g=parseInt(g+a.charAt(f++),16);if(!c&&(isNaN(g)||0>g||255>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+ -this.buffer.byteLength);}for(var c=Array(b-a),d;ad?c.push("0",d.toString(16)):c.push(d.toString(16));return c.join("")};h.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var d=a.length;b=new h(d/2|0,b);for(var f,e=0,g=0;ef||255d?c(d&127):(2048>d?c(d>>6&31|192):(65536>d?c(d>>12&15|224):(c(d>>18&7|240),c(d>>12&63|128)),c(d>>6&63|128)),c(d&63|128)),d=null},decodeUTF8:function(a,c){for(var d,f,e,g,h=function(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;};null!==(d=a());)if(0=== -(d&128))c(d);else if(192===(d&224))null===(f=a())&&h([d,f]),c((d&31)<<6|f&63);else if(224===(d&240))null!==(f=a())&&null!==(e=a())||h([d,f,e]),c((d&15)<<12|(f&63)<<6|e&63);else if(240===(d&248))null!==(f=a())&&null!==(e=a())&&null!==(g=a())||h([d,f,e,g]),c((d&7)<<18|(f&63)<<12|(e&63)<<6|g&63);else throw RangeError("Illegal starting byte: "+d);},UTF16toUTF8:function(a,c){for(var d,e=null;null!==(d=null!==e?e:a());)55296<=d&&57343>=d&&null!==(e=a())&&56320<=e&&57343>=e?(c(1024*(d-55296)+e-56320+65536), -e=null):c(d);null!==e&&c(e)},UTF8toUTF16:function(a,c){var d=null;"number"===typeof a&&(d=a,a=function(){return null});for(;null!==d||null!==(d=a());)65535>=d?c(d):(d-=65536,c((d>>10)+55296),c(d%1024+56320)),d=null},encodeUTF16toUTF8:function(b,c){a.UTF16toUTF8(b,function(b){a.encodeUTF8(b,c)})},decodeUTF8toUTF16:function(b,c){a.decodeUTF8(b,function(b){a.UTF8toUTF16(b,c)})},calculateCodePoint:function(a){return 128>a?1:2048>a?2:65536>a?3:4},calculateUTF8:function(a){for(var c,d=0;null!==(c=a());)d+= -128>c?1:2048>c?2:65536>c?3:4;return d},calculateUTF16asUTF8:function(b){var c=0,d=0;a.UTF16toUTF8(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();e.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ -a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{n.decodeUTF8toUTF16(function(){return a>1,n=-7;k=c?k-1:0;var h=c?-1:1,q=a[b+k];k+=h;c=q&(1<<-n)-1;q>>=-n;for(n+=f;0>=-n;for(n+=e;0>1,q=23===k?Math.pow(2, +-24)-Math.pow(2,-77):0;f=e?0:f-1;var l=e?1:-1,m=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,e=n):(e=Math.floor(Math.log(b)/Math.LN2),1>b*(d=Math.pow(2,-e))&&(e--,d*=2),b=1<=e+h?b+q/d:b+q*Math.pow(2,1-h),2<=b*d&&(e++,d/=2),e+h>=n?(b=0,e=n):1<=e+h?(b=(b*d-1)*Math.pow(2,k),e+=h):(b=b*Math.pow(2,h-1)*Math.pow(2,k),e=0));for(;8<=k;a[c+f]=b&255,f+=l,b/=256,k-=8);e=e<a)throw RangeError("Illegal capacity");b=!!b;c=!!c}this.buffer=0===a?w:new ArrayBuffer(a);this.view=0===a?null:new Uint8Array(this.buffer);this.offset=0;this.markedOffset=-1;this.limit=a;this.littleEndian=b;this.noAssert=c};g.VERSION="5.0.1";g.LITTLE_ENDIAN=!0;g.BIG_ENDIAN=!1;g.DEFAULT_CAPACITY=16;g.DEFAULT_ENDIAN=g.BIG_ENDIAN;g.DEFAULT_NOASSERT=!1;g.Long=h||null;var d= +g.prototype;Object.defineProperty(d,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var w=new ArrayBuffer(0),x=String.fromCharCode;g.accessor=function(){return Uint8Array};g.allocate=function(a,b,c){return new g(a,b,c)};g.concat=function(a,b,c,e){if("boolean"===typeof b||"string"!==typeof b)e=c,c=b,b=void 0;for(var k=0,f=0,d=a.length,u;f=u||(b.view.set(c.view.subarray(c.offset,c.limit),b.offset),b.offset+=u);b.limit=b.offset;b.offset=0;return b};g.isByteBuffer=function(a){return!0===(a&&a.__isByteBuffer__)};g.type=function(){return ArrayBuffer};g.wrap=function(a,b,c,e){"string"!==typeof b&&(e=c,c=b,b=void 0);if("string"===typeof a)switch("undefined"===typeof b&&(b="utf8"),b){case "base64":return g.fromBase64(a,c);case "hex":return g.fromHex(a,c);case "binary":return g.fromBinary(a,c);case "utf8":return g.fromUTF8(a, +c);case "debug":return g.fromDebug(a,c);default:throw Error("Unsupported encoding: "+b);}if(null===a||"object"!==typeof a)throw TypeError("Illegal buffer");if(g.isByteBuffer(a))return b=d.clone.call(a),b.markedOffset=-1,b;if(a instanceof Uint8Array)b=new g(0,c,e),0>>=0;if(0>b||b+0> +this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b,k=a.length,f=k>>3,d=0;for(b+=this.writeVarint32(k,b);f--;){var g=!!a[d++]&1|(!!a[d++]&1)<<1|(!!a[d++]&1)<<2|(!!a[d++]&1)<<3|(!!a[d++]&1)<<4|(!!a[d++]&1)<<5|(!!a[d++]&1)<<6|(!!a[d++]&1)<<7;this.writeByte(g,b++)}if(d>3,f=0,d=[];for(a+=c.length;k--;)c=this.readByte(a++),d[f++]=!!(c&1),d[f++]=!!(c&2),d[f++]=!!(c&4),d[f++]=!!(c&8),d[f++]=!!(c&16),d[f++]=!!(c&32),d[f++]=!!(c&64),d[f++]=!!(c&128);if(f>k++&1);b&&(this.offset=a);return d};d.readBytes=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b|| +b+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+"+a+") <= "+this.buffer.byteLength);}b=this.slice(b,b+a);c&&(this.offset+=a);return b};d.writeInt8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);this.view[b-1]=a;c&&(this.offset+=1);return this};d.writeByte=d.writeInt8;d.readInt8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];128=== +(a&128)&&(a=-(255-a+1));b&&(this.offset+=1);return a};d.readByte=d.readInt8;d.writeUint8=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=1;var e=this.buffer.byteLength; +b>e&&this.resize((e*=2)>b?e:b);this.view[b-1]=a;c&&(this.offset+=1);return this};d.writeUInt8=d.writeUint8;d.readUint8=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}a=this.view[a];b&&(this.offset+=1);return a};d.readUInt8=d.readUint8;d.writeInt16=function(a, +b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]= +a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};d.writeShort=d.writeInt16;d.readInt16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+2) <= "+this.buffer.byteLength);}if(this.littleEndian){var c=this.view[a];c|=this.view[a+1]<<8}else c=this.view[a]<< +8,c|=this.view[a+1];32768===(c&32768)&&(c=-(65535-c+1));b&&(this.offset+=2);return c};d.readShort=d.readInt16;d.writeUint16=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength); +}b+=2;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=2;this.littleEndian?(this.view[b+1]=(a&65280)>>>8,this.view[b]=a&255):(this.view[b]=(a&65280)>>>8,this.view[b+1]=a&255);c&&(this.offset+=2);return this};d.writeUInt16=d.writeUint16;d.readUint16=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +a+" (+2) <= "+this.buffer.byteLength);}if(this.littleEndian){var c=this.view[a];c|=this.view[a+1]<<8}else c=this.view[a]<<8,c|=this.view[a+1];b&&(this.offset+=2);return c};d.readUInt16=d.readUint16;d.writeInt32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};d.writeInt=d.writeInt32;d.readInt32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a% +1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}if(this.littleEndian){var c=this.view[a+2]<<16;c|=this.view[a+1]<<8;c|=this.view[a];c+=this.view[a+3]<<24>>>0}else c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0;b&&(this.offset+=4);return c|0};d.readInt=d.readInt32;d.writeUint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=4;this.littleEndian?(this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]= +a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255);c&&(this.offset+=4);return this};d.writeUInt32=d.writeUint32;d.readUint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}if(this.littleEndian){var c=this.view[a+ +2]<<16;c|=this.view[a+1]<<8;c|=this.view[a];c+=this.view[a+3]<<24>>>0}else c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0;b&&(this.offset+=4);return c};d.readUInt32=d.readUint32;h&&(d.writeInt64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;e=a.low;a=a.high;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255,b+=4,this.view[b+3]=a>>> +24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+3]=a&255,b+=4,this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255);c&&(this.offset+=8);return this},d.writeLong=d.writeInt64,d.readInt64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)"); +a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}if(this.littleEndian){var c=this.view[a+2]<<16;c|=this.view[a+1]<<8;c|=this.view[a];c+=this.view[a+3]<<24>>>0;a+=4;var e=this.view[a+2]<<16;e|=this.view[a+1]<<8;e|=this.view[a];e+=this.view[a+3]<<24>>>0}else e=this.view[a+1]<<16,e|=this.view[a+2]<<8,e|=this.view[a+3],e+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>> +0;a=new h(c,e,!1);b&&(this.offset+=8);return a},d.readLong=d.readInt64,d.writeUint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=8;e=a.low;a=a.high;this.littleEndian?(this.view[b+3]=e>>>24&255,this.view[b+2]=e>>>16&255,this.view[b+1]=e>>>8&255,this.view[b]=e&255,b+=4,this.view[b+3]=a>>>24&255,this.view[b+2]=a>>>16&255,this.view[b+1]=a>>>8&255,this.view[b]=a&255):(this.view[b]=a>>>24&255,this.view[b+1]=a>>>16&255,this.view[b+2]=a>>>8&255,this.view[b+ +3]=a&255,b+=4,this.view[b]=e>>>24&255,this.view[b+1]=e>>>16&255,this.view[b+2]=e>>>8&255,this.view[b+3]=e&255);c&&(this.offset+=8);return this},d.writeUInt64=d.writeUint64,d.readUint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}if(this.littleEndian){var c= +this.view[a+2]<<16;c|=this.view[a+1]<<8;c|=this.view[a];c+=this.view[a+3]<<24>>>0;a+=4;var e=this.view[a+2]<<16;e|=this.view[a+1]<<8;e|=this.view[a];e+=this.view[a+3]<<24>>>0}else e=this.view[a+1]<<16,e|=this.view[a+2]<<8,e|=this.view[a+3],e+=this.view[a]<<24>>>0,a+=4,c=this.view[a+1]<<16,c|=this.view[a+2]<<8,c|=this.view[a+3],c+=this.view[a]<<24>>>0;a=new h(c,e,!0);b&&(this.offset+=8);return a},d.readUInt64=d.readUint64);d.writeFloat32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset); +if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=4;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);y(this.view,a,b-4,this.littleEndian,23,4);c&&(this.offset+=4);return this};d.writeFloat=d.writeFloat32;d.readFloat32=function(a){var b= +"undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}a=v(this.view,a,this.littleEndian,23,4);b&&(this.offset+=4);return a};d.readFloat=d.readFloat32;d.writeFloat64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a)throw TypeError("Illegal value: "+ +a+" (not a number)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}b+=8;var e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);y(this.view,a,b-8,this.littleEndian,52,8);c&&(this.offset+=8);return this};d.writeDouble=d.writeFloat64;d.readFloat64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+8) <= "+this.buffer.byteLength);}a=v(this.view,a,this.littleEndian,52,8);b&&(this.offset+=8);return a};d.readDouble=d.readFloat64;g.MAX_VARINT32_BYTES=5;g.calculateVarint32=function(a){a>>>=0;return 128>a?1:16384>a?2:2097152>a?3:268435456>a?4:5};g.zigZagEncode32=function(a){return((a|=0)<<1^a>>31)>>>0};g.zigZagDecode32=function(a){return a>>> +1^-(a&1)|0};d.writeVarint32=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal value: "+a+" (not an integer)");a|=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=g.calculateVarint32(a);b+=e;var k=this.buffer.byteLength;b>k&&this.resize((k*=2)> +b?k:b);b-=e;for(a>>>=0;128<=a;)k=a&127|128,this.view[b++]=k,a>>>=7;this.view[b++]=a;return c?(this.offset=b,this):e};d.writeVarint32ZigZag=function(a,b){return this.writeVarint32(g.zigZagEncode32(a),b)};d.readVarint32=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength); +}var c=0,e=0;do{if(!this.noAssert&&a>this.limit)throw a=Error("Truncated"),a.truncated=!0,a;var k=this.view[a++];5>c&&(e|=(k&127)<<7*c);++c}while(0!==(k&128));e|=0;return b?(this.offset=a,e):{value:e,length:c}};d.readVarint32ZigZag=function(a){a=this.readVarint32(a);"object"===typeof a?a.value=g.zigZagDecode32(a.value):a=g.zigZagDecode32(a);return a};h&&(g.MAX_VARINT64_BYTES=10,g.calculateVarint64=function(a){"number"===typeof a?a=h.fromNumber(a):"string"===typeof a&&(a=h.fromString(a));var b=a.toInt()>>> +0,c=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;return 0==a?0==c?16384>b?128>b?1:2:2097152>b?3:4:16384>c?128>c?5:6:2097152>c?7:8:128>a?9:10},g.zigZagEncode64=function(a){"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());return a.shiftLeft(1).xor(a.shiftRight(63)).toUnsigned()},g.zigZagDecode64=function(a){"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&& +(a=a.toSigned());return a.shiftRightUnsigned(1).xor(a.and(h.ONE).toSigned().negate()).toSigned()},d.writeVarint64=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"===typeof a)a=h.fromNumber(a);else if("string"===typeof a)a=h.fromString(a);else if(!(a&&a instanceof h))throw TypeError("Illegal value: "+a+" (not an integer or Long)");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +b+" (+0) <= "+this.buffer.byteLength);}"number"===typeof a?a=h.fromNumber(a,!1):"string"===typeof a?a=h.fromString(a,!1):!1!==a.unsigned&&(a=a.toSigned());var e=g.calculateVarint64(a),k=a.toInt()>>>0,f=a.shiftRightUnsigned(28).toInt()>>>0;a=a.shiftRightUnsigned(56).toInt()>>>0;b+=e;var d=this.buffer.byteLength;b>d&&this.resize((d*=2)>b?d:b);b-=e;switch(e){case 10:this.view[b+9]=a>>>7&1;case 9:this.view[b+8]=9!==e?a|128:a&127;case 8:this.view[b+7]=8!==e?f>>>21|128:f>>>21&127;case 7:this.view[b+6]= +7!==e?f>>>14|128:f>>>14&127;case 6:this.view[b+5]=6!==e?f>>>7|128:f>>>7&127;case 5:this.view[b+4]=5!==e?f|128:f&127;case 4:this.view[b+3]=4!==e?k>>>21|128:k>>>21&127;case 3:this.view[b+2]=3!==e?k>>>14|128:k>>>14&127;case 2:this.view[b+1]=2!==e?k>>>7|128:k>>>7&127;case 1:this.view[b]=1!==e?k|128:k&127}return c?(this.offset+=e,this):e},d.writeVarint64ZigZag=function(a,b){return this.writeVarint64(g.zigZagEncode64(a),b)},d.readVarint64=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=0,k=0;var d=this.view[a++];var g=d&127;if(d&128&&(d=this.view[a++],g|=(d&127)<<7,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],g|=(d&127)<<14,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],g|=(d&127)<<21,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++], +e=d&127,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],e|=(d&127)<<7,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],e|=(d&127)<<14,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],e|=(d&127)<<21,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],k=d&127,d&128||this.noAssert&&"undefined"===typeof d)&&(d=this.view[a++],k|=(d&127)<<7,d&128||this.noAssert&&"undefined"===typeof d))throw Error("Buffer overrun");g=h.fromBits(g|e<<28,e>>>4| +k<<24,!1);return b?(this.offset=a,g):{value:g,length:a-c}},d.readVarint64ZigZag=function(a){(a=this.readVarint64(a))&&a.value instanceof h?a.value=g.zigZagDecode64(a.value):a=g.zigZagDecode64(a);return a});d.writeCString=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);var e,d=a.length;if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");for(e=0;e>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}d=m.calculateUTF16asUTF8(l(a))[1];b+=d+1;e=this.buffer.byteLength;b>e&&this.resize((e*=2)>b?e:b);b-=d+1;m.encodeUTF16toUTF8(l(a),function(a){this.view[b++]=a}.bind(this));this.view[b++]=0;return c?(this.offset=b,this):d};d.readCString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!== +typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e,d=-1;m.decodeUTF8toUTF16(function(){if(0===d)return null;if(a>=this.limit)throw RangeError("Illegal range: Truncated data, "+a+" < "+this.limit);d=this.view[a++];return 0===d?null:d}.bind(this),e=t(),!0);return b?(this.offset=a,e()):{string:e(),length:a-c}};d.writeIString=function(a,b){var c= +"undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b;var d=m.calculateUTF16asUTF8(l(a),this.noAssert)[1];b+=4+d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=4+d;this.littleEndian?(this.view[b+ +3]=d>>>24&255,this.view[b+2]=d>>>16&255,this.view[b+1]=d>>>8&255,this.view[b]=d&255):(this.view[b]=d>>>24&255,this.view[b+1]=d>>>16&255,this.view[b+2]=d>>>8&255,this.view[b+3]=d&255);b+=4;m.encodeUTF16toUTF8(l(a),function(a){this.view[b++]=a}.bind(this));if(b!==e+4+d)throw RangeError("Illegal range: Truncated data, "+b+" == "+(b+4+d));return c?(this.offset=b,this):b-e};d.readIString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+ +a+" (not an integer)");a>>>=0;if(0>a||a+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+4) <= "+this.buffer.byteLength);}var c=a,e=this.readUint32(a);e=this.readUTF8String(e,g.METRICS_BYTES,a+=4);a+=e.length;return b?(this.offset=a,e.string):{string:e.string,length:a-c}};g.METRICS_CHARS="c";g.METRICS_BYTES="b";d.writeUTF8String=function(a,b){var c="undefined"===typeof b;c&&(b=this.offset);if(!this.noAssert){if("number"!==typeof b||0!==b%1)throw TypeError("Illegal offset: "+ +b+" (not an integer)");b>>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b;var d=m.calculateUTF16asUTF8(l(a))[1];b+=d;var f=this.buffer.byteLength;b>f&&this.resize((f*=2)>b?f:b);b-=d;m.encodeUTF16toUTF8(l(a),function(a){this.view[b++]=a}.bind(this));return c?(this.offset=b,this):b-e};d.writeString=d.writeUTF8String;g.calculateUTF8Chars=function(a){return m.calculateUTF16asUTF8(l(a))[0]};g.calculateUTF8Bytes=function(a){return m.calculateUTF16asUTF8(l(a))[1]}; +g.calculateString=g.calculateUTF8Bytes;d.readUTF8String=function(a,b,c){"number"===typeof b&&(c=b,b=void 0);var e="undefined"===typeof c;e&&(c=this.offset);"undefined"===typeof b&&(b=g.METRICS_CHARS);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+ +this.buffer.byteLength);}var d=0,f=c;if(b===g.METRICS_CHARS){var p=t();m.decodeUTF8(function(){return d>>=0;if(0>c||c+a>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+ +c+" (+"+a+") <= "+this.buffer.byteLength);}var h=c+a;m.decodeUTF8toUTF16(function(){return c>>=0;if(0>b||b+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+b+" (+0) <= "+this.buffer.byteLength);}var e=b;var d=m.calculateUTF16asUTF8(l(a),this.noAssert)[1];var f=g.calculateVarint32(d);b+=f+d;var p=this.buffer.byteLength;b>p&&this.resize((p*=2)>b?p:b);b-=f+d;b+=this.writeVarint32(d,b);m.encodeUTF16toUTF8(l(a),function(a){this.view[b++]=a}.bind(this));if(b!==e+d+f)throw RangeError("Illegal range: Truncated data, "+ +b+" == "+(b+d+f));return c?(this.offset=b,this):b-e};d.readVString=function(a){var b="undefined"===typeof a;b&&(a=this.offset);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal offset: "+a+" (not an integer)");a>>>=0;if(0>a||a+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+1) <= "+this.buffer.byteLength);}var c=a,e=this.readVarint32(a);e=this.readUTF8String(e.value,g.METRICS_BYTES,a+=e.length);a+=e.length;return b?(this.offset=a,e.string):{string:e.string, +length:a-c}};d.append=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset;if(0>=b)return this;c+=b;var d=this.buffer.byteLength;c>d&&this.resize((d*=2)> +c?d:c);c-=b;this.view.set(a.view.subarray(a.offset,a.limit),c);a.offset+=b;e&&(this.offset+=b);return this};d.appendTo=function(a,b){a.append(this,b);return this};d.writeBytes=d.append;d.assert=function(a){this.noAssert=!a;return this};d.capacity=function(){return this.buffer.byteLength};d.clear=function(){this.offset=0;this.limit=this.buffer.byteLength;this.markedOffset=-1;return this};d.clone=function(a){var b=new g(0,this.littleEndian,this.noAssert);a?(b.buffer=new ArrayBuffer(this.buffer.byteLength), +b.view=new Uint8Array(b.buffer)):(b.buffer=this.buffer,b.view=this.view);b.offset=this.offset;b.markedOffset=this.markedOffset;b.limit=this.limit;return b};d.compact=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(0===a&&b===this.buffer.byteLength)return this;var c=b-a;if(0===c)return this.buffer=w,this.view=null,0<=this.markedOffset&&(this.markedOffset-=a),this.limit=this.offset=0,this;var e=new ArrayBuffer(c),d=new Uint8Array(e);d.set(this.view.subarray(a,b));this.buffer=e;this.view=d;0<=this.markedOffset&&(this.markedOffset-=a);this.offset=0;this.limit=c;return this};d.copy=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit); +if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return new g(0,this.littleEndian,this.noAssert);var c=b-a,e=new g(c,this.littleEndian,this.noAssert);e.offset=0;e.limit=c;0<=e.markedOffset&&(e.markedOffset-=a);this.copyTo(e,0,a, +b);return e};d.copyTo=function(a,b,c,e){var d,f;if(!this.noAssert&&!g.isByteBuffer(a))throw TypeError("Illegal target: Not a ByteBuffer");b=(f="undefined"===typeof b)?a.offset:b|0;c=(d="undefined"===typeof c)?this.offset:c|0;e="undefined"===typeof e?this.limit:e|0;if(0>b||b>a.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+b+" <= "+a.buffer.byteLength);if(0>c||e>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+c+" <= "+this.buffer.byteLength);var p=e-c;if(0=== +p)return a;a.ensureCapacity(b+p);a.view.set(this.view.subarray(c,e),b);d&&(this.offset+=p);f&&(a.offset+=p);return this};d.ensureCapacity=function(a){var b=this.buffer.byteLength;return ba?b:a):this};d.fill=function(a,b,c){var e="undefined"===typeof b;e&&(b=this.offset);"string"===typeof a&&0>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal end: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(b>=c)return this;for(;b>>=0;if(0>a||a+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+a+" (+0) <= "+this.buffer.byteLength);}this.markedOffset=a;return this};d.order=function(a){if(!this.noAssert&&"boolean"!==typeof a)throw TypeError("Illegal littleEndian: Not a boolean");this.littleEndian=!!a;return this};d.LE=function(a){this.littleEndian="undefined"!==typeof a?!!a:!0; +return this};d.BE=function(a){this.littleEndian="undefined"!==typeof a?!a:!1;return this};d.prepend=function(a,b,c){if("number"===typeof b||"string"!==typeof b)c=b,b=void 0;var e="undefined"===typeof c;e&&(c=this.offset);if(!this.noAssert){if("number"!==typeof c||0!==c%1)throw TypeError("Illegal offset: "+c+" (not an integer)");c>>>=0;if(0>c||c+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+c+" (+0) <= "+this.buffer.byteLength);}a instanceof g||(a=g.wrap(a,b));b=a.limit-a.offset; +if(0>=b)return this;var d=b-c;if(0a)throw RangeError("Illegal capacity: 0 <= "+ +a);}if(this.buffer.byteLength>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+ +a+" <= "+b+" <= "+this.buffer.byteLength);}if(a===b)return this;Array.prototype.reverse.call(this.view.subarray(a,b));return this};d.skip=function(a){if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal length: "+a+" (not an integer)");a|=0}var b=this.offset+a;if(!this.noAssert&&(0>b||b>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+a+" <= "+this.buffer.byteLength);this.offset=b;return this};d.slice=function(a,b){"undefined"===typeof a&&(a= +this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer");a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c=this.clone();c.offset=a;c.limit=b;return c};d.toBuffer=function(a){var b=this.offset,c=this.limit;if(!this.noAssert){if("number"!== +typeof b||0!==b%1)throw TypeError("Illegal offset: Not an integer");b>>>=0;if("number"!==typeof c||0!==c%1)throw TypeError("Illegal limit: Not an integer");c>>>=0;if(0>b||b>c||c>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+b+" <= "+c+" <= "+this.buffer.byteLength);}if(!a&&0===b&&c===this.buffer.byteLength)return this.buffer;if(b===c)return w;a=new ArrayBuffer(c-b);(new Uint8Array(a)).set((new Uint8Array(this.buffer)).subarray(b,c),0);return a};d.toArrayBuffer=d.toBuffer;d.toString= +function(a,b,c){if("undefined"===typeof a)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";"number"===typeof a&&(c=b=a="utf8");switch(a){case "utf8":return this.toUTF8(b,c);case "base64":return this.toBase64(b,c);case "hex":return this.toHex(b,c);case "binary":return this.toBinary(b,c);case "debug":return this.toDebug();case "columns":return this.toColumns();default:throw Error("Unsupported encoding: "+a);}};var z=function(){for(var a= +{},b=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],c=[],e=0,d=b.length;e>2&63]),d=(e&3)<<4,null!==(e=a())?(d|=e>>4&15,c(b[(d|e>>4&15)&63]),d=(e&15)<<2,null!==(e=a())?(c(b[(d|e>>6&3)&63]),c(b[e&63])):(c(b[d&63]),c(61))):(c(b[d&63]),c(61),c(61))};a.decode=function(a, +b){function e(a){throw Error("Illegal character code: "+a);}for(var d,k,f;null!==(d=a());)if(k=c[d],"undefined"===typeof k&&e(d),null!==(d=a())&&(f=c[d],"undefined"===typeof f&&e(d),b(k<<2>>>0|(f&48)>>4),null!==(d=a()))){k=c[d];if("undefined"===typeof k)if(61===d)break;else e(d);b((f&15)<<4>>>0|(k&60)>>2);if(null!==(d=a())){f=c[d];if("undefined"===typeof f)if(61===d)break;else e(d);b((k&3)<<6>>>0|f)}}};a.test=function(a){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(a)}; +return a}();d.toBase64=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);a|=0;b|=0;if(0>a||b>this.capacity||a>b)throw RangeError("begin, end");var c;z.encode(function(){return aa||b>this.capacity()||a>b)throw RangeError("begin, end");if(a===b)return"";for(var c=[],e=[];ae?d+("0"+e.toString(16).toUpperCase()):d+e.toString(16).toUpperCase(),a&&(f+=32e?String.fromCharCode(e):"."));++b;if(a&&0d.length;)d+=" ";g+=d+f+"\n";d=f=""}d=b===this.offset&&b===this.limit?d+(b===this.markedOffset?"!":"|"):b===this.offset? +d+(b===this.markedOffset?"[":"<"):b===this.limit?d+(b===this.markedOffset?"]":">"):d+(b===this.markedOffset?"'":a||0!==b&&b!==c?" ":"")}if(a&&" "!==d){for(;51>d.length;)d+=" ";g+=d+f+"\n"}return a?g:d};g.fromDebug=function(a,b,c){var e=a.length;b=new g((e+1)/3|0,b,c);for(var d=0,f=0,h,l=!1,n=!1,m=!1,q=!1,r=!1;d":if(!c){if(q){r=!0;break}q=!0}b.limit=f;l=!1;break;case "'":if(!c){if(m){r=!0;break}m=!0}b.markedOffset=f;l=!1;break;case " ":l=!1;break;default:if(!c&&l)r=!0;else{h=parseInt(h+a.charAt(d++),16);if(!c&&(isNaN(h)||0>h||255>>=0;if("number"!==typeof b|| +0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}for(var c=Array(b-a),e;ae?c.push("0",e.toString(16)):c.push(e.toString(16));return c.join("")};g.fromHex=function(a,b,c){if(!c){if("string"!==typeof a)throw TypeError("Illegal str: Not a string");if(0!==a.length%2)throw TypeError("Illegal str: Length not a multiple of 2");}var e=a.length;b=new g(e/ +2|0,b);for(var d,f=0,h=0;fd||255b?c(b&127):(2048>b?c(b>>6&31|192):65536>b?(c(b>>12&15|224),c(b>>6&63|128)):(c(b>>18&7|240),c(b>>12&63|128),c(b>>6&63|128)),c(b&63|128)), +b=null},decodeUTF8:function(a,c){for(var b,d,f,g,h=function(a){a=a.slice(0,a.indexOf(null));var b=Error(a.toString());b.name="TruncatedError";b.bytes=a;throw b;};null!==(b=a());)if(0===(b&128))c(b);else if(192===(b&224))null===(d=a())&&h([b,d]),c((b&31)<<6|d&63);else if(224===(b&240))null!==(d=a())&&null!==(f=a())||h([b,d,f]),c((b&15)<<12|(d&63)<<6|f&63);else if(240===(b&248))null!==(d=a())&&null!==(f=a())&&null!==(g=a())||h([b,d,f,g]),c((b&7)<<18|(d&63)<<12|(f&63)<<6|g&63);else throw RangeError("Illegal starting byte: "+ +b);},UTF16toUTF8:function(a,c){for(var b,d=null;null!==(b=null!==d?d:a());)55296<=b&&57343>=b&&null!==(d=a())&&56320<=d&&57343>=d?(c(1024*(b-55296)+d-56320+65536),d=null):c(b);null!==d&&c(d)},UTF8toUTF16:function(a,c){var b=null;"number"===typeof a&&(b=a,a=function(){return null});for(;null!==b||null!==(b=a());)65535>=b?c(b):(b-=65536,c((b>>10)+55296),c(b%1024+56320)),b=null},encodeUTF16toUTF8:function(b,c){a.UTF16toUTF8(b,function(b){a.encodeUTF8(b,c)})},decodeUTF8toUTF16:function(b,c){a.decodeUTF8(b, +function(b){a.UTF8toUTF16(b,c)})},calculateCodePoint:function(a){return 128>a?1:2048>a?2:65536>a?3:4},calculateUTF8:function(a){for(var b,d=0;null!==(b=a());)d+=128>b?1:2048>b?2:65536>b?3:4;return d},calculateUTF16asUTF8:function(b){var c=0,d=0;a.UTF16toUTF8(b,function(a){++c;d+=128>a?1:2048>a?2:65536>a?3:4});return[c,d]}};return a}();d.toUTF8=function(a,b){"undefined"===typeof a&&(a=this.offset);"undefined"===typeof b&&(b=this.limit);if(!this.noAssert){if("number"!==typeof a||0!==a%1)throw TypeError("Illegal begin: Not an integer"); +a>>>=0;if("number"!==typeof b||0!==b%1)throw TypeError("Illegal end: Not an integer");b>>>=0;if(0>a||a>b||b>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+a+" <= "+b+" <= "+this.buffer.byteLength);}var c;try{m.decodeUTF8toUTF16(function(){return aUYI6YWUF&z+xVHc9zk;yV&9Y)c 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 literal 8658 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 diff --git a/dist/bytebuffer.min.map b/dist/bytebuffer.min.map index 0720f48..f79c45e 100644 --- a/dist/bytebuffer.min.map +++ b/dist/bytebuffer.min.map @@ -1,8 +1,8 @@ { "version":3, "file":"", -"lineCount":93, -"mappings":"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", +"lineCount":94, +"mappings":"A;;;;;;AAsBC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkB,CAEb,GAAsB,UAAtB,GAAI,MAAOC,OAAX,EAAoCA,MAAA,IAApC,CACNA,MAAA,CAAO,CAAC,MAAD,CAAP,CAAiBD,CAAjB,CADM,KAEU,IAAuB,UAAvB,GAAI,MAAOE,QAAX,EAAuD,QAAvD,GAAqC,MAAOC,OAA5C,EAAmEA,MAAnE,EAA6EA,MAAA,QAA7E,CAChB,CAAAA,CAAAA,CAAAA,MACc,IAAI,CAAE,IAAAC,EAAOF,OAAA,CAAQ,MAAR,CAAT,CAA4B,MAAOG,CAAP,CAAU,EACpD,CAAA,CAAOL,CAAA,CAAQI,CAAR,CAFXD,EAAA,QAAA,CAAoB,CAApB,CADgB,IAMhB,CAACJ,CAAA,QAAD,CAAqBA,CAAA,QAArB,EAA0C,EAA1C,YAAA,CAA8DC,CAAA,CAAQD,CAAA,QAAA,KAAR,CAV3C,CAA1B,CAAD,CAYG,IAZH,CAYS,QAAQ,CAACK,CAAD,CAAO,CAyLpBE,QAASA,EAAY,CAACC,CAAD,CAAI,CACrB,IAAIC,EAAE,CAAG,OAAO,SAAQ,EAAG,CACvB,MAAOA,EAAA,CAAID,CAAAE,OAAJ,CAAeF,CAAAG,WAAA,CAAaF,CAAA,EAAb,CAAf,CAAmC,IADnB,CADN,CAYzBG,QAASA,EAAiB,EAAG,CAAA,IACrBC,EAAK,EADgB,CACZC,EAAK,EAAI,OAAO,SAAQ,EAAG,CACpC,GAAyB,CAAzB,GAAIC,SAAAL,OAAJ,CACI,MAAOI,EAAAE,KAAA,CAAQ,EAAR,CAAP,CAAmBC,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CACY,KAAnC,CAAIA,CAAAH,OAAJ;AAAgBK,SAAAL,OAAhB,GACII,CAAAM,KAAA,CAAQH,CAAAC,MAAA,CAAyBC,MAAzB,CAAiCN,CAAjC,CAAR,CACI,CAAAA,CAAAH,OAAA,CAAY,CAFpB,CAGAW,MAAAC,UAAAF,KAAAF,MAAA,CAA2BL,CAA3B,CAA+BE,SAA/B,CANoC,CADf,CA8iC7BQ,QAASA,EAAY,CAACC,CAAD,CAASC,CAAT,CAAiBC,CAAjB,CAAuBC,CAAvB,CAA6BC,CAA7B,CAAqC,CAElDC,IAAAA,EAAgB,CAAhBA,CAAOD,CAAPC,CAAoBF,CAApBE,CAA2B,CAFuB,KAGlDC,GAAQ,CAARA,EAAaD,CAAbC,EAAqB,CAH6B,CAIlDC,EAAQD,CAARC,EAAgB,CAJkC,CAKlDC,EAAS,EACTvB,EAAAA,CAAIiB,CAAA,CAAQE,CAAR,CAAiB,CAAjB,CAAsB,CANwB,KAOlDK,EAAIP,CAAA,CAAQ,EAAR,CAAY,CAPkC,CAQlDlB,EAAIgB,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAERA,EAAA,EAAKwB,CAEL3B,EAAA,CAAIE,CAAJ,EAAU,CAAV,EAAgB,CAACwB,CAAjB,EAA2B,CAC3BxB,EAAA,GAAO,CAACwB,CAER,KADAA,CACA,EADSH,CACT,CAAe,CAAf,CAAOG,CAAP,CAAkB1B,CAAA,CAAQ,GAAR,CAAIA,CAAJ,CAAckB,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAd,CAAkCA,CAAlC,EAAuCwB,CAAvC,CAA0CD,CAA1C,EAAmD,CAArE,EAEAE,CAAA,CAAI5B,CAAJ,EAAU,CAAV,EAAgB,CAAC0B,CAAjB,EAA2B,CAC3B1B,EAAA,GAAO,CAAC0B,CAER,KADAA,CACA,EADSL,CACT,CAAe,CAAf,CAAOK,CAAP,CAAkBE,CAAA,CAAQ,GAAR,CAAIA,CAAJ,CAAcV,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAd,CAAkCA,CAAlC,EAAuCwB,CAAvC,CAA0CD,CAA1C,EAAmD,CAArE,EAEA,GAAU,CAAV,GAAI1B,CAAJ,CACIA,CAAA,CAAI,CAAJ,CAAQyB,CADZ,KAEO,CAAA,GAAIzB,CAAJ,GAAUwB,CAAV,CACH,MAAOI,EAAA,CAAIC,GAAJ,CAA0BC,QAA1B,EAAY5B,CAAA,CAAK,EAAL,CAAS,CAArB,CAEH0B,EAAJ,EAAQG,IAAAC,IAAA,CAAS,CAAT,CAAYX,CAAZ,CACJrB,EAAJ,EAAQyB,CAJL,CAMP,OAAQvB,CAAA,CAAK,EAAL,CAAS,CAAjB,EAAsB0B,CAAtB,CAA0BG,IAAAC,IAAA,CAAS,CAAT,CAAYhC,CAAZ,CAAgBqB,CAAhB,CA9B4B,CA2C1DY,QAASA,EAAa,CAACf,CAAD,CAASgB,CAAT,CAAgBf,CAAhB,CAAwBC,CAAxB,CAA8BC,CAA9B,CAAoCC,CAApC,CAA4C,CAAA,IACpDa,CADoD,CAE1DZ,EAAgB,CAAhBA,CAAOD,CAAPC,CAAoBF,CAApBE,CAA2B,CAF+B,CAG1DC,GAAQ,CAARA,EAAaD,CAAbC,EAAqB,CAHqC,CAI1DC,EAAQD,CAARC,EAAgB,CAJ0C,CAK1DW,EAAe,EAAT,GAAAf,CAAA,CAAcU,IAAAC,IAAA,CAAS,CAAT;AAAa,GAAb,CAAd,CAAiCD,IAAAC,IAAA,CAAS,CAAT,CAAa,GAAb,CAAjC,CAAoD,CAC1D7B,EAAAA,CAAIiB,CAAA,CAAO,CAAP,CAAYE,CAAZ,CAAqB,CANiC,KAO1DK,EAAIP,CAAA,CAAO,CAAP,CAAY,EAP0C,CAQ1DlB,EAAY,CAAR,CAAAgC,CAAA,EAAwB,CAAxB,GAAcA,CAAd,EAAyC,CAAzC,CAA6B,CAA7B,CAAiCA,CAAjC,CAA8C,CAA9C,CAAkD,CAE1DA,EAAA,CAAQH,IAAAM,IAAA,CAASH,CAAT,CAEJI,MAAA,CAAMJ,CAAN,CAAJ,EAA8BJ,QAA9B,GAAoBI,CAApB,EACIN,CACA,CADIU,KAAA,CAAMJ,CAAN,CAAA,CAAe,CAAf,CAAmB,CACvB,CAAAlC,CAAA,CAAIwB,CAFR,GAIIxB,CAeA,CAfI+B,IAAAQ,MAAA,CAAWR,IAAAS,IAAA,CAASN,CAAT,CAAX,CAA6BH,IAAAU,IAA7B,CAeJ,CAdoC,CAcpC,CAdIP,CAcJ,EAdaC,CAcb,CAdiBJ,IAAAC,IAAA,CAAS,CAAT,CAAY,CAAChC,CAAb,CAcjB,IAbIA,CAAA,EACA,CAAAmC,CAAA,EAAK,CAYT,EATID,CASJ,CAViB,CAAjB,EAAIlC,CAAJ,CAAQyB,CAAR,CACIS,CADJ,CACaE,CADb,CACkBD,CADlB,CAGID,CAHJ,CAGaE,CAHb,CAGkBL,IAAAC,IAAA,CAAS,CAAT,CAAY,CAAZ,CAAgBP,CAAhB,CAOlB,CALiB,CAKjB,EALIS,CAKJ,CALYC,CAKZ,GAJInC,CAAA,EACA,CAAAmC,CAAA,EAAK,CAGT,EAAInC,CAAJ,CAAQyB,CAAR,EAAiBD,CAAjB,EACII,CACA,CADI,CACJ,CAAA5B,CAAA,CAAIwB,CAFR,EAGwB,CAAjB,EAAIxB,CAAJ,CAAQyB,CAAR,EACHG,CACI,EADCM,CACD,CADSC,CACT,CADa,CACb,EADkBJ,IAAAC,IAAA,CAAS,CAAT,CAAYX,CAAZ,CAClB,CAAArB,CAAA,EAAIyB,CAFL,GAIHG,CACA,CADIM,CACJ,CADYH,IAAAC,IAAA,CAAS,CAAT,CAAYP,CAAZ,CAAoB,CAApB,CACZ,CADqCM,IAAAC,IAAA,CAAS,CAAT,CAAYX,CAAZ,CACrC,CAAArB,CAAA,CAAI,CALD,CAtBX,CA+BA,KAAA,CAAe,CAAf,EAAOqB,CAAP,CAAkBH,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAA,CAAqByB,CAArB,CAAyB,GAAzB,CAA+BzB,CAA/B,EAAoCwB,CAApC,CAAuCC,CAAvC,EAA4C,GAA5C,CAAiDP,CAAjD,EAAyD,CAA3E,EAEArB,CAAA,CAAKA,CAAL,EAAUqB,CAAV,CAAkBO,CAElB,KADAL,CACA,EADQF,CACR,CAAc,CAAd,CAAOE,CAAP,CAAiBL,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAA,CAAqBH,CAArB,CAAyB,GAAzB,CAA+BG,CAA/B,EAAoCwB,CAApC,CAAuC3B,CAAvC,EAA4C,GAA5C,CAAiDuB,CAAjD,EAAyD,CAA1E,EAEAL,CAAA,CAAOC,CAAP,CAAgBhB,CAAhB,CAAoBwB,CAApB,CAAA,EAA8B,GAA9B,CAA0BzB,CAjDoC,CA/wClE,IAAIwC,EAAaA,QAAQ,CAACC,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAChC,WAAxB,GAAI,MAAOF,EAAX;CACIA,CADJ,CACeD,CAAAI,iBADf,CAE4B,YAA5B,GAAI,MAAOF,EAAX,GACIA,CADJ,CACmBF,CAAAK,eADnB,CAEwB,YAAxB,GAAI,MAAOF,EAAX,GACIA,CADJ,CACeH,CAAAM,iBADf,CAEA,IAAI,CAACH,CAAL,CAAe,CACAF,CAAX,EAAsB,CACtB,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,kBAAX,CAAN,CACJL,CAAA,CAAe,CAAC,CAACA,CACjBC,EAAA,CAAW,CAAC,CAACA,CALF,CAaf,IAAA3B,OAAA,CAA2B,CAAb,GAAAyB,CAAA,CAAiBO,CAAjB,CAAgC,IAAIC,WAAJ,CAAgBR,CAAhB,CAO9C,KAAAS,KAAA,CAAyB,CAAb,GAAAT,CAAA,CAAiB,IAAjB,CAAwB,IAAIU,UAAJ,CAAe,IAAAnC,OAAf,CASpC,KAAAC,OAAA,CAAc,CASd,KAAAmC,aAAA,CAAqB,EASrB,KAAAC,MAAA,CAAaZ,CAOb,KAAAC,aAAA,CAAoBA,CAOpB,KAAAC,SAAA,CAAgBA,CApEwC,CA6E5DH,EAAAc,QAAA,CAAqB,OAQrBd,EAAAe,cAAA,CAA2B,CAAA,CAQ3Bf,EAAAgB,WAAA,CAAwB,CAAA,CAOxBhB,EAAAI,iBAAA,CAA8B,EAO9BJ,EAAAK,eAAA,CAA4BL,CAAAgB,WAO5BhB,EAAAM,iBAAA,CAA8B,CAAA,CAU9BN,EAAA3C,KAAA,CAAkBA,CAAlB,EAA0B,IAM1B,KAAI4D;AAAsBjB,CAAA1B,UAW1B4C,OAAAC,eAAA,CAAsBF,CAAtB,CAA2C,kBAA3C,CAA+D,CAC3DzB,MAAO,CAAA,CADoD,CAE3D4B,WAAY,CAAA,CAF+C,CAG3DC,aAAc,CAAA,CAH6C,CAA/D,CAYA,KAAIb,EAAe,IAAIC,WAAJ,CAAgB,CAAhB,CAAnB,CAOIxC,EAAqBE,MAAAmD,aAsCzBtB,EAAAuB,SAAA,CAAsBC,QAAQ,EAAG,CAC7B,MAAOb,WADsB,CAajCX,EAAAyB,SAAA,CAAsBC,QAAQ,CAACzB,CAAD,CAAWC,CAAX,CAAyBC,CAAzB,CAAmC,CAC7D,MAAO,KAAIH,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CADsD,CAgBjEH,EAAA2B,OAAA,CAAoBC,QAAQ,CAACC,CAAD,CAAUC,CAAV,CAAoB5B,CAApB,CAAkCC,CAAlC,CAA4C,CACpE,GAAwB,SAAxB,GAAI,MAAO2B,EAAX,EAAyD,QAAzD,GAAqC,MAAOA,EAA5C,CACI3B,CAEA,CAFWD,CAEX,CADAA,CACA,CADe4B,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAGf,KADA,IAAI9B,EAAW,CAAf,CACSxC,EAAE,CADX,CACcuE,EAAEH,CAAAnE,OADhB,CACgCA,CAAhC,CAAwCD,CAAxC,CAA0CuE,CAA1C,CAA6C,EAAEvE,CAA/C,CACSuC,CAAAiC,aAAA,CAAwBJ,CAAA,CAAQpE,CAAR,CAAxB,CAGL,GAFIoE,CAAA,CAAQpE,CAAR,CAEJ,CAFiBuC,CAAAkC,KAAA,CAAgBL,CAAA,CAAQpE,CAAR,CAAhB,CAA4BqE,CAA5B,CAEjB,EADApE,CACA,CADSmE,CAAA,CAAQpE,CAAR,CAAAoD,MACT,CAD4BgB,CAAA,CAAQpE,CAAR,CAAAgB,OAC5B,CAAa,CAAb,CAAIf,CAAJ,GAAgBuC,CAAhB,EAA4BvC,CAA5B,CAEJ,IAAiB,CAAjB,GAAIuC,CAAJ,CACI,MAAO,KAAID,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACPgC,EAAAA,CAAK,IAAInC,CAAJ,CAAeC,CAAf,CAAyBC,CAAzB,CAAuCC,CAAvC,CAEJ,KAAL1C,CAAK,CAAH,CAAG,CAAOA,CAAP,CAASuE,CAAT,CAAA,CACDI,CAEA,CAFKP,CAAA,CAAQpE,CAAA,EAAR,CAEL;AADAC,CACA,CADS0E,CAAAvB,MACT,CADoBuB,CAAA3D,OACpB,CAAc,CAAd,EAAIf,CAAJ,GACAyE,CAAAzB,KAAA2B,IAAA,CAAYD,CAAA1B,KAAA4B,SAAA,CAAiBF,CAAA3D,OAAjB,CAA4B2D,CAAAvB,MAA5B,CAAZ,CAAmDsB,CAAA1D,OAAnD,CACA,CAAA0D,CAAA1D,OAAA,EAAaf,CAFb,CAIJyE,EAAAtB,MAAA,CAAWsB,CAAA1D,OACX0D,EAAA1D,OAAA,CAAY,CACZ,OAAO0D,EA1B6D,CAmCxEnC,EAAAiC,aAAA,CAA0BM,QAAQ,CAACJ,CAAD,CAAK,CACnC,MAA0C,CAAA,CAA1C,IAAQA,CAAR,EAAcA,CAAA,iBAAd,CADmC,CAQvCnC,EAAAwC,KAAA,CAAkBC,QAAQ,EAAG,CACzB,MAAOhC,YADkB,CAgB7BT,EAAAkC,KAAA,CAAkBQ,QAAQ,CAAClE,CAAD,CAASsD,CAAT,CAAmB5B,CAAnB,CAAiCC,CAAjC,CAA2C,CACzC,QAAxB,GAAI,MAAO2B,EAAX,GACI3B,CAEA,CAFWD,CAEX,CADAA,CACA,CADe4B,CACf,CAAAA,CAAA,CAAWC,IAAAA,EAHf,CAKA,IAAsB,QAAtB,GAAI,MAAOvD,EAAX,CAGI,OAFwB,WAEhBsD,GAFJ,MAAOA,EAEHA,GADJA,CACIA,CADO,MACPA,EAAAA,CAAR,EACI,KAAK,QAAL,CACI,MAAO9B,EAAA2C,WAAA,CAAsBnE,CAAtB,CAA8B0B,CAA9B,CACX,MAAK,KAAL,CACI,MAAOF,EAAA4C,QAAA,CAAmBpE,CAAnB,CAA2B0B,CAA3B,CACX,MAAK,QAAL,CACI,MAAOF,EAAA6C,WAAA,CAAsBrE,CAAtB,CAA8B0B,CAA9B,CACX,MAAK,MAAL,CACI,MAAOF,EAAA8C,SAAA,CAAoBtE,CAApB;AAA4B0B,CAA5B,CACX,MAAK,OAAL,CACI,MAAOF,EAAA+C,UAAA,CAAqBvE,CAArB,CAA6B0B,CAA7B,CACX,SACI,KAAM8C,MAAA,CAAM,wBAAN,CAA+BlB,CAA/B,CAAN,CAZR,CAeJ,GAAe,IAAf,GAAItD,CAAJ,EAAyC,QAAzC,GAAuB,MAAOA,EAA9B,CACI,KAAMyE,UAAA,CAAU,gBAAV,CAAN,CAEJ,GAAIjD,CAAAiC,aAAA,CAAwBzD,CAAxB,CAAJ,CAGI,MAFA2D,EAEOA,CAFFlB,CAAAiC,MAAAC,KAAA,CAA+B3E,CAA/B,CAEE2D,CADPA,CAAAvB,aACOuB,CADY,EACZA,CAAAA,CAEX,IAAI3D,CAAJ,WAAsBmC,WAAtB,CACIwB,CACA,CADK,IAAInC,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAoB,CAApB,CAAI3B,CAAAd,OAAJ,GACIyE,CAAA3D,OAGA,CAHYA,CAAAA,OAGZ,CAFA2D,CAAA1D,OAEA,CAFYD,CAAA4E,WAEZ,CADAjB,CAAAtB,MACA,CADWrC,CAAA4E,WACX,CAD+B5E,CAAA6E,WAC/B,CAAAlB,CAAAzB,KAAA,CAAU,IAAIC,UAAJ,CAAenC,CAAAA,OAAf,CAJd,CAFJ,KAQO,IAAIA,CAAJ,WAAsBiC,YAAtB,CACH0B,CACA,CADK,IAAInC,CAAJ,CAAe,CAAf,CAAkBE,CAAlB,CAAgCC,CAAhC,CACL,CAAwB,CAAxB,CAAI3B,CAAA6E,WAAJ,GACIlB,CAAA3D,OAGA,CAHYA,CAGZ,CAFA2D,CAAA1D,OAEA,CAFY,CAEZ,CADA0D,CAAAtB,MACA,CADWrC,CAAA6E,WACX,CAAAlB,CAAAzB,KAAA,CAA8B,CAApB;AAAAlC,CAAA6E,WAAA,CAAwB,IAAI1C,UAAJ,CAAenC,CAAf,CAAxB,CAAiD,IAJ/D,CAFG,KAQA,IAA+C,gBAA/C,GAAI0C,MAAA5C,UAAAgF,SAAAH,KAAA,CAA+B3E,CAA/B,CAAJ,CAGH,IAFA2D,CAES1E,CAFJ,IAAIuC,CAAJ,CAAexB,CAAAd,OAAf,CAA8BwC,CAA9B,CAA4CC,CAA5C,CAEI1C,CADT0E,CAAAtB,MACSpD,CADEe,CAAAd,OACFD,CAAAA,CAAAA,CAAE,CAAX,CAAcA,CAAd,CAAgBe,CAAAd,OAAhB,CAA+B,EAAED,CAAjC,CACI0E,CAAAzB,KAAA,CAAQjD,CAAR,CAAA,CAAae,CAAA,CAAOf,CAAP,CAJd,KAMH,MAAMwF,UAAA,CAAU,gBAAV,CAAN,CACJ,MAAOd,EAvD0D,CAiErElB,EAAAsC,YAAA,CAAkCC,QAAQ,CAAChE,CAAD,CAAQf,CAAR,CAAgB,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAClB,GAAI,EAAEX,CAAF,WAAmBnB,MAAnB,CAAJ,CACE,KAAM4E,UAAA,CAAU,8BAAV,CAAN,CACF,GAAsB,QAAtB,GAAI,MAAOxE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B;AAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPc,CAHoC,IAapDK,EAAQjF,CAb4C,CAcpDkF,EAAOnE,CAAA9B,OAd6C,CAepDkG,EAASD,CAATC,EAAiB,CAfmC,CAgBpDC,EAAM,CAKV,KAFApF,CAEA,EAFU,IAAAqF,cAAA,CAAmBH,CAAnB,CAAwBlF,CAAxB,CAEV,CAAMmF,CAAA,EAAN,CAAA,CAAe,CACb,IAAA5B,EAAK,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CAAP7B,CAAsB,CAAtBA,EACM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CADR7B,CACuB,CADvBA,GAC6B,CAD7BA,EAEM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CAFR7B,CAEuB,CAFvBA,GAE6B,CAF7BA,EAGM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CAHR7B,CAGuB,CAHvBA,GAG6B,CAH7BA,EAIM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CAJR7B,CAIuB,CAJvBA,GAI6B,CAJ7BA,EAKM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CALR7B,CAKuB,CALvBA,GAK6B,CAL7BA,EAMM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CANR7B,CAMuB,CANvBA,GAM6B,CAN7BA,EAOM,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CAPR7B,CAOuB,CAPvBA,GAO6B,CAC7B,KAAA+B,UAAA,CAAe/B,CAAf,CAAiBvD,CAAA,EAAjB,CATa,CAYf,GAAGoF,CAAH,CAASF,CAAT,CAAe,CAEb,IADW3B,CACX,CADI9C,CACJ,CADQ,CACR,CAAM2E,CAAN,CAAYF,CAAZ,CAAA,CAAsB3B,CAAJ,GAAU,CAAC,CAACxC,CAAA,CAAMqE,CAAA,EAAN,CAAZ,CAA2B,CAA3B,GAAkC3E,CAAA,EACpD,KAAA6E,UAAA,CAAe/B,CAAf,CAAiBvD,CAAA,EAAjB,CAHa,CAMf,MAAIgF,EAAJ,EACE,IAAAhF,OACO,CADOA,CACP,CAAA,IAFT,EAIOA,CAJP,CAIgBiF,CA3CwC,CAoD1DzC,EAAA+C,WAAA,CAAiCC,QAAQ,CAACxF,CAAD,CAAS,CAChD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CAFgD,KAI5CyF;AAAM,IAAAC,aAAA,CAAkB1F,CAAlB,CAJsC,CAK5CkF,EAAOO,CAAA1E,MALqC,CAM5CoE,EAASD,CAATC,EAAiB,CAN2B,CAO5CC,EAAM,CAPsC,CAQ5CrE,EAAQ,EAKZ,KAFAf,CAEA,EAFUyF,CAAAxG,OAEV,CAAMkG,CAAA,EAAN,CAAA,CACE5B,CAQA,CARI,IAAAoC,SAAA,CAAc3F,CAAA,EAAd,CAQJ,CAPAe,CAAA,CAAMqE,CAAA,EAAN,CAOA,CAPe,CAAC,EAAE7B,CAAF,CAAM,CAAN,CAOhB,CANAxC,CAAA,CAAMqE,CAAA,EAAN,CAMA,CANe,CAAC,EAAE7B,CAAF,CAAM,CAAN,CAMhB,CALAxC,CAAA,CAAMqE,CAAA,EAAN,CAKA,CALe,CAAC,EAAE7B,CAAF,CAAM,CAAN,CAKhB,CAJAxC,CAAA,CAAMqE,CAAA,EAAN,CAIA,CAJe,CAAC,EAAE7B,CAAF,CAAM,CAAN,CAIhB,CAHAxC,CAAA,CAAMqE,CAAA,EAAN,CAGA,CAHe,CAAC,EAAE7B,CAAF,CAAM,EAAN,CAGhB,CAFAxC,CAAA,CAAMqE,CAAA,EAAN,CAEA,CAFe,CAAC,EAAE7B,CAAF,CAAM,EAAN,CAEhB,CADAxC,CAAA,CAAMqE,CAAA,EAAN,CACA,CADe,CAAC,EAAE7B,CAAF,CAAM,EAAN,CAChB,CAAAxC,CAAA,CAAMqE,CAAA,EAAN,CAAA,CAAe,CAAC,EAAE7B,CAAF,CAAM,GAAN,CAGlB,IAAG6B,CAAH,CAASF,CAAT,CAGE,IAFIzE,CACJ,CADQ,CACR,CAAA8C,CAAA,CAAI,IAAAoC,SAAA,CAAc3F,CAAA,EAAd,CACJ,CAAMoF,CAAN,CAAYF,CAAZ,CAAA,CAAkBnE,CAAA,CAAMqE,CAAA,EAAN,CAAA,CAAe,CAAC,EAAG7B,CAAH,EAAS9C,CAAA,EAAT,CAAiB,CAAjB,CAGhCuE,EAAJ,GACE,IAAAhF,OADF,CACgBA,CADhB,CAGA,OAAOe,EAlCyC,CA2ClDyB,EAAAoD,UAAA,CAAgCC,QAAQ,CAAC5G,CAAD,CAASe,CAAT,CAAiB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ;AAAkBA,CAAlB,CAA2Bf,CAA3B,CAAoC,IAAAc,OAAA6E,WAApC,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAA0C,KAA1C,CAAgDf,CAAhD,CAAuD,OAAvD,CAA+D,IAAAc,OAAA6E,WAA/D,CAAN,CALY,CAOhBkB,CAAAA,CAAQ,IAAAA,MAAA,CAAW9F,CAAX,CAAmBA,CAAnB,CAA4Bf,CAA5B,CACR+F,EAAJ,GAAc,IAAAhF,OAAd,EAA6Bf,CAA7B,CACA,OAAO6G,EAZ8C,CAyBzDtD,EAAAuD,UAAA,CAAgCC,QAAQ,CAACjF,CAAD,CAAQf,CAAR,CAAgB,CACpD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAIiG,EAAY,IAAAlG,OAAA6E,WACZ5E,EAAJ,CAAaiG,CAAb,EACI,IAAAC,OAAA,CAAY,CAACD,CAAD,EAAc,CAAd,EAAmBjG,CAAnB,CAA4BiG,CAA5B,CAAwCjG,CAApD,CAEJ,KAAAiC,KAAA,CADAjC,CACA,CADU,CACV,CAAA,CAAoBe,CAChBiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB6C,CA+BxDwC,EAAA8C,UAAA,CAAgC9C,CAAAuD,UAQhCvD,EAAA2D,SAAA,CAA+BC,QAAQ,CAACpG,CAAD,CAAS,CAC5C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQ,IAAAkB,KAAA,CAAUjC,CAAV,CACW,IAAvB;CAAKe,CAAL,CAAa,GAAb,IAA6BA,CAA7B,CAAqC,EAAE,GAAF,CAASA,CAAT,CAAiB,CAAjB,CAArC,CACIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAbqC,CAuBhDyB,EAAAmD,SAAA,CAA+BnD,CAAA2D,SAS/B3D,EAAA6D,WAAA,CAAiCC,QAAQ,CAACvF,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAIuG,EAAY,IAAAxG,OAAA6E,WACZ5E;CAAJ,CAAauG,CAAb,EACI,IAAAL,OAAA,CAAY,CAACK,CAAD,EAAc,CAAd,EAAmBvG,CAAnB,CAA4BuG,CAA5B,CAAwCvG,CAApD,CAEJ,KAAAiC,KAAA,CADAjC,CACA,CADU,CACV,CAAA,CAAoBe,CAChBiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KApB8C,CA+BzDwC,EAAAgE,WAAA,CAAiChE,CAAA6D,WAQjC7D,EAAAiE,UAAA,CAAgCC,QAAQ,CAAC1G,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQ,IAAAkB,KAAA,CAAUjC,CAAV,CACRgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAZsC,CAsBjDyB,EAAAmE,UAAA,CAAgCnE,CAAAiE,UAYhCjE,EAAAoE,WAAA,CAAiCC,QAAQ,CAAC9F,CAAD;AAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAI8G,EAAY,IAAA/G,OAAA6E,WACZ5E,EAAJ,CAAa8G,CAAb,EACI,IAAAZ,OAAA,CAAY,CAACY,CAAD,EAAc,CAAd,EAAmB9G,CAAnB,CAA4B8G,CAA5B,CAAwC9G,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA;AAAuBe,CAAvB,CAA+B,GAFnC,GAII,IAAAkB,KAAA,CAAUjC,CAAV,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAA+B,GALnC,CAOIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA1B8C,CAsCzDwC,EAAAuE,WAAA,CAAiCvE,CAAAoE,WAUjCpE,EAAAwE,UAAA,CAAgCC,QAAQ,CAACjH,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAQpB,GAAI,IAAAnD,aAAJ,CAAuB,CACnB,IAAAV,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CACTe,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,CAFb,CAAvB,IAIIe,EACA,CADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT;AADgC,CAChC,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEY,MAAzB,IAAKe,CAAL,CAAa,KAAb,IAAiCA,CAAjC,CAAyC,EAAE,KAAF,CAAWA,CAAX,CAAmB,CAAnB,CAAzC,CACIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EApBsC,CAgCjDyB,EAAA0E,UAAA,CAAgC1E,CAAAwE,UAUhCxE,EAAA2E,YAAA,CAAkCC,QAAQ,CAACrG,CAAD,CAAQf,CAAR,CAAgB,CACtD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN;AARY,CAUpB5E,CAAA,EAAU,CACV,KAAIqH,EAAY,IAAAtH,OAAA6E,WACZ5E,EAAJ,CAAaqH,CAAb,EACI,IAAAnB,OAAA,CAAY,CAACmB,CAAD,EAAc,CAAd,EAAmBrH,CAAnB,CAA4BqH,CAA5B,CAAwCrH,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA,CAAuBe,CAAvB,CAA+B,GAFnC,GAII,IAAAkB,KAAA,CAAUjC,CAAV,CACA,EADuBe,CACvB,CAD+B,KAC/B,IAD2C,CAC3C,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAA+B,GALnC,CAOIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA1B+C,CAsC1DwC,EAAA8E,YAAA,CAAkC9E,CAAA2E,YAUlC3E,EAAA+E,WAAA,CAAiCC,QAAQ,CAACxH,CAAD,CAAS,CAC9C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAQpB,GAAI,IAAAnD,aAAJ,CAAuB,CACnB,IAAAV,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CACTe,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,CAFb,CAAvB,IAIIe,EACA,CADS,IAAAkB,KAAA,CAAUjC,CAAV,CACT,EADgC,CAChC,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAETgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAnBuC,CA+BlDyB,EAAAiF,WAAA,CAAiCjF,CAAA+E,WAUjC/E,EAAAkF,WAAA,CAAiCC,QAAQ,CAAC5G,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAI4H,EAAY,IAAA7H,OAAA6E,WACZ5E,EAAJ,CAAa4H,CAAb,EACI,IAAA1B,OAAA,CAAY,CAAC0B,CAAD,EAAc,CAAd,EAAmB5H,CAAnB,CAA4B4H,CAA5B,CAAwC5H,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA,CAAuBe,CAAvB,CAAuC,GAJ3C,GAMI,IAAAkB,KAAA,CAAUjC,CAAV,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAAuC,GAT3C,CAWIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA9B8C,CAuCzDwC,EAAAqF,SAAA,CAA+BrF,CAAAkF,WAQ/BlF,EAAAsF,UAAA,CAAgCC,QAAQ,CAAC/H,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC;AAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAQpB,GAAI,IAAAnD,aAAJ,CAAuB,CACnB,IAAAV,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAATe,EAAgC,EAChCA,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAiC,CACjCe,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CACTe,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,EAAhC,GAAuC,CAJpB,CAAvB,IAMIe,EAGA,CAHS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAe,CAEA,EAFS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAe,CACA,EADS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAT,EAAgC,EAAhC,GAAuC,CAGvCgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAFAe,EAEA,CAFS,CAtBoC,CAiCjDyB,EAAAwF,QAAA,CAA8BxF,CAAAsF,UAQ9BtF,EAAAyF,YAAA,CAAkCC,QAAQ,CAACnH,CAAD,CAAQf,CAAR,CAAgB,CACtD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,IAAW,CACX,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAUpB5E,CAAA,EAAU,CACV,KAAImI,EAAY,IAAApI,OAAA6E,WACZ5E,EAAJ,CAAamI,CAAb,EACI,IAAAjC,OAAA,CAAY,CAACiC,CAAD,EAAc,CAAd,EAAmBnI,CAAnB,CAA4BmI,CAA5B,CAAwCnI,CAApD,CACJA,EAAA,EAAU,CACN,KAAAyB,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAA;AAAuBe,CAAvB,CAAuC,GAJ3C,GAMI,IAAAkB,KAAA,CAAUjC,CAAV,CAGA,CAHuBe,CAGvB,GAHiC,EAGjC,CAHuC,GAGvC,CAFA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBe,CAEvB,GAFiC,EAEjC,CAFuC,GAEvC,CADA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBe,CACvB,GADkC,CAClC,CADuC,GACvC,CAAA,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBe,CAAvB,CAAuC,GAT3C,CAWIiE,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KA9B+C,CAwC1DwC,EAAA4F,YAAA,CAAkC5F,CAAAyF,YAQlCzF,EAAA6F,WAAA,CAAiCC,QAAQ,CAACtI,CAAD,CAAS,CAC9C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAQpB,GAAI,IAAAnD,aAAJ,CAAuB,CACnB,IAAAV,EAAS,IAAAkB,KAAA,CAAUjC,CAAV;AAAiB,CAAjB,CAATe,EAAgC,EAChCA,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAiC,CACjCe,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CACTe,EAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAT,EAAgC,EAAhC,GAAuC,CAJpB,CAAvB,IAMIe,EAGA,CAHS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGT,EAHgC,EAGhC,CAFAe,CAEA,EAFS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAET,EAFiC,CAEjC,CADAe,CACA,EADS,IAAAkB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACT,CAAAe,CAAA,EAAS,IAAAkB,KAAA,CAAUjC,CAAV,CAAT,EAAgC,EAAhC,GAAuC,CAEvCgF,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAvBuC,CAiClDyB,EAAA+F,WAAA,CAAiC/F,CAAA6F,WAI7BzJ,EAAJ,GASI4D,CAAAgG,WAyOA,CAzOiCC,QAAQ,CAAC1H,CAAD,CAAQf,CAAR,CAAgB,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACIA,CAAA,CAAQnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CADP,KAEA,IAAI,EAAEA,CAAF,EAAWA,CAAX,WAA4BnC,EAA5B,CAAJ,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB;AAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO7D,EAAX,CACIA,CADJ,CACYnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CAHZ,CAIAf,EAAA,EAAU,CACV,KAAI4I,EAAY,IAAA7I,OAAA6E,WACZ5E,EAAJ,CAAa4I,CAAb,EACI,IAAA1C,OAAA,CAAY,CAAC0C,CAAD,EAAc,CAAd,EAAmB5I,CAAnB,CAA4B4I,CAA5B,CAAwC5I,CAApD,CACJA,EAAA,EAAU,CACN6I,EAAAA,CAAK9H,CAAA+H,IACLC,EAAAA,CAAKhI,CAAAiI,KACL,KAAAvH,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQA,CARuB6I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuB6I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuB6I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA5G,KAAA,CAAUjC,CAAV,CAKA,CALuB6I,CAKvB,CALoC,GAKpC,CAJA7I,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuB+I,CAGvB;AAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuB+I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuB+I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA9G,KAAA,CAAUjC,CAAV,CAAA,CAAuB+I,CAAvB,CAAoC,GATxC,GAWI,IAAA9G,KAAA,CAAUjC,CAAV,CAQA,CARuB+I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuB+I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuB+I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAKA,CALuB+I,CAKvB,CALoC,GAKpC,CAJA/I,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAGA,CAHuB6I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuB6I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuB6I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuB6I,CAAvB,CAAoC,GAnBxC,CAqBI7D,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjD8C,CAyOzD,CA9KAwC,CAAAyG,UA8KA,CA9KgCzG,CAAAgG,WA8KhC,CAtKAhG,CAAA0G,UAsKA,CAtKgCC,QAAQ,CAACnJ,CAAD,CAAS,CAC7C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN;AACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CASpB,GAAI,IAAAnD,aAAJ,CAAuB,CACnB,IAAAoH,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN6I,EAA6B,EAC7BA,EAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA8B,CAC9B6I,EAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CACN6I,EAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CACpCA,EAAA,EAAU,CACV,KAAA+I,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN+I,EAA6B,EAC7BA,EAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA8B,CAC9B+I,EAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CACN+I,EAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CATjB,CAAvB,IAWI+I,EAQA,CARM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA+I,CAOA,EAPM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA+I,CAMA,EANM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMN,CALA+I,CAKA,EALM,IAAA9G,KAAA,CAAUjC,CAAV,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA6I,CAGA,CAHM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA6I,CAEA,EAFM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA6I,CACA,EADM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACN,CAAA6I,CAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAN,EAA6B,EAA7B;AAAoC,CAEpCe,EAAAA,CAAQ,IAAInC,CAAJ,CAASiK,CAAT,CAAaE,CAAb,CAAiB,CAAA,CAAjB,CACR/D,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAnCsC,CAsKjD,CA1HAyB,CAAA4G,SA0HA,CA1H+B5G,CAAA0G,UA0H/B,CAjHA1G,CAAA6G,YAiHA,CAjHkCC,QAAQ,CAACvI,CAAD,CAAQf,CAAR,CAAgB,CACtD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACIA,CAAA,CAAQnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CADP,KAEA,IAAI,EAAEA,CAAF,EAAWA,CAAX,WAA4BnC,EAA5B,CAAJ,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO7D,EAAX,CACIA,CADJ,CACYnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CAHZ,CAIAf,EAAA,EAAU,CACV,KAAIuJ,EAAY,IAAAxJ,OAAA6E,WACZ5E,EAAJ,CAAauJ,CAAb,EACI,IAAArD,OAAA,CAAY,CAACqD,CAAD,EAAc,CAAd,EAAmBvJ,CAAnB,CAA4BuJ,CAA5B,CAAwCvJ,CAApD,CACJA,EAAA,EAAU,CACN6I,EAAAA,CAAK9H,CAAA+H,IACLC,EAAAA,CAAKhI,CAAAiI,KACL,KAAAvH,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQA,CARuB6I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuB6I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuB6I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA5G,KAAA,CAAUjC,CAAV,CAKA,CALuB6I,CAKvB,CALoC,GAKpC,CAJA7I,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGA,CAHuB+I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuB+I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuB+I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA9G,KAAA,CAAUjC,CAAV,CAAA,CAAuB+I,CAAvB,CAAoC,GATxC,GAWI,IAAA9G,KAAA,CAAUjC,CAAV,CAQA,CARuB+I,CAQvB,GAR8B,EAQ9B,CARoC,GAQpC,CAPA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAOA,CAPuB+I,CAOvB,GAP8B,EAO9B,CAPoC,GAOpC,CANA,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMA,CANuB+I,CAMvB,GAN+B,CAM/B,CANoC,GAMpC,CALA,IAAA9G,KAAA,CAAUjC,CAAV;AAAiB,CAAjB,CAKA,CALuB+I,CAKvB,CALoC,GAKpC,CAJA/I,CAIA,EAJU,CAIV,CAHA,IAAAiC,KAAA,CAAUjC,CAAV,CAGA,CAHuB6I,CAGvB,GAH8B,EAG9B,CAHoC,GAGpC,CAFA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuB6I,CAEvB,GAF8B,EAE9B,CAFoC,GAEpC,CADA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuB6I,CACvB,GAD+B,CAC/B,CADoC,GACpC,CAAA,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuB6I,CAAvB,CAAoC,GAnBxC,CAqBI7D,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAjD+C,CAiH1D,CArDAwC,CAAAgH,YAqDA,CArDkChH,CAAA6G,YAqDlC,CA7CA7G,CAAAiH,WA6CA,CA7CiCC,QAAQ,CAAC1J,CAAD,CAAS,CAC9C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CASpB,GAAI,IAAAnD,aAAJ,CAAuB,CACnB,IAAAoH;AAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN6I,EAA6B,EAC7BA,EAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA8B,CAC9B6I,EAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CACN6I,EAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CACpCA,EAAA,EAAU,CACV,KAAA+I,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN+I,EAA6B,EAC7BA,EAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA8B,CAC9B+I,EAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CACN+I,EAAA,EAAM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAN,EAA6B,EAA7B,GAAoC,CATjB,CAAvB,IAWI+I,EAQA,CARM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAQN,EAR6B,EAQ7B,CAPA+I,CAOA,EAPM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAON,EAP8B,CAO9B,CANA+I,CAMA,EANM,IAAA9G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAMN,CALA+I,CAKA,EALM,IAAA9G,KAAA,CAAUjC,CAAV,CAKN,EAL6B,EAK7B,GALoC,CAKpC,CAJAA,CAIA,EAJU,CAIV,CAHA6I,CAGA,CAHM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAGN,EAH6B,EAG7B,CAFA6I,CAEA,EAFM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEN,EAF8B,CAE9B,CADA6I,CACA,EADM,IAAA5G,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACN,CAAA6I,CAAA,EAAM,IAAA5G,KAAA,CAAUjC,CAAV,CAAN,EAA6B,EAA7B,GAAoC,CAEpCe,EAAAA,CAAQ,IAAInC,CAAJ,CAASiK,CAAT,CAAaE,CAAb,CAAiB,CAAA,CAAjB,CACR/D,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAnCuC,CA6ClD,CAAAyB,CAAAmH,WAAA,CAAiCnH,CAAAiH,WAlPrC,CAmYAjH,EAAAoH,aAAA,CAAmCC,QAAQ,CAAC9I,CAAD,CAAQf,CAAR,CAAgB,CACvD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA;GAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CASpB5E,CAAA,EAAU,CACV,KAAI8J,EAAY,IAAA/J,OAAA6E,WACZ5E,EAAJ,CAAa8J,CAAb,EACI,IAAA5D,OAAA,CAAY,CAAC4D,CAAD,EAAc,CAAd,EAAmB9J,CAAnB,CAA4B8J,CAA5B,CAAwC9J,CAApD,CAEJc,EAAA,CAAc,IAAAmB,KAAd,CAAyBlB,CAAzB,CADAf,CACA,CADU,CACV,CAAwC,IAAAyB,aAAxC,CAA2D,EAA3D,CAA+D,CAA/D,CACIuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DwC,EAAAuH,WAAA,CAAiCvH,CAAAoH,aAQjCpH,EAAAwH,YAAA,CAAkCC,QAAQ,CAACjK,CAAD,CAAS,CAC/C,IAAIgF;AAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQjB,CAAA,CAAa,IAAAmC,KAAb,CAAwBjC,CAAxB,CAAgC,IAAAyB,aAAhC,CAAmD,EAAnD,CAAuD,CAAvD,CACRuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAZwC,CAsBnDyB,EAAA0H,UAAA,CAAgC1H,CAAAwH,YAWhCxH,EAAA2H,aAAA,CAAmCC,QAAQ,CAACrJ,CAAD,CAAQf,CAAR,CAAgB,CACvD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACI,KAAMyD,UAAA,CAAU,iBAAV;AAA4BzD,CAA5B,CAAkC,iBAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CASpB5E,CAAA,EAAU,CACV,KAAIqK,EAAY,IAAAtK,OAAA6E,WACZ5E,EAAJ,CAAaqK,CAAb,EACI,IAAAnE,OAAA,CAAY,CAACmE,CAAD,EAAc,CAAd,EAAmBrK,CAAnB,CAA4BqK,CAA5B,CAAwCrK,CAApD,CAEJc,EAAA,CAAc,IAAAmB,KAAd,CAAyBlB,CAAzB,CADAf,CACA,CADU,CACV,CAAwC,IAAAyB,aAAxC,CAA2D,EAA3D,CAA+D,CAA/D,CACIuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAO,KAnBgD,CA8B3DwC,EAAA8H,YAAA,CAAkC9H,CAAA2H,aAQlC3H,EAAA+H,YAAA,CAAkCC,QAAQ,CAACxK,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOhB7D,CAAAA,CAAQjB,CAAA,CAAa,IAAAmC,KAAb,CAAwBjC,CAAxB,CAAgC,IAAAyB,aAAhC,CAAmD,EAAnD,CAAuD,CAAvD,CACRuD,EAAJ,GAAc,IAAAhF,OAAd,EAA6B,CAA7B,CACA,OAAOe,EAZwC,CAsBnDyB,EAAAiI,WAAA,CAAiCjI,CAAA+H,YAWjChJ,EAAAmJ,mBAAA,CAAgC,CAQhCnJ,EAAAoJ,kBAAA,CAA+BC,QAAQ,CAAC7J,CAAD,CAAQ,CAEnCA,CAAR,IAAkB,CACb,OAAY,IAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,KAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,OAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CACY,SAAZ,CAAIA,CAAJ,CAA4B,CAA5B,CAC4B,CAPU,CAgB/CQ,EAAAsJ,eAAA,CAA4BC,QAAQ,CAACC,CAAD,CAAI,CACpC,QAAUA,CAAV,EAAe,CAAf,GAAqB,CAArB,CAA2BA,CAA3B,EAAgC,EAAhC,IAAyC,CADL,CAUxCxJ,EAAAyJ,eAAA,CAA4BC,QAAQ,CAACF,CAAD,CAAI,CACpC,MAASA,EAAT;AAAe,CAAf,CAAoB,EAAEA,CAAF,CAAM,CAAN,CAApB,CAAgC,CADI,CAYxCvI,EAAA6C,cAAA,CAAoC6F,QAAQ,CAACnK,CAAD,CAAQf,CAAR,CAAgB,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAHoC,IAapDuG,EAAO5J,CAAAoJ,kBAAA,CAA6B5J,CAA7B,CAEXf,EAAA,EAAUmL,CACNC,KAAAA,EAAa,IAAArL,OAAA6E,WACb5E,EAAJ,CAAaoL,CAAb,EACI,IAAAlF,OAAA,CAAY,CAACkF,CAAD,EAAe,CAAf;AAAoBpL,CAApB,CAA6BoL,CAA7B,CAA0CpL,CAAtD,CACJA,EAAA,EAAUmL,CAEV,KADApK,CACA,IADW,CACX,CAAgB,GAAhB,EAAOA,CAAP,CAAA,CACIsK,CAEA,CAFKtK,CAEL,CAFa,GAEb,CAFqB,GAErB,CADA,IAAAkB,KAAA,CAAUjC,CAAA,EAAV,CACA,CADsBqL,CACtB,CAAAtK,CAAA,IAAW,CAEf,KAAAkB,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBe,CACtB,OAAIiE,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOmL,CA/BiD,CA0C5D3I,EAAA8I,oBAAA,CAA0CC,QAAQ,CAACxK,CAAD,CAAQf,CAAR,CAAgB,CAC9D,MAAO,KAAAqF,cAAA,CAAmB9D,CAAAsJ,eAAA,CAA0B9J,CAA1B,CAAnB,CAAqDf,CAArD,CADuD,CAclEwC,EAAAkD,aAAA,CAAmC8F,QAAQ,CAACxL,CAAD,CAAS,CAChD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN;AALY,CAH4B,IAU5C5D,EAAI,CAVwC,CAW5CD,EAAQ,CAEZ,GAAG,CACC,GAAI,CAAC,IAAAW,SAAL,EAAsB1B,CAAtB,CAA+B,IAAAoC,MAA/B,CAGI,KAFIqJ,EAEEA,CAFIlH,KAAA,CAAM,WAAN,CAEJkH,CADNA,CAAA,UACMA,CADa,CAAA,CACbA,CAAAA,CAAN,CAEJ,IAAAJ,EAAI,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CACI,EAAR,CAAIgB,CAAJ,GACID,CADJ,GACcsK,CADd,CACkB,GADlB,GAC4B,CAD5B,CAC8BrK,CAD9B,CAEA,GAAEA,CATH,CAAH,MAUwB,CAVxB,IAUUqK,CAVV,CAUc,GAVd,EAWAtK,EAAA,EAAS,CACT,OAAIiE,EAAJ,EACI,IAAAhF,OACOe,CADOf,CACPe,CAAAA,CAFX,EAIO,CACH,MAASA,CADN,CAEH,OAAUC,CAFP,CA7ByC,CA4CpDwB,EAAAkJ,mBAAA,CAAyCC,QAAQ,CAAC3L,CAAD,CAAS,CAClD4L,CAAAA,CAAM,IAAAlG,aAAA,CAAkB1F,CAAlB,CACS,SAAnB,GAAI,MAAO4L,EAAX,CACIA,CAAA,MADJ,CACmBrK,CAAAyJ,eAAA,CAA0BY,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGUrK,CAAAyJ,eAAA,CAA0BY,CAA1B,CACV,OAAOA,EAN+C,CAWtDhN,EAAJ,GAQI2C,CAAAsK,mBAgMA,CAhMgC,EAgMhC,CAxLAtK,CAAAuK,kBAwLA,CAxL+BC,QAAQ,CAAChL,CAAD,CAAQ,CACtB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CADZ,CAE0B,QAF1B,GAES,MAAOA,EAFhB,GAGIA,CAHJ,CAGYnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CAHZ,CAD2C,KAMvCiL,EAAQjL,CAAAkL,MAAA,EAARD;AAA0B,CANa,CAOvCE,EAAQnL,CAAAoL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQrL,CAAAoL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrD,OAAa,EAAb,EAAIA,CAAJ,CACiB,CAAb,EAAIF,CAAJ,CACgB,KAAZ,CAAIF,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAJrC,CAMgB,KAAZ,CAAIE,CAAJ,CACmB,GAAR,CAAAA,CAAA,CAAiB,CAAjB,CAAqB,CADhC,CAGmB,OAAR,CAAAA,CAAA,CAAkB,CAAlB,CAAsB,CAVzC,CAamB,GAAR,CAAAE,CAAA,CAAiB,CAAjB,CAAqB,EAtBW,CAwL/C,CAzJA7K,CAAA8K,eAyJA,CAzJ4BC,QAAQ,CAACvL,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAwL,SAFJ,GAE8BxL,CAF9B,CAEsCA,CAAAyL,SAAA,EAFtC,CAIL,OAAOzL,EAAA0L,UAAA,CAAgB,CAAhB,CAAAC,IAAA,CAAuB3L,CAAA4L,WAAA,CAAiB,EAAjB,CAAvB,CAAAC,WAAA,EAPiC,CAyJ5C,CAzIArL,CAAAsL,eAyIA,CAzI4BC,QAAQ,CAAC/L,CAAD,CAAQ,CACnB,QAArB,GAAI,MAAOA,EAAX,CACIA,CADJ,CACYnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAwL,SAFJ;CAE8BxL,CAF9B,CAEsCA,CAAAyL,SAAA,EAFtC,CAIL,OAAOzL,EAAAoL,mBAAA,CAAyB,CAAzB,CAAAO,IAAA,CAAgC3L,CAAAgM,IAAA,CAAUnO,CAAAoO,IAAV,CAAAR,SAAA,EAAAS,OAAA,EAAhC,CAAAT,SAAA,EAPiC,CAyI5C,CAvHAhK,CAAA0K,cAuHA,CAvHoCC,QAAQ,CAACpM,CAAD,CAAQf,CAAR,CAAgB,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,CACIA,CAAA,CAAQnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CADZ,KAEK,IAAqB,QAArB,GAAI,MAAOA,EAAX,CACDA,CAAA,CAAQnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CADP,KAEA,IAAI,EAAEA,CAAF,EAAWA,CAAX,WAA4BnC,EAA5B,CAAJ,CACD,KAAM4F,UAAA,CAAU,iBAAV,CAA4BzD,CAA5B,CAAkC,2BAAlC,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOf,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAaC,QAArB,GAAI,MAAO7D,EAAX,CACIA,CADJ,CACYnC,CAAA8J,WAAA,CAAgB3H,CAAhB,CAAuB,CAAA,CAAvB,CADZ,CAE0B,QAArB,GAAI,MAAOA,EAAX,CACDA,CADC,CACOnC,CAAA+J,WAAA,CAAgB5H,CAAhB,CAAuB,CAAA,CAAvB,CADP,CAEuB,CAAA,CAFvB,GAEIA,CAAAwL,SAFJ,GAE8BxL,CAF9B,CAEsCA,CAAAyL,SAAA,EAFtC,CAlBmD,KAqBpDrB,EAAO5J,CAAAuK,kBAAA,CAA6B/K,CAA7B,CArB6C,CAsBpDiL,EAAQjL,CAAAkL,MAAA,EAARD,GAA0B,CAtB0B,CAuBpDE,EAAQnL,CAAAoL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARC,GAAiD,CACjDE,EAAAA,CAAQrL,CAAAoL,mBAAA,CAAyB,EAAzB,CAAAF,MAAA,EAARG,GAAiD,CACrDpM,EAAA,EAAUmL,CACV,KAAIiC,EAAa,IAAArN,OAAA6E,WACb5E,EAAJ,CAAaoN,CAAb,EACI,IAAAlH,OAAA,CAAY,CAACkH,CAAD,EAAe,CAAf,EAAoBpN,CAApB,CAA6BoN,CAA7B,CAA0CpN,CAAtD,CACJA,EAAA,EAAUmL,CACV,QAAQA,CAAR,EACI,KAAK,EAAL,CAAS,IAAAlJ,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBoM,CAAvB,GAAkC,CAAlC,CAAuC,CAChD,MAAK,CAAL,CAAS,IAAAnK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAciB,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAnK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAce,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA;AAA+B,CAAT,GAAAmL,CAAA,CAAce,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAce,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAce,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAAjK,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAca,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAA/J,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAca,CAAd,GAAwB,EAAxB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAgD,EAAhD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAA/J,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAca,CAAd,GAAyB,CAAzB,CAA8B,GAA9B,CAAsCA,CAAtC,GAAiD,CAAjD,CAAsD,GACrF,MAAK,CAAL,CAAS,IAAA/J,KAAA,CAAUjC,CAAV,CAAA,CAA+B,CAAT,GAAAmL,CAAA,CAAca,CAAd,CAA8B,GAA9B,CAAsCA,CAAtC,CAAsD,GAVzF,CAYA,MAAIhH,EAAJ,EACI,IAAAhF,OACO,EADQmL,CACR,CAAA,IAFX,EAIWA,CA9C6C,CAuH5D,CA7DA3I,CAAA6K,oBA6DA,CA7D0CC,QAAQ,CAACvM,CAAD,CAAQf,CAAR,CAAgB,CAC9D,MAAO,KAAAkN,cAAA,CAAmB3L,CAAA8K,eAAA,CAA0BtL,CAA1B,CAAnB,CAAqDf,CAArD,CADuD,CA6DlE,CAhDAwC,CAAA+K,aAgDA,CAhDmCC,QAAQ,CAACxN,CAAD,CAAS,CAChD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAH4B,IAW5CK,EAAQjF,CAXoC,CAa5CkM,EAAQ,CAboC,CAc5CE,EAAQ,CAEZ,KAAAf,EAAI,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAqB,KAAAgM,EAAUX,CAAVW,CAAc,GAAa,IAAKX,CAAL,CAAS,GAAT,GACpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BgM,CAA+B,GAArBX,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAD3C,IAEpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BgM,CAA+B,GAArBX,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAF3C,IAGpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BgM,CAA+B,GAArBX,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAH3C,IAIpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD;AAA/BkM,CAA+B,CAArBb,CAAqB,CAAjB,GAAiB,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAJ3C,IAKpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BkM,CAA+B,GAArBb,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAL3C,IAMpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BkM,CAA+B,GAArBb,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAN3C,IAOpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BkM,CAA+B,GAArBb,CAAqB,CAAjB,GAAiB,GAAR,EAAQ,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAP3C,IAQpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BoM,CAA+B,CAArBf,CAAqB,CAAjB,GAAiB,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAR3C,IASpDA,CAAwD,CAApD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAoD,CAA/BoM,CAA+B,GAArBf,CAAqB,CAAjB,GAAiB,GAAP,CAAO,CAACA,CAAD,CAAK,GAAL,EAAe,IAAA3J,SAAf,EAA6C,WAA7C,GAAgC,MAAO2J,EAT3C,EAUpD,KAAM9G,MAAA,CAAM,gBAAN,CAAN,CACIxD,CAAAA,CAAQnC,CAAA6O,SAAA,CAAczB,CAAd,CAAuBE,CAAvB,EAAgC,EAAhC,CAAsCA,CAAtC,GAAgD,CAAhD;AAAsDE,CAAtD,EAAgE,EAAhE,CAAoE,CAAA,CAApE,CACZ,OAAIpH,EAAJ,EACI,IAAAhF,OACOe,CADOf,CACPe,CAAAA,CAFX,EAIW,CACH,MAASA,CADN,CAEH,OAAUf,CAAV,CAAiBiF,CAFd,CAhCqC,CAgDpD,CAAAzC,CAAAkL,mBAAA,CAAyCC,QAAQ,CAAC3N,CAAD,CAAS,CAEtD,CADI4L,CACJ,CADU,IAAA2B,aAAA,CAAkBvN,CAAlB,CACV,GAAW4L,CAAA,MAAX,WAAmChN,EAAnC,CACIgN,CAAA,MADJ,CACmBrK,CAAAsL,eAAA,CAA0BjB,CAAA,MAA1B,CADnB,CAGIA,CAHJ,CAGUrK,CAAAsL,eAAA,CAA0BjB,CAA1B,CACV,OAAOA,EAN+C,CAxM9D,CA+NApJ,EAAAoL,aAAA,CAAmCC,QAAQ,CAACC,CAAD,CAAM9N,CAAN,CAAc,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CAFqD,KAGjDhB,CAHiD,CAIjDuE,EAAIuK,CAAA7O,OACR,IAAI,CAAC,IAAAyC,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOoM,EAAX,CACI,KAAMtJ,UAAA,CAAU,2BAAV,CAAN,CACJ,IAAKxF,CAAL,CAAO,CAAP,CAAUA,CAAV,CAAYuE,CAAZ,CAAe,EAAEvE,CAAjB,CACI,GAA0B,CAA1B,GAAI8O,CAAA5O,WAAA,CAAeF,CAAf,CAAJ,CACI,KAAM8C,WAAA,CAAW,uCAAX,CAAN,CAER,GAAsB,QAAtB,GAAI,MAAO9B,EAAX;AAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAXY,CAcpBrB,CAAA,CAAIwK,CAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJ9N,EAAA,EAAUuD,CAAV,CAAY,CACR0K,EAAAA,CAAa,IAAAlO,OAAA6E,WACb5E,EAAJ,CAAaiO,CAAb,EACI,IAAA/H,OAAA,CAAY,CAAC+H,CAAD,EAAe,CAAf,EAAoBjO,CAApB,CAA6BiO,CAA7B,CAA0CjO,CAAtD,CACJA,EAAA,EAAUuD,CAAV,CAAY,CACZwK,EAAAG,kBAAA,CAAuBpP,CAAA,CAAagP,CAAb,CAAvB,CAA0C,QAAQ,CAACzC,CAAD,CAAI,CAClD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBqL,CAD4B,CAAZ8C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,KAAAlM,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsB,CACtB,OAAIgF,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOuD,CAjC8C,CA6CzDf,EAAA4L,YAAA,CAAkCC,QAAQ,CAACrO,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAH2B,IAU3CK,EAAQjF,CAVmC,CAa3CsO,CAb2C,CAavCjD,EAAK,EACb0C,EAAAQ,kBAAA,CAAuB,QAAQ,EAAG,CAC9B,GAAU,CAAV,GAAIlD,CAAJ,CAAa,MAAO,KACpB,IAAIrL,CAAJ,EAAc,IAAAoC,MAAd,CACI,KAAMN,WAAA,CAAW,iCAAX,CAA6C9B,CAA7C,CAAoD,KAApD,CAA0D,IAAAoC,MAA1D,CAAN,CACJiJ,CAAA,CAAI,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CACJ,OAAa,EAAN,GAAAqL,CAAA,CAAU,IAAV,CAAiBA,CALM,CAAX8C,KAAA,CAMhB,IANgB,CAAvB,CAMcG,CANd,CAMmBnP,CAAA,EANnB,CAMwC,CAAA,CANxC,CAOA,OAAI6F,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAsO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUtO,CAAV,CAAmBiF,CAFhB,CAzBoC,CA2CnDzC,EAAAgM,aAAA,CAAmCC,QAAQ,CAACX,CAAD,CAAM9N,CAAN,CAAc,CACrD,IAAIgF;AAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOoM,EAAX,CACI,KAAMtJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAsB,QAAtB,GAAI,MAAOxE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CAHiC,IAYjDK,EAAQjF,CAEZ,KAAAuD,EAAIwK,CAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAA6C,IAAApM,SAA7C,CAAA,CAA4D,CAA5D,CACJ1B,EAAA,EAAU,CAAV,CAAYuD,CACZ,KAAImL,EAAa,IAAA3O,OAAA6E,WACb5E,EAAJ,CAAa0O,CAAb,EACI,IAAAxI,OAAA,CAAY,CAACwI,CAAD,EAAe,CAAf,EAAoB1O,CAApB,CAA6B0O,CAA7B,CAA0C1O,CAAtD,CACJA,EAAA,EAAU,CAAV,CAAYuD,CACR,KAAA9B,aAAJ,EACI,IAAAQ,KAAA,CAAUjC,CAAV;AAAiB,CAAjB,CAGA,CAHuBuD,CAGvB,GAH6B,EAG7B,CAHmC,GAGnC,CAFA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBuD,CAEvB,GAF6B,EAE7B,CAFmC,GAEnC,CADA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBuD,CACvB,GAD8B,CAC9B,CADmC,GACnC,CAAA,IAAAtB,KAAA,CAAUjC,CAAV,CAAA,CAAuBuD,CAAvB,CAAmC,GAJvC,GAMI,IAAAtB,KAAA,CAAUjC,CAAV,CAGA,CAHuBuD,CAGvB,GAH6B,EAG7B,CAHmC,GAGnC,CAFA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAEA,CAFuBuD,CAEvB,GAF6B,EAE7B,CAFmC,GAEnC,CADA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CACA,CADuBuD,CACvB,GAD8B,CAC9B,CADmC,GACnC,CAAA,IAAAtB,KAAA,CAAUjC,CAAV,CAAiB,CAAjB,CAAA,CAAuBuD,CAAvB,CAAmC,GATvC,CAWAvD,EAAA,EAAU,CACV+N,EAAAG,kBAAA,CAAuBpP,CAAA,CAAagP,CAAb,CAAvB,CAA0C,QAAQ,CAACzC,CAAD,CAAI,CAClD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBqL,CAD4B,CAAZ8C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAInO,CAAJ,GAAeiF,CAAf,CAAuB,CAAvB,CAA2B1B,CAA3B,CACI,KAAMzB,WAAA,CAAW,iCAAX,CAA6C9B,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmE,CAAnE,CAAqEuD,CAArE,EAAN,CACJ,MAAIyB,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBiF,CAzCqC,CAqDzDzC,EAAAmM,YAAA,CAAkCC,QAAQ,CAAC5O,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV;AAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAIK,EAAQjF,CAAZ,CACI6O,EAAM,IAAAxG,WAAA,CAAgBrI,CAAhB,CACN8N,EAAAA,CAAM,IAAAgB,eAAA,CAAoBD,CAApB,CAAyBtN,CAAAwN,cAAzB,CAAmD/O,CAAnD,EAA6D,CAA7D,CACVA,EAAA,EAAU8N,CAAA,OACV,OAAI9I,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA8N,CAAA,OAFX,EAIW,CACH,OAAUA,CAAA,OADP,CAEH,OAAU9N,CAAV,CAAmBiF,CAFhB,CAlBoC,CAiCnD1D,EAAAyN,cAAA,CAA2B,GAQ3BzN,EAAAwN,cAAA,CAA2B,GAS3BvM,EAAAyM,gBAAA,CAAsCC,QAAQ,CAACpB,CAAD,CAAM9N,CAAN,CAAc,CACxD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV;AAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IACIK,EAAQjF,CACZ,KAAAuD,EAAIwK,CAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CACJ9N,EAAA,EAAUuD,CACV,KAAI4L,EAAa,IAAApP,OAAA6E,WACb5E,EAAJ,CAAamP,CAAb,EACI,IAAAjJ,OAAA,CAAY,CAACiJ,CAAD,EAAe,CAAf,EAAoBnP,CAApB,CAA6BmP,CAA7B,CAA0CnP,CAAtD,CACJA,EAAA,EAAUuD,CACVwK,EAAAG,kBAAA,CAAuBpP,CAAA,CAAagP,CAAb,CAAvB,CAA0C,QAAQ,CAACzC,CAAD,CAAI,CAClD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBqL,CAD4B,CAAZ8C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,OAAInJ,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBiF,CAzBwC,CAoC5DzC,EAAA4M,YAAA,CAAkC5M,CAAAyM,gBASlC1N,EAAA8N,mBAAA,CAAgCC,QAAQ,CAACxB,CAAD,CAAM,CAC1C,MAAOC,EAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAU9CvM,EAAAgO,mBAAA,CAAgCC,QAAQ,CAAC1B,CAAD,CAAM,CAC1C,MAAOC,EAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAAA,CAA6C,CAA7C,CADmC,CAW9CvM;CAAAkO,gBAAA,CAA6BlO,CAAAgO,mBAa7B/M,EAAAsM,eAAA,CAAqCY,QAAQ,CAACzQ,CAAD,CAAS0Q,CAAT,CAAkB3P,CAAlB,CAA0B,CAC5C,QAAvB,GAAI,MAAO2P,EAAX,GACI3P,CACA,CADS2P,CACT,CAAAA,CAAA,CAAUrM,IAAAA,EAFd,CAIA,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACuB,YAAvB,GAAI,MAAO2P,EAAX,GAAoCA,CAApC,CAA8CpO,CAAAyN,cAA9C,CACA,IAAI,CAAC,IAAAtN,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOzC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMuF,UAAA,CAAU,kBAAV,CAA6BvF,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CACV,IAAsB,QAAtB,GAAI,MAAOe,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD;AAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CARY,CAR+C,IAkB/D5F,EAAI,CAlB2D,CAmB/DiG,EAAQjF,CAEZ,IAAI2P,CAAJ,GAAgBpO,CAAAyN,cAAhB,CAA0C,CACtC,IAAAV,EAAKnP,CAAA,EACL4O,EAAA6B,WAAA,CAAgB,QAAQ,EAAG,CACvB,MAAO5Q,EAAA,CAAIC,CAAJ,EAAce,CAAd,CAAuB,IAAAoC,MAAvB,CAAoC,IAAAH,KAAA,CAAUjC,CAAA,EAAV,CAApC,CAA0D,IAD1C,CAAXmO,KAAA,CAET,IAFS,CAAhB,CAEc,QAAQ,CAAC0B,CAAD,CAAK,CACvB,EAAE7Q,CAAG+O,EAAA+B,YAAA,CAAiBD,CAAjB,CAAqBvB,CAArB,CADkB,CAF3B,CAKA,IAAItP,CAAJ,GAAUC,CAAV,CACI,KAAM6C,WAAA,CAAW,iCAAX,CAA6C9C,CAA7C,CAA+C,MAA/C,CAAsDC,CAAtD,CAAN,CACJ,MAAI+F,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAsO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUtO,CAAV,CAAmBiF,CAFhB,CAb2B,CAkBnC,GAAI0K,CAAJ,GAAgBpO,CAAAwN,cAAhB,CAA0C,CAC7C,GAAI,CAAC,IAAArN,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2Bf,CAA3B,CAAoC,IAAAc,OAAA6E,WAApC,CACI,KAAM9C,WAAA,CAAW,uBAAX;AAAmC9B,CAAnC,CAA0C,KAA1C,CAAgDf,CAAhD,CAAuD,OAAvD,CAA+D,IAAAc,OAAA6E,WAA/D,CAAN,CALY,CAOpB,IAAIrB,EAAIvD,CAAJuD,CAAatE,CACjB8O,EAAAQ,kBAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOvO,EAAA,CAASuD,CAAT,CAAa,IAAAtB,KAAA,CAAUjC,CAAA,EAAV,CAAb,CAAmC,IADZ,CAAXmO,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBnP,CAAA,EAFnB,CAEwC,IAAAuC,SAFxC,CAGA,IAAI1B,CAAJ,GAAeuD,CAAf,CACI,KAAMzB,WAAA,CAAW,iCAAX,CAA6C9B,CAA7C,CAAoD,MAApD,CAA2DuD,CAA3D,CAAN,CACJ,MAAIyB,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAAsO,CAAA,EAFX,EAIW,CACH,OAAUA,CAAA,EADP,CAEH,OAAUtO,CAAV,CAAmBiF,CAFhB,CAlBkC,CAwB7C,KAAMT,UAAA,CAAU,uBAAV,CAAkCmL,CAAlC,CAAN,CA/D+D,CA8EvEnN,EAAAuN,WAAA,CAAiCvN,CAAAsM,eAajCtM,EAAAwN,aAAA,CAAmCC,QAAQ,CAACnC,CAAD,CAAM9N,CAAN,CAAc,CACrD,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAmB,QAAnB,GAAI,MAAOoM,EAAX,CACI,KAAMtJ,UAAA,CAAU,2BAAV,CAAN;AACJ,GAAsB,QAAtB,GAAI,MAAOxE,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CAPY,CAHiC,IAYjDK,EAAQjF,CAEZ,KAAAuD,EAAIwK,CAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAA6C,IAAApM,SAA7C,CAAA,CAA4D,CAA5D,CACJ,KAAAwO,EAAI3O,CAAAoJ,kBAAA,CAA6BpH,CAA7B,CACJvD,EAAA,EAAUkQ,CAAV,CAAY3M,CACZ,KAAI4M,EAAa,IAAApQ,OAAA6E,WACb5E,EAAJ,CAAamQ,CAAb,EACI,IAAAjK,OAAA,CAAY,CAACiK,CAAD,EAAe,CAAf,EAAoBnQ,CAApB,CAA6BmQ,CAA7B,CAA0CnQ,CAAtD,CACJA,EAAA,EAAUkQ,CAAV,CAAY3M,CACZvD,EAAA,EAAU,IAAAqF,cAAA,CAAmB9B,CAAnB,CAAsBvD,CAAtB,CACV+N,EAAAG,kBAAA,CAAuBpP,CAAA,CAAagP,CAAb,CAAvB,CAA0C,QAAQ,CAACzC,CAAD,CAAI,CAClD,IAAApJ,KAAA,CAAUjC,CAAA,EAAV,CAAA,CAAsBqL,CAD4B,CAAZ8C,KAAA,CAEnC,IAFmC,CAA1C,CAGA,IAAInO,CAAJ,GAAeiF,CAAf,CAAqB1B,CAArB,CAAuB2M,CAAvB,CACI,KAAMpO,WAAA,CAAW,iCAAX;AAA6C9B,CAA7C,CAAoD,MAApD,EAA4DA,CAA5D,CAAmEuD,CAAnE,CAAqE2M,CAArE,EAAN,CACJ,MAAIlL,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA,IAFX,EAIOA,CAJP,CAIgBiF,CA/BqC,CA2CzDzC,EAAA4N,YAAA,CAAkCC,QAAQ,CAACrQ,CAAD,CAAS,CAC/C,IAAIgF,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAIK,EAAQjF,CAAZ,CACI6O,EAAM,IAAAnJ,aAAA,CAAkB1F,CAAlB,CACN8N,EAAAA,CAAM,IAAAgB,eAAA,CAAoBD,CAAA,MAApB,CAAkCtN,CAAAwN,cAAlC,CAA4D/O,CAA5D,EAAsE6O,CAAA,OAAtE,CACV7O,EAAA,EAAU8N,CAAA,OACV,OAAI9I,EAAJ,EACI,IAAAhF,OACO,CADOA,CACP,CAAA8N,CAAA,OAFX,EAIW,CACH,OAAUA,CAAA,OADP;AAEH,OAAU9N,CAAV,CAAmBiF,CAFhB,CAlBoC,CAuCnDzC,EAAA8N,OAAA,CAA6BC,QAAQ,CAACC,CAAD,CAASnN,CAAT,CAAmBrD,CAAnB,CAA2B,CAC5D,GAAwB,QAAxB,GAAI,MAAOqD,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIrD,CACA,CADSqD,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOd4L,CAAN,WAAwBjP,EAAxB,GACIiP,CADJ,CACajP,CAAAkC,KAAA,CAAgB+M,CAAhB,CAAwBnN,CAAxB,CADb,CAEIpE,EAAAA,CAASuR,CAAApO,MAATnD,CAAwBuR,CAAAxQ,OAC5B,IAAc,CAAd,EAAIf,CAAJ,CAAiB,MAAO,KACxBe,EAAA,EAAUf,CACV,KAAIwR,EAAa,IAAA1Q,OAAA6E,WACb5E,EAAJ,CAAayQ,CAAb,EACI,IAAAvK,OAAA,CAAY,CAACuK,CAAD,EAAe,CAAf;AAAoBzQ,CAApB,CAA6ByQ,CAA7B,CAA0CzQ,CAAtD,CACJA,EAAA,EAAUf,CACV,KAAAgD,KAAA2B,IAAA,CAAc4M,CAAAvO,KAAA4B,SAAA,CAAqB2M,CAAAxQ,OAArB,CAAoCwQ,CAAApO,MAApC,CAAd,CAAiEpC,CAAjE,CACAwQ,EAAAxQ,OAAA,EAAiBf,CACb+F,EAAJ,GAAc,IAAAhF,OAAd,EAA6Bf,CAA7B,CACA,OAAO,KA1BqD,CAuChEuD,EAAAkO,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAS5Q,CAAT,CAAiB,CACpD4Q,CAAAN,OAAA,CAAc,IAAd,CAAoBtQ,CAApB,CACA,OAAO,KAF6C,CAgBxDwC,EAAAqO,WAAA,CAAiCrO,CAAA8N,OAQjC9N,EAAAsO,OAAA,CAA6BC,QAAQ,CAACD,CAAD,CAAS,CAC1C,IAAApP,SAAA,CAAgB,CAACoP,CACjB,OAAO,KAFmC,CAU9CtO,EAAAhB,SAAA,CAA+BwP,QAAQ,EAAG,CACtC,MAAO,KAAAjR,OAAA6E,WAD+B,CAS1CpC,EAAAyO,MAAA,CAA4BC,QAAQ,EAAG,CACnC,IAAAlR,OAAA,CAAc,CACd,KAAAoC,MAAA,CAAa,IAAArC,OAAA6E,WACb,KAAAzC,aAAA,CAAqB,EACrB,OAAO,KAJ4B,CAcvCK,EAAAiC,MAAA,CAA4B0M,QAAQ,CAACC,CAAD,CAAO,CACvC,IAAI1N,EAAK,IAAInC,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CACL0P,EAAJ,EACI1N,CAAA3D,OACA,CADY,IAAIiC,WAAJ,CAAgB,IAAAjC,OAAA6E,WAAhB,CACZ;AAAAlB,CAAAzB,KAAA,CAAU,IAAIC,UAAJ,CAAewB,CAAA3D,OAAf,CAFd,GAII2D,CAAA3D,OACA,CADY,IAAAA,OACZ,CAAA2D,CAAAzB,KAAA,CAAU,IAAAA,KALd,CAOAyB,EAAA1D,OAAA,CAAY,IAAAA,OACZ0D,EAAAvB,aAAA,CAAkB,IAAAA,aAClBuB,EAAAtB,MAAA,CAAW,IAAAA,MACX,OAAOsB,EAZgC,CAwB3ClB,EAAA6O,QAAA,CAA8BC,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX;AAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,GAAc,CAAd,GAAI2M,CAAJ,EAAmBC,CAAnB,GAA2B,IAAAzR,OAAA6E,WAA3B,CACI,MAAO,KACX,KAAIiK,EAAM2C,CAAN3C,CAAY0C,CAChB,IAAY,CAAZ,GAAI1C,CAAJ,CAMI,MALA,KAAA9O,OAKO,CALOgC,CAKP,CAJP,IAAAE,KAIO,CAJK,IAIL,CAHkB,CAGlB,EAHH,IAAAE,aAGG,GAHqB,IAAAA,aAGrB,EAH0CoP,CAG1C,EADP,IAAAnP,MACO,CAFP,IAAApC,OAEO,CAFO,CAEP,CAAA,IAEX,KAAID,EAAS,IAAIiC,WAAJ,CAAgB6M,CAAhB,CAAb,CACI5M,EAAO,IAAIC,UAAJ,CAAenC,CAAf,CACXkC,EAAA2B,IAAA,CAAS,IAAA3B,KAAA4B,SAAA,CAAmB0N,CAAnB,CAA0BC,CAA1B,CAAT,CACA,KAAAzR,OAAA,CAAcA,CACd,KAAAkC,KAAA,CAAYA,CACa,EAAzB,EAAI,IAAAE,aAAJ,GAA4B,IAAAA,aAA5B,EAAiDoP,CAAjD,CACA,KAAAvR,OAAA,CAAc,CACd,KAAAoC,MAAA,CAAayM,CACb,OAAO,KAhCwC,CA2CnDrM,EAAA4O,KAAA,CAA2BK,QAAQ,CAACF,CAAD,CAAQC,CAAR,CAAa,CACvB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA;GAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,GAAI2M,CAAJ,GAAcC,CAAd,CACI,MAAO,KAAIjQ,CAAJ,CAAe,CAAf,CAAkB,IAAAE,aAAlB,CAAqC,IAAAC,SAArC,CAdiC,KAexCF,EAAWgQ,CAAXhQ,CAAiB+P,CAfuB,CAgBxC7N,EAAK,IAAInC,CAAJ,CAAeC,CAAf,CAAyB,IAAAC,aAAzB,CAA4C,IAAAC,SAA5C,CACTgC,EAAA1D,OAAA,CAAY,CACZ0D,EAAAtB,MAAA,CAAWZ,CACY,EAAvB,EAAIkC,CAAAvB,aAAJ,GAA0BuB,CAAAvB,aAA1B,EAA6CoP,CAA7C,CACA,KAAAG,OAAA,CAAYhO,CAAZ,CAAgB,CAAhB,CAAmB6N,CAAnB;AAA0BC,CAA1B,CACA,OAAO9N,EArBqC,CAoChDlB,EAAAkP,OAAA,CAA6BC,QAAQ,CAACf,CAAD,CAASgB,CAAT,CAAuBC,CAAvB,CAAqCC,CAArC,CAAkD,CAAA,IAC/E9M,CAD+E,CAE/E+M,CACJ,IAAI,CAAC,IAAArQ,SAAL,EACQ,CAACH,CAAAiC,aAAA,CAAwBoN,CAAxB,CADT,CAEQ,KAAMpM,UAAA,CAAU,kCAAV,CAAN,CAERoN,CAAA,CAAe,CAACG,CAAD,CAA0C,WAA1C,GAAkB,MAAOH,EAAzB,EAAyDhB,CAAA5Q,OAAzD,CAAyE4R,CAAzE,CAAwF,CACvGC,EAAA,CAAe,CAAC7M,CAAD,CAAoC,WAApC,GAAY,MAAO6M,EAAnB,EAAmD,IAAA7R,OAAnD,CAAiE6R,CAAjE,CAAgF,CAC/FC,EAAA,CAAqC,WAAvB,GAAA,MAAOA,EAAP,CAAqC,IAAA1P,MAArC,CAAkD0P,CAAlD,CAAgE,CAE9E,IAAmB,CAAnB,CAAIF,CAAJ,EAAwBA,CAAxB,CAAuChB,CAAA7Q,OAAA6E,WAAvC,CACI,KAAM9C,WAAA,CAAW,6BAAX,CAAyC8P,CAAzC,CAAsD,MAAtD,CAA6DhB,CAAA7Q,OAAA6E,WAA7D,CAAN,CACJ,GAAmB,CAAnB,CAAIiN,CAAJ,EAAwBC,CAAxB,CAAsC,IAAA/R,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,6BAAX,CAAyC+P,CAAzC,CAAsD,MAAtD,CAA6D,IAAA9R,OAAA6E,WAA7D,CAAN,CAEJ,IAAIiK,EAAMiD,CAANjD,CAAoBgD,CACxB,IAAY,CAAZ;AAAIhD,CAAJ,CACI,MAAO+B,EAEXA,EAAAoB,eAAA,CAAsBJ,CAAtB,CAAqC/C,CAArC,CAEA+B,EAAA3O,KAAA2B,IAAA,CAAgB,IAAA3B,KAAA4B,SAAA,CAAmBgO,CAAnB,CAAiCC,CAAjC,CAAhB,CAA+DF,CAA/D,CAEI5M,EAAJ,GAAc,IAAAhF,OAAd,EAA6B6O,CAA7B,CACIkD,EAAJ,GAAoBnB,CAAA5Q,OAApB,EAAqC6O,CAArC,CAEA,OAAO,KA3B4E,CAsCvFrM,EAAAwP,eAAA,CAAqCC,QAAQ,CAACzQ,CAAD,CAAW,CACpD,IAAI0Q,EAAU,IAAAnS,OAAA6E,WACd,OAAIsN,EAAJ,CAAc1Q,CAAd,CACW,IAAA0E,OAAA,CAAY,CAACgM,CAAD,EAAY,CAAZ,EAAiB1Q,CAAjB,CAA4B0Q,CAA5B,CAAsC1Q,CAAlD,CADX,CAEO,IAJ6C,CAkBxDgB,EAAA2P,KAAA,CAA2BC,QAAQ,CAACrR,CAAD,CAAQwQ,CAAR,CAAeC,CAAf,CAAoB,CACnD,IAAIxM,EAA4B,WAA5BA,GAAW,MAAOuM,EAClBvM,EAAJ,GAAcuM,CAAd,CAAsB,IAAAvR,OAAtB,CACqB,SAArB,GAAI,MAAOe,EAAX,EAAgD,CAAhD,CAAiCA,CAAA9B,OAAjC,GACI8B,CADJ,CACYA,CAAA7B,WAAA,CAAiB,CAAjB,CADZ,CAEqB,YAArB,GAAI,MAAOqS,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAOX,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMyD,UAAA,CAAU,iBAAV;AAA4BzD,CAA5B,CAAkC,mBAAlC,CAAN,CACJA,CAAA,EAAS,CACT,IAAqB,QAArB,GAAI,MAAOwQ,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CAXY,CAapB,GAAI2M,CAAJ,EAAaC,CAAb,CACI,MAAO,KACX,KAAA,CAAOD,CAAP,CAAeC,CAAf,CAAA,CAAoB,IAAAvP,KAAA,CAAUsP,CAAA,EAAV,CAAA,CAAqBxQ,CACrCiE,EAAJ,GAAc,IAAAhF,OAAd,CAA4BuR,CAA5B,CACA,OAAO,KAxB4C,CAiCvD/O,EAAA6P,KAAA,CAA2BC,QAAQ,EAAG,CAClC,IAAAlQ,MAAA,CAAa,IAAApC,OACb,KAAAA,OAAA,CAAc,CACd,OAAO,KAH2B,CActCwC,EAAA+P,KAAA,CAA2BC,QAAQ,CAACxS,CAAD,CAAS,CACxCA,CAAA,CAA2B,WAAlB;AAAA,MAAOA,EAAP,CAAgC,IAAAA,OAAhC,CAA8CA,CACvD,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOpB,IAAAzC,aAAA,CAAoBnC,CACpB,OAAO,KAViC,CAkB5CwC,EAAAiQ,MAAA,CAA4BC,QAAQ,CAACjR,CAAD,CAAe,CAC/C,GAAI,CAAC,IAAAC,SAAL,EACgC,SADhC,GACQ,MAAOD,EADf,CAEQ,KAAM+C,UAAA,CAAU,qCAAV,CAAN,CAER,IAAA/C,aAAA,CAAoB,CAAC,CAACA,CACtB,OAAO,KANwC,CAenDe,EAAAmQ,GAAA,CAAyBC,QAAQ,CAACnR,CAAD,CAAe,CAC5C,IAAAA,aAAA,CAA4C,WAAxB,GAAA,MAAOA,EAAP,CAAsC,CAAC,CAACA,CAAxC,CAAuD,CAAA,CAC3E;MAAO,KAFqC,CAWhDe,EAAAqQ,GAAA,CAAyBC,QAAQ,CAACC,CAAD,CAAY,CACzC,IAAAtR,aAAA,CAAyC,WAArB,GAAA,MAAOsR,EAAP,CAAmC,CAACA,CAApC,CAAgD,CAAA,CACpE,OAAO,KAFkC,CAkB7CvQ,EAAAwQ,QAAA,CAA8BC,QAAQ,CAACzC,CAAD,CAASnN,CAAT,CAAmBrD,CAAnB,CAA2B,CAC7D,GAAwB,QAAxB,GAAI,MAAOqD,EAAX,EAAwD,QAAxD,GAAoC,MAAOA,EAA3C,CACIrD,CACA,CADSqD,CACT,CAAAA,CAAA,CAAWC,IAAAA,EAEf,KAAI0B,EAA6B,WAA7BA,GAAW,MAAOhF,EAClBgF,EAAJ,GAAchF,CAAd,CAAuB,IAAAA,OAAvB,CACA,IAAI,CAAC,IAAA0B,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,kBAAV,CAA6BxE,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,IAAY,CACZ,IAAa,CAAb,CAAIA,CAAJ,EAAkBA,CAAlB,CAA2B,CAA3B,CAA+B,IAAAD,OAAA6E,WAA/B,CACI,KAAM9C,WAAA,CAAW,uBAAX,CAAmC9B,CAAnC,CAAkD,WAAlD,CAA0D,IAAAD,OAAA6E,WAA1D,CAAN,CALY,CAOd4L,CAAN,WAAwBjP,EAAxB,GACIiP,CADJ,CACajP,CAAAkC,KAAA,CAAgB+M,CAAhB,CAAwBnN,CAAxB,CADb,CAEIwL,EAAAA,CAAM2B,CAAApO,MAANyM,CAAqB2B,CAAAxQ,OACzB;GAAW,CAAX,EAAI6O,CAAJ,CAAc,MAAO,KACrB,KAAIqE,EAAOrE,CAAPqE,CAAalT,CACjB,IAAW,CAAX,CAAIkT,CAAJ,CAAc,CACV,IAAInT,EAAS,IAAIiC,WAAJ,CAAgB,IAAAjC,OAAA6E,WAAhB,CAAyCsO,CAAzC,CAAb,CACIjR,EAAO,IAAIC,UAAJ,CAAenC,CAAf,CACXkC,EAAA2B,IAAA,CAAS,IAAA3B,KAAA4B,SAAA,CAAmB7D,CAAnB,CAA2B,IAAAD,OAAA6E,WAA3B,CAAT,CAA6DiK,CAA7D,CACA,KAAA9O,OAAA,CAAcA,CACd,KAAAkC,KAAA,CAAYA,CACZ,KAAAjC,OAAA,EAAekT,CACU,EAAzB,EAAI,IAAA/Q,aAAJ,GAA4B,IAAAA,aAA5B,EAAiD+Q,CAAjD,CACA,KAAA9Q,MAAA,EAAc8Q,CACdlT,EAAA,EAAUkT,CATA,CAAd,IAWoB,KAAIhR,UAAJ,CAAe,IAAAnC,OAAf,CAEpB,KAAAkC,KAAA2B,IAAA,CAAc4M,CAAAvO,KAAA4B,SAAA,CAAqB2M,CAAAxQ,OAArB,CAAoCwQ,CAAApO,MAApC,CAAd,CAAiEpC,CAAjE,CAA0E6O,CAA1E,CAEA2B,EAAAxQ,OAAA,CAAgBwQ,CAAApO,MACZ4C,EAAJ,GACI,IAAAhF,OADJ,EACmB6O,CADnB,CAEA,OAAO,KArCsD,CAmDjErM,EAAA2Q,UAAA,CAAgCC,QAAQ,CAACxC,CAAD,CAAS5Q,CAAT,CAAiB,CACrD4Q,CAAAoC,QAAA,CAAe,IAAf,CAAqBhT,CAArB,CACA,OAAO,KAF8C,CASzDwC,EAAA6Q,WAAA,CAAiCC,QAAQ,CAACC,CAAD,CAAM,CACxB,UAAnB,GAAI,MAAOA,EAAX;CAA+BA,CAA/B,CAAqCC,OAAAnS,IAAA8M,KAAA,CAAiBqF,OAAjB,CAArC,CACAD,EAAA,CACI,IAAA1O,SAAA,EADJ,CAEI,yEAFJ,CAGI,IAAA4O,QAAA,CAA2B,CAAA,CAA3B,CAHJ,CAF2C,CAe/CjR,EAAAkR,UAAA,CAAgCC,QAAQ,EAAG,CACvC,MAAO,KAAAvR,MAAP,CAAoB,IAAApC,OADmB,CAW3CwC,EAAAoR,MAAA,CAA4BC,QAAQ,EAAG,CACV,CAAzB,EAAI,IAAA1R,aAAJ,EACI,IAAAnC,OACA,CADc,IAAAmC,aACd,CAAA,IAAAA,aAAA,CAAqB,EAFzB,EAII,IAAAnC,OAJJ,CAIkB,CAElB,OAAO,KAP4B,CAkBvCwC,EAAA0D,OAAA,CAA6B4N,QAAQ,CAACtS,CAAD,CAAW,CAC5C,GAAI,CAAC,IAAAE,SAAL,CAAoB,CAChB,GAAwB,QAAxB,GAAI,MAAOF,EAAX,EAAqD,CAArD,GAAoCA,CAApC,CAA+C,CAA/C,CACI,KAAMgD,UAAA,CAAU,oBAAV,CAA+BhD,CAA/B,CAAwC,mBAAxC,CAAN,CACJA,CAAA,EAAY,CACZ,IAAe,CAAf,CAAIA,CAAJ,CACI,KAAMM,WAAA,CAAW,yBAAX;AAAqCN,CAArC,CAAN,CALY,CAOpB,GAAI,IAAAzB,OAAA6E,WAAJ,CAA6BpD,CAA7B,CAAuC,CAC/BzB,CAAAA,CAAS,IAAIiC,WAAJ,CAAgBR,CAAhB,CACb,KAAIS,EAAO,IAAIC,UAAJ,CAAenC,CAAf,CACXkC,EAAA2B,IAAA,CAAS,IAAA3B,KAAT,CACA,KAAAlC,OAAA,CAAcA,CACd,KAAAkC,KAAA,CAAYA,CALuB,CAOvC,MAAO,KAfqC,CAwBhDO,EAAAuR,QAAA,CAA8BC,QAAQ,CAACzC,CAAD,CAAQC,CAAR,CAAa,CAC1B,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX;AAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,GAAI2M,CAAJ,GAAcC,CAAd,CACI,MAAO,KACX5R,MAAAC,UAAAkU,QAAArP,KAAA,CAA6B,IAAAzC,KAAA4B,SAAA,CAAmB0N,CAAnB,CAA0BC,CAA1B,CAA7B,CACA,OAAO,KAhBwC,CAwBnDhP,EAAAyR,KAAA,CAA2BC,QAAQ,CAACjV,CAAD,CAAS,CACxC,GAAI,CAAC,IAAAyC,SAAL,CAAoB,CAChB,GAAsB,QAAtB,GAAI,MAAOzC,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMuF,UAAA,CAAU,kBAAV,CAA6BvF,CAA7B,CAAoC,mBAApC,CAAN,CACJA,CAAA,EAAU,CAHM,CAKpB,IAAIe,EAAS,IAAAA,OAATA,CAAuBf,CAC3B,IAAI,CAAC,IAAAyC,SAAL,GACiB,CADjB,CACQ1B,CADR,EACsBA,CADtB,CAC+B,IAAAD,OAAA6E,WAD/B,EAEQ,KAAM9C,WAAA,CAAW,uBAAX,CAAmC,IAAA9B,OAAnC,CAA+C,KAA/C,CAAqDf,CAArD,CAA4D,MAA5D,CAAmE,IAAAc,OAAA6E,WAAnE,CAAN,CAER,IAAA5E,OAAA,CAAcA,CACd,OAAO,KAZiC,CAsB5CwC,EAAAsD,MAAA,CAA4BqO,QAAQ,CAAC5C,CAAD,CAAQC,CAAR,CAAa,CACxB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC;AAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,IAAIlB,EAAK,IAAAe,MAAA,EACTf,EAAA1D,OAAA,CAAYuR,CACZ7N,EAAAtB,MAAA,CAAWoP,CACX,OAAO9N,EAhBsC,CA0BjDlB,EAAA4R,SAAA,CAA+BC,QAAQ,CAACC,CAAD,CAAY,CAAA,IAC3CtU,EAAS,IAAAA,OADkC,CAE3CoC,EAAQ,IAAAA,MACZ,IAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAsB,QAAtB;AAAI,MAAO1B,EAAX,EAAiD,CAAjD,GAAkCA,CAAlC,CAA2C,CAA3C,CACI,KAAMwE,UAAA,CAAU,gCAAV,CAAN,CACJxE,CAAA,IAAY,CACZ,IAAqB,QAArB,GAAI,MAAOoC,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAMoC,UAAA,CAAU,+BAAV,CAAN,CACJpC,CAAA,IAAW,CACX,IAAa,CAAb,CAAIpC,CAAJ,EAAkBA,CAAlB,CAA2BoC,CAA3B,EAAoCA,CAApC,CAA4C,IAAArC,OAAA6E,WAA5C,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkC9B,CAAlC,CAAyC,MAAzC,CAAgDoC,CAAhD,CAAsD,MAAtD,CAA6D,IAAArC,OAAA6E,WAA7D,CAAN,CARY,CAYpB,GAAI,CAAC0P,CAAL,EAA6B,CAA7B,GAAkBtU,CAAlB,EAAkCoC,CAAlC,GAA4C,IAAArC,OAAA6E,WAA5C,CACI,MAAO,KAAA7E,OACX,IAAIC,CAAJ,GAAeoC,CAAf,CACI,MAAOL,EACPhC,EAAAA,CAAS,IAAIiC,WAAJ,CAAgBI,CAAhB,CAAwBpC,CAAxB,CACb4D,EAAA,IAAI1B,UAAJ,CAAenC,CAAf,CAAA6D,KAAA,CAA2BC,CAAA,IAAI3B,UAAJ,CAAe,IAAAnC,OAAf,CAAA8D,UAAA,CAAqC7D,CAArC,CAA6CoC,CAA7C,CAA3B,CAAgF,CAAhF,CACA,OAAOrC,EArBwC,CAiCnDyC,EAAA+R,cAAA,CAAoC/R,CAAA4R,SAapC5R,EAAAqC,SAAA;AAA+B2P,QAAQ,CAACnR,CAAD,CAAWkO,CAAX,CAAkBC,CAAlB,CAAuB,CAC1D,GAAwB,WAAxB,GAAI,MAAOnO,EAAX,CACI,MAAO,sBAAP,CAA8B,IAAArD,OAA9B,CAA0C,gBAA1C,CAA2D,IAAAmC,aAA3D,CAA6E,SAA7E,CAAuF,IAAAC,MAAvF,CAAkG,YAAlG,CAA+G,IAAAZ,SAAA,EAA/G,CAA+H,GAC3G,SAAxB,GAAI,MAAO6B,EAAX,GAGImO,CAHJ,CAEID,CAFJ,CACIlO,CADJ,CACe,MADf,CAIA,QAAQA,CAAR,EACI,KAAK,MAAL,CACI,MAAO,KAAAoR,OAAA,CAAYlD,CAAZ,CAAmBC,CAAnB,CACX,MAAK,QAAL,CACI,MAAO,KAAAkD,SAAA,CAAcnD,CAAd,CAAqBC,CAArB,CACX,MAAK,KAAL,CACI,MAAO,KAAAmD,MAAA,CAAWpD,CAAX,CAAkBC,CAAlB,CACX,MAAK,QAAL,CACI,MAAO,KAAAoD,SAAA,CAAcrD,CAAd,CAAqBC,CAArB,CACX,MAAK,OAAL,CACI,MAAO,KAAAiC,QAAA,EACX,MAAK,SAAL,CACI,MAAO,KAAAoB,UAAA,EACX,SACI,KAAMtQ,MAAA,CAAM,wBAAN,CAA+BlB,CAA/B,CAAN,CAdR,CAP0D,CAgC9D,KAAIyR,EAAO,QAAQ,EAAG,CA4BlB,IApBA,IAAIA;AAAO,EAAX,CAOIC,EAAO,CACP,EADO,CACH,EADG,CACC,EADD,CACK,EADL,CACS,EADT,CACa,EADb,CACiB,EADjB,CACqB,EADrB,CACyB,EADzB,CAC6B,EAD7B,CACiC,EADjC,CACqC,EADrC,CACyC,EADzC,CAC6C,EAD7C,CACiD,EADjD,CACqD,EADrD,CAEP,EAFO,CAEH,EAFG,CAEC,EAFD,CAEK,EAFL,CAES,EAFT,CAEa,EAFb,CAEiB,EAFjB,CAEqB,EAFrB,CAEyB,EAFzB,CAE6B,EAF7B,CAEiC,EAFjC,CAEqC,EAFrC,CAEyC,EAFzC,CAE6C,GAF7C,CAEkD,GAFlD,CAEuD,GAFvD,CAGP,GAHO,CAGF,GAHE,CAGG,GAHH,CAGQ,GAHR,CAGa,GAHb,CAGkB,GAHlB,CAGuB,GAHvB,CAG4B,GAH5B,CAGiC,GAHjC,CAGsC,GAHtC,CAG2C,GAH3C,CAGgD,GAHhD,CAGqD,GAHrD,CAG0D,GAH1D,CAG+D,GAH/D,CAGoE,GAHpE,CAIP,GAJO,CAIF,GAJE,CAIG,GAJH,CAIQ,GAJR,CAIa,EAJb,CAIiB,EAJjB,CAIqB,EAJrB,CAIyB,EAJzB,CAI6B,EAJ7B,CAIiC,EAJjC,CAIqC,EAJrC,CAIyC,EAJzC,CAI6C,EAJ7C,CAIiD,EAJjD,CAIqD,EAJrD,CAIyD,EAJzD,CAPX,CAmBIC,EAAM,EAnBV,CAoBShW,EAAE,CApBX,CAoBcuE,EAAEwR,CAAA9V,OAAhB,CAA6BD,CAA7B,CAA+BuE,CAA/B,CAAkC,EAAEvE,CAApC,CACIgW,CAAA,CAAID,CAAA,CAAK/V,CAAL,CAAJ,CAAA,CAAeA,CASnB8V,EAAAG,OAAA,CAAcC,QAAQ,CAACC,CAAD,CAAMC,CAAN,CAAW,CAE7B,IAF6B,IACzB/J,CADyB,CACtBgK,CACP,CAAuB,IAAvB,IAAQhK,CAAR,CAAY8J,CAAA,EAAZ,EAAA,CACIC,CAAA,CAAIL,CAAA,CAAM1J,CAAN,EAAS,CAAT,CAAY,EAAZ,CAAJ,CAEA,CADAgK,CACA,EADKhK,CACL,CADO,CACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAAS8J,CAAA,EAAT,GACIE,CAGA,EAHMhK,CAGN,EAHS,CAGT,CAHY,EAGZ,CAFA+J,CAAA,CAAIL,CAAA,EAAMM,CAAN,CAAUhK,CAAV,EAAa,CAAb,CAAgB,EAAhB,EAAsB,EAAtB,CAAJ,CAEA,CADAgK,CACA,EADKhK,CACL,CADO,EACP,GADa,CACb,CAAoB,IAApB,IAAKA,CAAL,CAAS8J,CAAA,EAAT,GACIC,CAAA,CAAIL,CAAA,EAAMM,CAAN,CAAUhK,CAAV,EAAa,CAAb,CAAgB,CAAhB,EAAsB,EAAtB,CAAJ,CACA,CAAA+J,CAAA,CAAIL,CAAA,CAAK1J,CAAL,CAAO,EAAP,CAAJ,CAFJ,GAII+J,CAAA,CAAIL,CAAA,CAAKM,CAAL,CAAO,EAAP,CAAJ,CACA,CAAAD,CAAA,CAAI,EAAJ,CALJ,CAJJ,GAWIA,CAAA,CAAIL,CAAA,CAAKM,CAAL,CAAO,EAAP,CAAJ,CAEA,CADAD,CAAA,CAAI,EAAJ,CACA,CAAAA,CAAA,CAAI,EAAJ,CAbJ,CALyB,CA6BjCN,EAAAQ,OAAA,CAAcC,QAAQ,CAACJ,CAAD;AAAMC,CAAN,CAAW,CAE7BI,QAASA,EAAI,CAACxU,CAAD,CAAI,CACb,KAAMuD,MAAA,CAAM,0BAAN,CAAiCvD,CAAjC,CAAN,CADa,CAGjB,IAL6B,IACzBA,CADyB,CACtByU,CADsB,CAClBC,CAIX,CAAuB,IAAvB,IAAQ1U,CAAR,CAAYmU,CAAA,EAAZ,EAAA,CAGI,GAFAM,CAEI,CAFCT,CAAA,CAAIhU,CAAJ,CAED,CADc,WACd,GADA,MAAOyU,EACP,EAD2BD,CAAA,CAAKxU,CAAL,CAC3B,CAAgB,IAAhB,IAACA,CAAD,CAAKmU,CAAA,EAAL,IACAO,CAGI,CAHCV,CAAA,CAAIhU,CAAJ,CAGD,CAFc,WAEd,GAFA,MAAO0U,EAEP,EAF2BF,CAAA,CAAKxU,CAAL,CAE3B,CADJoU,CAAA,CAAKK,CAAL,EAAS,CAAT,GAAc,CAAd,EAAiBC,CAAjB,CAAoB,EAApB,GAA2B,CAA3B,CACI,CAAgB,IAAhB,IAAC1U,CAAD,CAAKmU,CAAA,EAAL,CAJJ,CAAJ,CAI8B,CACtBM,CAAA,CAAKT,CAAA,CAAIhU,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAOyU,EAAX,CACI,GAAU,EAAV,GAAIzU,CAAJ,CAAc,KAAd,KAA0BwU,EAAA,CAAKxU,CAAL,CAC9BoU,EAAA,EAAMM,CAAN,CAAS,EAAT,GAAe,CAAf,GAAoB,CAApB,EAAuBD,CAAvB,CAA0B,EAA1B,GAAiC,CAAjC,CACA,IAAoB,IAApB,IAAKzU,CAAL,CAASmU,CAAA,EAAT,EAA0B,CACtBO,CAAA,CAAKV,CAAA,CAAIhU,CAAJ,CACL,IAAkB,WAAlB,GAAI,MAAO0U,EAAX,CACI,GAAU,EAAV,GAAI1U,CAAJ,CAAc,KAAd,KAA0BwU,EAAA,CAAKxU,CAAL,CAC9BoU,EAAA,EAAMK,CAAN,CAAS,CAAT,GAAe,CAAf,GAAoB,CAApB,CAAsBC,CAAtB,CAJsB,CALJ,CAZL,CAiCjCZ,EAAAa,KAAA,CAAYC,QAAQ,CAAC9H,CAAD,CAAM,CACtB,MAAO,kEAAA6H,KAAA,CAAwE7H,CAAxE,CADe,CAI1B;MAAOgH,EAxGW,CAAX,EAqHXtS,EAAAkS,SAAA,CAA+BmB,QAAQ,CAACtE,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAAvR,OADZ,CAEmB,YAAnB,GAAI,MAAOwR,EAAX,GACIA,CADJ,CACU,IAAApP,MADV,CAEQmP,EAAR,EAAgB,CAASC,EAAN,EAAY,CAC/B,IAAY,CAAZ,CAAID,CAAJ,EAAiBC,CAAjB,CAAuB,IAAAhQ,SAAvB,EAAwC+P,CAAxC,CAAgDC,CAAhD,CACI,KAAM1P,WAAA,CAAW,YAAX,CAAN,CACJ,IAAIwM,CAAIwG,EAAAG,OAAA,CAAY,QAAQ,EAAG,CAC3B,MAAO1D,EAAA,CAAQC,CAAR,CAAc,IAAAvP,KAAA,CAAUsP,CAAA,EAAV,CAAd,CAAmC,IADf,CAAXpD,KAAA,CAEb,IAFa,CAAZ,CAEMG,CAFN,CAEWnP,CAAA,EAFX,CAGR,OAAOmP,EAAA,EAXyC,CAsBpD/M,EAAA2C,WAAA,CAAwB4R,QAAQ,CAAChI,CAAD,CAAMrM,CAAN,CAAoB,CAChD,GAAmB,QAAnB,GAAI,MAAOqM,EAAX,CACI,KAAMtJ,UAAA,CAAU,KAAV,CAAN,CAF4C,IAG5Cd,EAAK,IAAInC,CAAJ,CAAeuM,CAAA7O,OAAf,CAA0B,CAA1B,CAA4B,CAA5B,CAA+BwC,CAA/B,CAHuC,CAI5CzC,EAAI,CACR8V,EAAAQ,OAAA,CAAYxW,CAAA,CAAagP,CAAb,CAAZ,CAA+B,QAAQ,CAACzC,CAAD,CAAI,CACvC3H,CAAAzB,KAAA,CAAQjD,CAAA,EAAR,CAAA,CAAeqM,CADwB,CAA3C,CAGA3H,EAAAtB,MAAA,CAAWpD,CACX,OAAO0E,EATyC,CAmBpDnC,EAAAwU,KAAA,CAAkBC,QAAQ,CAAClI,CAAD,CAAM,CAC5B,MAAOvM,EAAA6C,WAAA,CAAsB0J,CAAtB,CAAA4G,SAAA,EADqB,CAWhCnT,EAAA0U,KAAA;AAAkBC,QAAQ,CAACC,CAAD,CAAM,CAC5B,MAAO5U,EAAA2C,WAAA,CAAsBiS,CAAtB,CAAAvB,SAAA,EADqB,CAchCpS,EAAAoS,SAAA,CAA+BwB,QAAQ,CAAC7E,CAAD,CAAQC,CAAR,CAAa,CAC3B,WAArB,GAAI,MAAOD,EAAX,GACIA,CADJ,CACY,IAAAvR,OADZ,CAEmB,YAAnB,GAAI,MAAOwR,EAAX,GACIA,CADJ,CACU,IAAApP,MADV,CAEAmP,EAAA,EAAS,CAAGC,EAAA,EAAO,CACnB,IAAY,CAAZ,CAAID,CAAJ,EAAiBC,CAAjB,CAAuB,IAAAhQ,SAAA,EAAvB,EAA0C+P,CAA1C,CAAkDC,CAAlD,CACI,KAAM1P,WAAA,CAAW,YAAX,CAAN,CACJ,GAAIyP,CAAJ,GAAcC,CAAd,CACI,MAAO,EAGX,KAZgD,IAU5C6E,EAAQ,EAVoC,CAW5CC,EAAQ,EACZ,CAAO/E,CAAP,CAAeC,CAAf,CAAA,CACI6E,CAAA1W,KAAA,CAAW,IAAAsC,KAAA,CAAUsP,CAAA,EAAV,CAAX,CACA,CAAoB,IAApB,EAAI8E,CAAApX,OAAJ,GACIqX,CAAA3W,KAAA,CAAWD,MAAAmD,aAAApD,MAAA,CAA0BC,MAA1B,CAAkC2W,CAAlC,CAAX,CACA,CAAAA,CAAA,CAAQ,EAFZ,CAIJ,OAAOC,EAAA/W,KAAA,CAAW,EAAX,CAAP,CAAwBG,MAAAmD,aAAApD,MAAA,CAA0BC,MAA1B,CAAkC2W,CAAlC,CAlBwB,CA6BpD9U,EAAA6C,WAAA,CAAwBmS,QAAQ,CAACzI,CAAD,CAAMrM,CAAN,CAAoB,CAChD,GAAmB,QAAnB,GAAI,MAAOqM,EAAX,CACI,KAAMtJ,UAAA,CAAU,KAAV,CAAN,CAKJ,IAPgD,IAG5CxF,EAAI,CAHwC,CAI5CuE,EAAIuK,CAAA7O,OAJwC;AAM5CyE,EAAK,IAAInC,CAAJ,CAAegC,CAAf,CAAkB9B,CAAlB,CACT,CAAOzC,CAAP,CAASuE,CAAT,CAAA,CAAY,CACRiT,CAAA,CAAW1I,CAAA5O,WAAA,CAAeF,CAAf,CACX,IAAe,GAAf,CAAIwX,CAAJ,CACI,KAAM1U,WAAA,CAAW,qBAAX,CAAiC0U,CAAjC,CAAN,CACJ9S,CAAAzB,KAAA,CAAQjD,CAAA,EAAR,CAAA,CAAewX,CAJP,CAMZ9S,CAAAtB,MAAA,CAAWmB,CACX,OAAOG,EAdyC,CAoCpDlB,EAAAiR,QAAA,CAA8BgD,QAAQ,CAACC,CAAD,CAAU,CAO5C,IAP4C,IACxC1X,EAAK,EADmC,CAExCuE,EAAI,IAAAxD,OAAA6E,WAFoC,CAGxCyG,CAHwC,CAIxCsL,EAAM,EAJkC,CAKxCC,EAAM,EALkC,CAMxCrD,EAAM,EACV,CAAOvU,CAAP,CAASuE,CAAT,CAAA,CAAY,CACG,EAAX,GAAIvE,CAAJ,GACIqM,CAGA,CAHI,IAAApJ,KAAA,CAAUjD,CAAV,CAGJ,CAFc2X,CAEd,CAFQ,EAAR,CAAItL,CAAJ,CAAcsL,CAAd,EAAqB,GAArB,CAAyBtL,CAAAxG,SAAA,CAAW,EAAX,CAAAgS,YAAA,EAAzB,EACKF,CADL,CACYtL,CAAAxG,SAAA,CAAW,EAAX,CAAAgS,YAAA,EACZ,CAAIH,CAAJ,GACIE,CADJ,EACe,EAAJ,CAAAvL,CAAA,EAAc,GAAd,CAAUA,CAAV,CAAoB3L,MAAAmD,aAAA,CAAoBwI,CAApB,CAApB,CAA6C,GADxD,CAJJ,CAOA,GAAErM,CACF,IAAI0X,CAAJ,EACY,CADZ,CACQ1X,CADR,EAC4B,CAD5B,GACiBA,CADjB,CACqB,EADrB,EACiCA,CADjC,GACuCuE,CADvC,CAC0C,CAClC,IAAA,CAAoB,EAApB,CAAOoT,CAAA1X,OAAP,CAAA,CAA4B0X,CAAA,EAAO,GACnCpD,EAAA,EAAOoD,CAAP,CAAWC,CAAX,CAAe,IACfD,EAAA,CAAMC,CAAN,CAAY,EAHsB,CAOtCD,CAAA,CADA3X,CAAJ,GAAU,IAAAgB,OAAV,EAAyBhB,CAAzB,GAA+B,IAAAoD,MAA/B,CACIuU,CADJ,EACW3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAgC,GAD3C,EAESnD,CAAJ,GAAU,IAAAgB,OAAV;AACD2W,CADC,EACM3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAEInD,CAAJ,GAAU,IAAAoD,MAAV,CACDuU,CADC,EACM3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAgC,GADtC,EAGDwU,CAHC,EAGM3X,CAAA,GAAM,IAAAmD,aAAN,CAA0B,GAA1B,CAAiCuU,CAAA,EAAkB,CAAlB,GAAY1X,CAAZ,EAAuBA,CAAvB,GAA6BuE,CAA7B,CAAkC,GAAlC,CAAwC,EAH/E,CApBG,CAyBZ,GAAImT,CAAJ,EAAuB,GAAvB,GAAeC,CAAf,CAA4B,CACxB,IAAA,CAAoB,EAApB,CAAOA,CAAA1X,OAAP,CAAA,CACI0X,CAAA,EAAO,GACXpD,EAAA,EAAOoD,CAAP,CAAaC,CAAb,CAAmB,IAHK,CAK5B,MAAOF,EAAA,CAAUnD,CAAV,CAAgBoD,CArCqB,CAmDhDpV,EAAA+C,UAAA,CAAuBwS,QAAQ,CAAChJ,CAAD,CAAMrM,CAAN,CAAoBC,CAApB,CAA8B,CAAA,IACrD6B,EAAIuK,CAAA7O,OACJyE,EAAAA,CAAK,IAAInC,CAAJ,EAAiBgC,CAAjB,CAAmB,CAAnB,EAAsB,CAAtB,CAAyB,CAAzB,CAA4B9B,CAA5B,CAA0CC,CAA1C,CAKT,KAPyD,IAGrD1C,EAAI,CAHiD,CAG9C+X,EAAI,CAH0C,CAGvCC,CAHuC,CAIrDC,EAAK,CAAA,CAJgD,CAKrDC,EAAK,CAAA,CALgD,CAKzCC,EAAK,CAAA,CALoC,CAK7BC,EAAK,CAAA,CALwB,CAMrD5B,EAAO,CAAA,CACX,CAAOxW,CAAP,CAASuE,CAAT,CAAA,CAAY,CACR,OAAQyT,CAAR,CAAalJ,CAAAuJ,OAAA,CAAWrY,CAAA,EAAX,CAAb,EACI,KAAK,GAAL,CACI,GAAI,CAAC0C,CAAL,CAAe,CACX,GAAIwV,CAAJ,EAAUC,CAAV,EAAgBC,CAAhB,CAAoB,CAChB5B,CAAA,CAAO,CAAA,CACP,MAFgB,CAIpB0B,CAAA,CAAKC,CAAL,CAAUC,CAAV,CAAe,CAAA,CALJ,CAOf1T,CAAA1D,OAAA,CAAY0D,CAAAvB,aAAZ,CAA8BuB,CAAAtB,MAA9B,CAAyC2U,CACzCE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAI,CAACvV,CAAL,CAAe,CACX,GAAIwV,CAAJ,EAAUE,CAAV,CAAc,CACV5B,CAAA,CAAO,CAAA,CACP,MAFU,CAId0B,CAAA,CAAKE,CAAL,CAAU,CAAA,CALC,CAOf1T,CAAA1D,OAAA,CAAY0D,CAAAtB,MAAZ,CAAuB2U,CACvBE,EAAA,CAAK,CAAA,CACL;KACJ,MAAK,GAAL,CACI,GAAI,CAACvV,CAAL,CAAe,CACX,GAAIwV,CAAJ,EAAUC,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CACP,MAFU,CAId0B,CAAA,CAAKC,CAAL,CAAU,CAAA,CALC,CAOfzT,CAAA1D,OAAA,CAAY0D,CAAAvB,aAAZ,CAA8B4U,CAC9BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAI,CAACvV,CAAL,CAAe,CACX,GAAIwV,CAAJ,CAAQ,CACJ1B,CAAA,CAAO,CAAA,CACP,MAFI,CAIR0B,CAAA,CAAK,CAAA,CALM,CAOfxT,CAAA1D,OAAA,CAAY+W,CACZE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAI,CAACvV,CAAL,CAAe,CACX,GAAI0V,CAAJ,EAAUD,CAAV,CAAc,CACV3B,CAAA,CAAO,CAAA,CACP,MAFU,CAId4B,CAAA,CAAKD,CAAL,CAAU,CAAA,CALC,CAOfzT,CAAAtB,MAAA,CAAWsB,CAAAvB,aAAX,CAA6B4U,CAC7BE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAI,CAACvV,CAAL,CAAe,CACX,GAAI0V,CAAJ,CAAQ,CACJ5B,CAAA,CAAO,CAAA,CACP,MAFI,CAIR4B,CAAA,CAAK,CAAA,CALM,CAOf1T,CAAAtB,MAAA,CAAW2U,CACXE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACI,GAAI,CAACvV,CAAL,CAAe,CACX,GAAIyV,CAAJ,CAAQ,CACJ3B,CAAA,CAAO,CAAA,CACP,MAFI,CAIR2B,CAAA,CAAK,CAAA,CALM,CAOfzT,CAAAvB,aAAA,CAAkB4U,CAClBE,EAAA,CAAK,CAAA,CACL,MACJ,MAAK,GAAL,CACIA,CAAA,CAAK,CAAA,CACL,MACJ,SACI,GAAI,CAACvV,CAAL,EACQuV,CADR,CAEQzB,CAAA,CAAO,CAAA,CAFf,KAAA,CAMAnK,CAAA,CAAIiM,QAAA,CAASN,CAAT,CAAYlJ,CAAAuJ,OAAA,CAAWrY,CAAA,EAAX,CAAZ,CAA6B,EAA7B,CACJ,IAAI,CAAC0C,CAAL,GACQP,KAAA,CAAMkK,CAAN,CADR,EACwB,CADxB,CACoBA,CADpB,EACiC,GADjC,CAC6BA,CAD7B,EAEQ,KAAM7G,UAAA,CAAU,yCAAV,CAAN;AAERd,CAAAzB,KAAA,CAAQ8U,CAAA,EAAR,CAAA,CAAe1L,CACf4L,EAAA,CAAK,CAAA,CAZL,CAlFR,CAgGA,GAAIzB,CAAJ,CACI,KAAMhR,UAAA,CAAU,iCAAV,CAA4CxF,CAA5C,CAAN,CAlGI,CAoGZ,GAAI,CAAC0C,CAAL,CAAe,CACX,GAAI,CAACwV,CAAL,EAAW,CAACE,CAAZ,CACI,KAAM5S,UAAA,CAAU,sCAAV,CAAN,CACJ,GAAIuS,CAAJ,CAAMrT,CAAA3D,OAAA6E,WAAN,CACI,KAAMJ,UAAA,CAAU,uDAAV,CAAkEuS,CAAlE,CAAoE,KAApE,CAA0ExT,CAA1E,CAAN,CAJO,CAMf,MAAOG,EAjHkD,CA6H7DlB,EAAAmS,MAAA,CAA4B4C,QAAQ,CAAChG,CAAD,CAAQC,CAAR,CAAa,CAC7CD,CAAA,CAAyB,WAAjB,GAAA,MAAOA,EAAP,CAA+B,IAAAvR,OAA/B,CAA6CuR,CACrDC,EAAA,CAAqB,WAAf,GAAA,MAAOA,EAAP,CAA6B,IAAApP,MAA7B,CAA0CoP,CAChD,IAAI,CAAC,IAAA9P,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN,CACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX;AAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAYpB,IAf6C,IAazC2O,EAAU3T,KAAJ,CAAU4R,CAAV,CAAgBD,CAAhB,CAbmC,CAczClG,CACJ,CAAOkG,CAAP,CAAeC,CAAf,CAAA,CACInG,CACA,CADI,IAAApJ,KAAA,CAAUsP,CAAA,EAAV,CACJ,CAAQ,EAAR,CAAIlG,CAAJ,CACIkI,CAAA5T,KAAA,CAAS,GAAT,CAAc0L,CAAAxG,SAAA,CAAW,EAAX,CAAd,CADJ,CAEK0O,CAAA5T,KAAA,CAAS0L,CAAAxG,SAAA,CAAW,EAAX,CAAT,CAET,OAAO0O,EAAAhU,KAAA,CAAS,EAAT,CArBsC,CAkCjDgC,EAAA4C,QAAA,CAAqBqT,QAAQ,CAAC1J,CAAD,CAAMrM,CAAN,CAAoBC,CAApB,CAA8B,CACvD,GAAI,CAACA,CAAL,CAAe,CACX,GAAmB,QAAnB,GAAI,MAAOoM,EAAX,CACI,KAAMtJ,UAAA,CAAU,2BAAV,CAAN,CACJ,GAAuB,CAAvB,GAAIsJ,CAAA7O,OAAJ,CAAiB,CAAjB,CACI,KAAMuF,UAAA,CAAU,yCAAV,CAAN,CAJO,CADwC,IAOnDjB,EAAIuK,CAAA7O,OACJyE,EAAAA,CAAK,IAAInC,CAAJ,CAAgBgC,CAAhB;AAAoB,CAApB,CAAyB,CAAzB,CAA4B9B,CAA5B,CAET,KAHA,IAEI4J,CAFJ,CAGSrM,EAAE,CAHX,CAGc+X,EAAE,CAAhB,CAAmB/X,CAAnB,CAAqBuE,CAArB,CAAwBvE,CAAxB,EAA2B,CAA3B,CAA8B,CAC1BqM,CAAA,CAAIiM,QAAA,CAASxJ,CAAA2J,UAAA,CAAczY,CAAd,CAAiBA,CAAjB,CAAmB,CAAnB,CAAT,CAAgC,EAAhC,CACJ,IAAI,CAAC0C,CAAL,GACQ,CAACgW,QAAA,CAASrM,CAAT,CADT,EAC4B,CAD5B,CACwBA,CADxB,EACqC,GADrC,CACiCA,CADjC,EAEQ,KAAM7G,UAAA,CAAU,0CAAV,CAAN,CACRd,CAAAzB,KAAA,CAAQ8U,CAAA,EAAR,CAAA,CAAe1L,CALW,CAO9B3H,CAAAtB,MAAA,CAAW2U,CACX,OAAOrT,EAlBgD,CA4B3D,KAAIqK,EAAO,QAAQ,EAAG,CAQlB,IAAIA,EAAO,CAON,cAAgB,OAPV,CAeN,WAAa4J,QAAQ,CAACxC,CAAD,CAAMC,CAAN,CAAW,CACjC,IAAIvF,EAAK,IACU,SAAnB,GAAI,MAAOsF,EAAX,GACItF,CACA,CADKsF,CACL,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAFrB,CAGA,KAAA,CAAc,IAAd,GAAOtF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BsF,CAAA,EAA5B,EAAA,CACa,GAAT,CAAItF,CAAJ,CACIuF,CAAA,CAAIvF,CAAJ,CAAO,GAAP,CADJ,EAEc,IAAT,CAAIA,CAAJ,CACDuF,CAAA,CAAMvF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CADC,CAGS,KAAT,CAAIA,CAAJ,EACDuF,CAAA,CAAMvF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CAAA,CACAuF,CAAA,CAAMvF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CAFC,GAKDuF,CAAA,CAAMvF,CAAN,EAAU,EAAV,CAAc,CAAd,CAAoB,GAApB,CAAA,CACAuF,CAAA,CAAMvF,CAAN,EAAU,EAAV,CAAc,EAAd,CAAoB,GAApB,CADA,CAEAuF,CAAA,CAAMvF,CAAN,EAAU,CAAV,CAAa,EAAb,CAAmB,GAAnB,CAPC,CADD,CAAAuF,CAAA,CAAKvF,CAAL,CAAQ,EAAR,CAAc,GAAd,CAJJ,CAcA;AAAAA,CAAA,CAAK,IApBwB,CAf1B,CAgDN,WAAa+H,QAAQ,CAACzC,CAAD,CAAMC,CAAN,CAAW,CAQjC,IARiC,IAC7ByC,CAD6B,CAC1BxM,CAD0B,CACvBrK,CADuB,CACpBR,CADoB,CACjBgV,EAAOA,QAAQ,CAACnK,CAAD,CAAI,CAC/BA,CAAA,CAAIA,CAAAvF,MAAA,CAAQ,CAAR,CAAWuF,CAAAyM,QAAA,CAAU,IAAV,CAAX,CACJ,KAAIrM,EAAMlH,KAAA,CAAM8G,CAAAxG,SAAA,EAAN,CACV4G,EAAAsM,KAAA,CAAW,gBACXtM,EAAA,MAAA,CAAeJ,CACf,MAAMI,EAAN,CAL+B,CAOnC,CAAuB,IAAvB,IAAQoM,CAAR,CAAY1C,CAAA,EAAZ,EAAA,CACI,GAAiB,CAAjB,IAAK0C,CAAL,CAAO,GAAP,EACIzC,CAAA,CAAIyC,CAAJ,CADJ,KAEK,IAAiB,GAAjB,IAAKA,CAAL,CAAO,GAAP,EACgB,IACjB,IADExM,CACF,CADM8J,CAAA,EACN,GAD0BK,CAAA,CAAK,CAACqC,CAAD,CAAIxM,CAAJ,CAAL,CAC1B,CAAA+J,CAAA,EAAMyC,CAAN,CAAQ,EAAR,GAAe,CAAf,CAAqBxM,CAArB,CAAuB,EAAvB,CAFC,KAGA,IAAiB,GAAjB,IAAKwM,CAAL,CAAO,GAAP,EACc,IACf,IADExM,CACF,CADI8J,CAAA,EACJ,GADqC,IACrC,IADwBnU,CACxB,CAD0BmU,CAAA,EAC1B,GAD8CK,CAAA,CAAK,CAACqC,CAAD,CAAIxM,CAAJ,CAAOrK,CAAP,CAAL,CAC9C,CAAAoU,CAAA,EAAMyC,CAAN,CAAQ,EAAR,GAAe,EAAf,EAAuBxM,CAAvB,CAAyB,EAAzB,GAAgC,CAAhC,CAAsCrK,CAAtC,CAAwC,EAAxC,CAFC,KAGA,IAAiB,GAAjB,IAAK6W,CAAL,CAAO,GAAP,EACc,IACf,IADExM,CACF,CADI8J,CAAA,EACJ,GADqC,IACrC,IADwBnU,CACxB,CAD0BmU,CAAA,EAC1B,GAD2D,IAC3D,IAD8C3U,CAC9C,CADgD2U,CAAA,EAChD,GADoEK,CAAA,CAAK,CAACqC,CAAD,CAAIxM,CAAJ,CAAOrK,CAAP,CAAUR,CAAV,CAAL,CACpE,CAAA4U,CAAA,EAAMyC,CAAN,CAAQ,CAAR,GAAe,EAAf,EAAuBxM,CAAvB,CAAyB,EAAzB,GAAgC,EAAhC,EAAwCrK,CAAxC,CAA0C,EAA1C,GAAiD,CAAjD,CAAuDR,CAAvD,CAAyD,EAAzD,CAFC,KAGA,MAAMsB,WAAA,CAAW,yBAAX;AAAqC+V,CAArC,CAAN,CApBwB,CAhD1B,CA+EN,YAAcG,QAAQ,CAAC7C,CAAD,CAAMC,CAAN,CAAW,CAElC,IAFkC,IAC9B6C,CAD8B,CAC1BC,EAAK,IACb,CAC4C,IAD5C,IACSD,CADT,CACqB,IAAP,GAAAC,CAAA,CAAcA,CAAd,CAAmB/C,CAAA,EADjC,EAAA,CAGc,KAAV,EAAI8C,CAAJ,EAA0B,KAA1B,EAAoBA,CAApB,EACyB,IADzB,IACSC,CADT,CACc/C,CAAA,EADd,GAEkB,KAFlB,EAEY+C,CAFZ,EAEkC,KAFlC,EAE4BA,CAF5B,EAGY9C,CAAA,CAAgB,IAAhB,EAAK6C,CAAL,CAAQ,KAAR,EAAsBC,CAAtB,CAAyB,KAAzB,CAAgC,KAAhC,CACA,CAAAA,CAAA,CAAK,IAJjB,EAQA9C,CAAA,CAAI6C,CAAJ,CAEO,KAAX,GAAIC,CAAJ,EAAiB9C,CAAA,CAAI8C,CAAJ,CAfiB,CA/E3B,CAwGN,YAAcC,QAAQ,CAAChD,CAAD,CAAMC,CAAN,CAAW,CAClC,IAAIvF,EAAK,IACU,SAAnB,GAAI,MAAOsF,EAAX,GACItF,CAAU,CAALsF,CAAK,CAAAA,CAAA,CAAMA,QAAQ,EAAG,CAAE,MAAO,KAAT,CAD/B,CAEA,KAAA,CAAc,IAAd,GAAOtF,CAAP,EAAuC,IAAvC,IAAuBA,CAAvB,CAA4BsF,CAAA,EAA5B,EAAA,CACc,KAAV,EAAItF,CAAJ,CACIuF,CAAA,CAAIvF,CAAJ,CADJ,EAGIA,CAEA,EAFM,KAEN,CADAuF,CAAA,EAAKvF,CAAL,EAAS,EAAT,EAAa,KAAb,CACA,CAAAuF,CAAA,CAAKvF,CAAL,CAAQ,IAAR,CAAe,KAAf,CALJ,CAMA,CAAAA,CAAA,CAAK,IAXyB,CAxG3B,CA6HN,kBAAoBuI,QAAQ,CAACjD,CAAD,CAAMC,CAAN,CAAW,CACxCrH,CAAAsK,YAAA,CAAiBlD,CAAjB,CAAsB,QAAQ,CAACtF,CAAD,CAAK,CAC/B9B,CAAAuK,WAAA,CAAgBzI,CAAhB,CAAoBuF,CAApB,CAD+B,CAAnC,CADwC,CA7HjC,CA2IN,kBAAoBmD,QAAQ,CAACpD,CAAD,CAAMC,CAAN,CAAW,CACxCrH,CAAA6B,WAAA,CAAgBuF,CAAhB;AAAqB,QAAQ,CAACtF,CAAD,CAAK,CAC9B9B,CAAA+B,YAAA,CAAiBD,CAAjB,CAAqBuF,CAArB,CAD8B,CAAlC,CADwC,CA3IjC,CAsJN,mBAAqBoD,QAAQ,CAAC3I,CAAD,CAAK,CACnC,MAAa,IAAN,CAACA,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CAD9B,CAtJ5B,CAgKN,cAAgB4I,QAAQ,CAACtD,CAAD,CAAM,CAE/B,IAF+B,IAC3BtF,CAD2B,CACvBK,EAAE,CACV,CAAwB,IAAxB,IAAQL,CAAR,CAAasF,CAAA,EAAb,EAAA,CACIjF,CAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CACnE,OAAOK,EAJwB,CAhKxB,CA6KN,qBAAuBwI,QAAQ,CAACvD,CAAD,CAAM,CAAA,IAClCpK,EAAE,CADgC,CAC7BmF,EAAE,CACXnC,EAAAsK,YAAA,CAAiBlD,CAAjB,CAAsB,QAAQ,CAACtF,CAAD,CAAK,CAC/B,EAAE9E,CAAGmF,EAAA,EAAW,GAAN,CAACL,CAAD,CAAc,CAAd,CAAwB,IAAN,CAACA,CAAD,CAAe,CAAf,CAAyB,KAAN,CAACA,CAAD,CAAiB,CAAjB,CAAqB,CADrC,CAAnC,CAGA,OAAO,CAAC9E,CAAD,CAAGmF,CAAH,CAL+B,CA7K/B,CAqLX,OAAOnC,EA7LW,CAAX,EAyMXvL,EAAAiS,OAAA,CAA6BkE,QAAQ,CAACpH,CAAD,CAAQC,CAAR,CAAa,CACzB,WAArB,GAAI,MAAOD,EAAX,GAAkCA,CAAlC,CAA0C,IAAAvR,OAA1C,CACmB,YAAnB,GAAI,MAAOwR,EAAX,GAAgCA,CAAhC,CAAsC,IAAApP,MAAtC,CACA,IAAI,CAAC,IAAAV,SAAL,CAAoB,CAChB,GAAqB,QAArB,GAAI,MAAO6P,EAAX,EAA+C,CAA/C,GAAiCA,CAAjC,CAAyC,CAAzC,CACI,KAAM/M,UAAA,CAAU,+BAAV,CAAN;AACJ+M,CAAA,IAAW,CACX,IAAmB,QAAnB,GAAI,MAAOC,EAAX,EAA2C,CAA3C,GAA+BA,CAA/B,CAAqC,CAArC,CACI,KAAMhN,UAAA,CAAU,6BAAV,CAAN,CACJgN,CAAA,IAAS,CACT,IAAY,CAAZ,CAAID,CAAJ,EAAiBA,CAAjB,CAAyBC,CAAzB,EAAgCA,CAAhC,CAAsC,IAAAzR,OAAA6E,WAAtC,CACI,KAAM9C,WAAA,CAAW,sBAAX,CAAkCyP,CAAlC,CAAwC,MAAxC,CAA+CC,CAA/C,CAAmD,MAAnD,CAA0D,IAAAzR,OAAA6E,WAA1D,CAAN,CARY,CAUpB,IAAI0J,CAAI,IAAI,CACRP,CAAAQ,kBAAA,CAAuB,QAAQ,EAAG,CAC9B,MAAOgD,EAAA,CAAQC,CAAR,CAAc,IAAAvP,KAAA,CAAUsP,CAAA,EAAV,CAAd,CAAmC,IADZ,CAAXpD,KAAA,CAEhB,IAFgB,CAAvB,CAEcG,CAFd,CAEmBnP,CAAA,EAFnB,CADQ,CAIV,MAAON,CAAP,CAAU,CACR,GAAI0S,CAAJ,GAAcC,CAAd,CACI,KAAM1P,WAAA,CAAW,iCAAX,CAA6CyP,CAA7C,CAAmD,MAAnD,CAA0DC,CAA1D,CAAN,CAFI,CAIZ,MAAOlD,EAAA,EArBuC,CAkClD/M,EAAA8C,SAAA,CAAsBuU,QAAQ,CAAC9K,CAAD,CAAMrM,CAAN,CAAoBC,CAApB,CAA8B,CACxD,GAAI,CAACA,CAAL,EACuB,QADvB,GACQ,MAAOoM,EADf,CAEQ,KAAMtJ,UAAA,CAAU,2BAAV,CAAN,CAHgD,IAIpDd;AAAK,IAAInC,CAAJ,CAAewM,CAAAC,qBAAA,CAA0BlP,CAAA,CAAagP,CAAb,CAA1B,CAA6C,CAAA,CAA7C,CAAA,CAAmD,CAAnD,CAAf,CAAsErM,CAAtE,CAAoFC,CAApF,CAJ+C,CAKpD1C,EAAI,CACR+O,EAAAG,kBAAA,CAAuBpP,CAAA,CAAagP,CAAb,CAAvB,CAA0C,QAAQ,CAACzC,CAAD,CAAI,CAClD3H,CAAAzB,KAAA,CAAQjD,CAAA,EAAR,CAAA,CAAeqM,CADmC,CAAtD,CAGA3H,EAAAtB,MAAA,CAAWpD,CACX,OAAO0E,EAViD,CAa5D,OAAOnC,EA9nHa,CAZxB;", "sources":["dist/bytebuffer.js"], -"names":["global","factory","define","require","module","Long","e","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","buffer","offset","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeBytes","append","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","readInt8","ByteBufferPrototype.readInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","b","capacity10","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","a","indexOf","name","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8"] +"names":["global","factory","define","require","module","Long","e","stringSource","s","i","length","charCodeAt","stringDestination","cs","ps","arguments","join","stringFromCharCode","apply","String","push","Array","prototype","ieee754_read","buffer","offset","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","m","NaN","Infinity","Math","pow","ieee754_write","value","c","rt","abs","isNaN","floor","log","LN2","ByteBuffer","capacity","littleEndian","noAssert","DEFAULT_CAPACITY","DEFAULT_ENDIAN","DEFAULT_NOASSERT","RangeError","EMPTY_BUFFER","ArrayBuffer","view","Uint8Array","markedOffset","limit","VERSION","LITTLE_ENDIAN","BIG_ENDIAN","ByteBufferPrototype","Object","defineProperty","enumerable","configurable","fromCharCode","accessor","ByteBuffer.accessor","allocate","ByteBuffer.allocate","concat","ByteBuffer.concat","buffers","encoding","undefined","k","isByteBuffer","wrap","bb","bi","set","subarray","ByteBuffer.isByteBuffer","type","ByteBuffer.type","ByteBuffer.wrap","fromBase64","fromHex","fromBinary","fromUTF8","fromDebug","Error","TypeError","clone","call","byteOffset","byteLength","toString","writeBitSet","ByteBufferPrototype.writeBitSet","relative","start","bits","bytes","bit","writeVarint32","writeByte","readBitSet","ByteBufferPrototype.readBitSet","ret","readVarint32","readByte","readBytes","ByteBufferPrototype.readBytes","slice","writeInt8","ByteBufferPrototype.writeInt8","capacity0","resize","readInt8","ByteBufferPrototype.readInt8","writeUint8","ByteBufferPrototype.writeUint8","capacity1","writeUInt8","readUint8","ByteBufferPrototype.readUint8","readUInt8","writeInt16","ByteBufferPrototype.writeInt16","capacity2","writeShort","readInt16","ByteBufferPrototype.readInt16","readShort","writeUint16","ByteBufferPrototype.writeUint16","capacity3","writeUInt16","readUint16","ByteBufferPrototype.readUint16","readUInt16","writeInt32","ByteBufferPrototype.writeInt32","capacity4","writeInt","readInt32","ByteBufferPrototype.readInt32","readInt","writeUint32","ByteBufferPrototype.writeUint32","capacity5","writeUInt32","readUint32","ByteBufferPrototype.readUint32","readUInt32","writeInt64","ByteBufferPrototype.writeInt64","fromNumber","fromString","capacity6","lo","low","hi","high","writeLong","readInt64","ByteBufferPrototype.readInt64","readLong","writeUint64","ByteBufferPrototype.writeUint64","capacity7","writeUInt64","readUint64","ByteBufferPrototype.readUint64","readUInt64","writeFloat32","ByteBufferPrototype.writeFloat32","capacity8","writeFloat","readFloat32","ByteBufferPrototype.readFloat32","readFloat","writeFloat64","ByteBufferPrototype.writeFloat64","capacity9","writeDouble","readFloat64","ByteBufferPrototype.readFloat64","readDouble","MAX_VARINT32_BYTES","calculateVarint32","ByteBuffer.calculateVarint32","zigZagEncode32","ByteBuffer.zigZagEncode32","n","zigZagDecode32","ByteBuffer.zigZagDecode32","ByteBufferPrototype.writeVarint32","size","capacity10","b","writeVarint32ZigZag","ByteBufferPrototype.writeVarint32ZigZag","ByteBufferPrototype.readVarint32","err","readVarint32ZigZag","ByteBufferPrototype.readVarint32ZigZag","val","MAX_VARINT64_BYTES","calculateVarint64","ByteBuffer.calculateVarint64","part0","toInt","part1","shiftRightUnsigned","part2","zigZagEncode64","ByteBuffer.zigZagEncode64","unsigned","toSigned","shiftLeft","xor","shiftRight","toUnsigned","zigZagDecode64","ByteBuffer.zigZagDecode64","and","ONE","negate","writeVarint64","ByteBufferPrototype.writeVarint64","capacity11","writeVarint64ZigZag","ByteBufferPrototype.writeVarint64ZigZag","readVarint64","ByteBufferPrototype.readVarint64","fromBits","readVarint64ZigZag","ByteBufferPrototype.readVarint64ZigZag","writeCString","ByteBufferPrototype.writeCString","str","utfx","calculateUTF16asUTF8","capacity12","encodeUTF16toUTF8","bind","readCString","ByteBufferPrototype.readCString","sd","decodeUTF8toUTF16","writeIString","ByteBufferPrototype.writeIString","capacity13","readIString","ByteBufferPrototype.readIString","len","readUTF8String","METRICS_BYTES","METRICS_CHARS","writeUTF8String","ByteBufferPrototype.writeUTF8String","capacity14","writeString","calculateUTF8Chars","ByteBuffer.calculateUTF8Chars","calculateUTF8Bytes","ByteBuffer.calculateUTF8Bytes","calculateString","ByteBufferPrototype.readUTF8String","metrics","decodeUTF8","cp","UTF8toUTF16","readString","writeVString","ByteBufferPrototype.writeVString","l","capacity15","readVString","ByteBufferPrototype.readVString","append","ByteBufferPrototype.append","source","capacity16","appendTo","ByteBufferPrototype.appendTo","target","writeBytes","assert","ByteBufferPrototype.assert","ByteBufferPrototype.capacity","clear","ByteBufferPrototype.clear","ByteBufferPrototype.clone","copy","compact","ByteBufferPrototype.compact","begin","end","ByteBufferPrototype.copy","copyTo","ByteBufferPrototype.copyTo","targetOffset","sourceOffset","sourceLimit","targetRelative","ensureCapacity","ByteBufferPrototype.ensureCapacity","current","fill","ByteBufferPrototype.fill","flip","ByteBufferPrototype.flip","mark","ByteBufferPrototype.mark","order","ByteBufferPrototype.order","LE","ByteBufferPrototype.LE","BE","ByteBufferPrototype.BE","bigEndian","prepend","ByteBufferPrototype.prepend","diff","prependTo","ByteBufferPrototype.prependTo","printDebug","ByteBufferPrototype.printDebug","out","console","toDebug","remaining","ByteBufferPrototype.remaining","reset","ByteBufferPrototype.reset","ByteBufferPrototype.resize","reverse","ByteBufferPrototype.reverse","skip","ByteBufferPrototype.skip","ByteBufferPrototype.slice","toBuffer","ByteBufferPrototype.toBuffer","forceCopy","toArrayBuffer","ByteBufferPrototype.toString","toUTF8","toBase64","toHex","toBinary","toColumns","lxiv","aout","ain","encode","lxiv.encode","src","dst","t","decode","lxiv.decode","fail","t1","t2","test","lxiv.test","ByteBufferPrototype.toBase64","ByteBuffer.fromBase64","btoa","ByteBuffer.btoa","atob","ByteBuffer.atob","b64","ByteBufferPrototype.toBinary","chars","parts","ByteBuffer.fromBinary","charCode","ByteBufferPrototype.toDebug","columns","hex","asc","toUpperCase","ByteBuffer.fromDebug","j","ch","rs","ho","hm","hl","charAt","parseInt","ByteBufferPrototype.toHex","ByteBuffer.fromHex","substring","isFinite","utfx.encodeUTF8","utfx.decodeUTF8","a","indexOf","name","utfx.UTF16toUTF8","c1","c2","utfx.UTF8toUTF16","utfx.encodeUTF16toUTF8","UTF16toUTF8","encodeUTF8","utfx.decodeUTF8toUTF16","utfx.calculateCodePoint","utfx.calculateUTF8","utfx.calculateUTF16asUTF8","ByteBufferPrototype.toUTF8","ByteBuffer.fromUTF8"] } diff --git a/src/methods/append.js b/src/methods/append.js index c8fd87d..1dcefa7 100644 --- a/src/methods/append.js +++ b/src/methods/append.js @@ -56,3 +56,20 @@ ByteBufferPrototype.appendTo = function(target, offset) { return this; }; +/** + * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. + * @function + //? if (NODE) { + * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its + * offsets will be modified according to the performed read operation. + //? } else { + * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets + * will be modified according to the performed read operation. + //? } + * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") + * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes + * written if omitted. + * @returns {!ByteBuffer} this + * @expose + */ +ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; diff --git a/src/types/bytes/bytes.js b/src/types/bytes/bytes.js index df17180..18fc3d0 100644 --- a/src/types/bytes/bytes.js +++ b/src/types/bytes/bytes.js @@ -15,20 +15,3 @@ ByteBufferPrototype.readBytes = function(length, offset) { return slice; }; -/** - * Writes a payload of bytes. This is an alias of {@link ByteBuffer#append}. - * @function - //? if (NODE) { - * @param {!ByteBuffer|!Buffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its - * offsets will be modified according to the performed read operation. - //? } else { - * @param {!ByteBuffer|!ArrayBuffer|!Uint8Array|string} source Data to write. If `source` is a ByteBuffer, its offsets - * will be modified according to the performed read operation. - //? } - * @param {(string|number)=} encoding Encoding if `data` is a string ("base64", "hex", "binary", defaults to "utf8") - * @param {number=} offset Offset to write to. Will use and increase {@link ByteBuffer#offset} by the number of bytes - * written if omitted. - * @returns {!ByteBuffer} this - * @expose - */ -ByteBufferPrototype.writeBytes = ByteBufferPrototype.append; diff --git a/tests/suite.js b/tests/suite.js index 1e3829c..d8d7f4b 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -451,6 +451,20 @@ function makeSuite(ByteBuffer) { test.equal(bb2.toString("debug"), "56 78|"); test.done(); }; + + suite.methods.writeBytes = function(test) { + var bb = ByteBuffer.wrap("\x12\x34"); + var bb2 = ByteBuffer.wrap("\x56\x78"); + bb.offset = 2; + bb.writeBytes(bb2); // Modifies offsets of both + test.equal(bb.toString("debug"), "12 34>56 78<"); + test.equal(bb2.toString("debug"), "56 78|"); + bb2.reset(); + bb.writeBytes(bb2, 1); // Modifies offsets of bb2 only + test.equal(bb.toString("debug"), "12 56>78 78<"); + test.equal(bb2.toString("debug"), "56 78|"); + test.done(); + }; suite.methods.prepend = function(test) { var bb = ByteBuffer.wrap("\x12\x34"), From 4144951c7f583d9394d18487ff0b2b7474b1e775 Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Sat, 10 Mar 2018 23:18:08 +0100 Subject: [PATCH 91/91] Remove `noAssert` (#89) * Remove `noAssert` argument The `noAssert` argument support dropped in the upcoming Node.js 10.x release. This removes it therefore. * Fix failing test Asserting buffers with strictEqual is not possible. Those are two different objects and can only be compared with deepStrictEqual instead. --- src/types/floats/float32.js | 4 ++-- src/types/floats/float64.js | 8 ++++---- tests/suite.js | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/types/floats/float32.js b/src/types/floats/float32.js index ab5f4a7..a9208ae 100644 --- a/src/types/floats/float32.js +++ b/src/types/floats/float32.js @@ -22,8 +22,8 @@ ByteBufferPrototype.writeFloat32 = function(value, offset) { //? ENSURE_CAPACITY(4); //? if (NODE) { // FIXME: Is there any way to inline the following in a sane way? this.littleEndian - ? this.buffer.writeFloatLE(value, offset, true) - : this.buffer.writeFloatBE(value, offset, true); + ? this.buffer.writeFloatLE(value, offset) + : this.buffer.writeFloatBE(value, offset); //? } else if (DATAVIEW) this.view.setFloat32(offset, value, this.littleEndian); //? else diff --git a/src/types/floats/float64.js b/src/types/floats/float64.js index 30b3041..5a2584c 100644 --- a/src/types/floats/float64.js +++ b/src/types/floats/float64.js @@ -18,8 +18,8 @@ ByteBufferPrototype.writeFloat64 = function(value, offset) { //? ENSURE_CAPACITY(8); //? if (NODE) { this.littleEndian - ? this.buffer.writeDoubleLE(value, offset, true) - : this.buffer.writeDoubleBE(value, offset, true); + ? this.buffer.writeDoubleLE(value, offset) + : this.buffer.writeDoubleBE(value, offset); //? } else if (DATAVIEW) this.view.setFloat64(offset, value, this.littleEndian); //? else @@ -53,8 +53,8 @@ ByteBufferPrototype.readFloat64 = function(offset) { } //? if (NODE) { var value = this.littleEndian - ? this.buffer.readDoubleLE(offset, true) - : this.buffer.readDoubleBE(offset, true); + ? this.buffer.readDoubleLE(offset) + : this.buffer.readDoubleBE(offset); //? } else if (DATAVIEW) var value = this.view.getFloat64(offset, this.littleEndian); //? else diff --git a/tests/suite.js b/tests/suite.js index d8d7f4b..6de8c55 100644 --- a/tests/suite.js +++ b/tests/suite.js @@ -130,7 +130,7 @@ function makeSuite(ByteBuffer) { buf[0] = 0x01; var bb = ByteBuffer.wrap(buf); test.strictEqual(bb.capacity(), 1); - test.strictEqual(bb.buffer, buf); + test.deepStrictEqual(bb.buffer, buf); test.strictEqual(bb.toDebug(), "<01>"); test.done(); };