msgpackr 1.7.0-alpha4 → 1.7.0-alpha5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,31 +1,31 @@
1
- (function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):(e=e||self,t(e.msgpackr={}))})(this,function(e){"use strict";var t=Math.floor;function n(){try{if(!F.trusted&&!Y){let e=M.sharedLength||0;e<M.length&&(M.length=e)}let e;if(F.randomAccessStructure&&64>R[T]&&32<=R[T]&&W?(e=W(R,T,E,F),T=E):e=s(),B&&(// bundled strings to skip past
1
+ (function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):(e=e||self,t(e.msgpackr={}))})(this,function(e){"use strict";var t=Math.floor;function n(e){try{if(!F.trusted&&!Y){let e=M.sharedLength||0;e<M.length&&(M.length=e)}let t;if(F.randomAccessStructure&&64>R[T]&&32<=R[T]&&W?(t=W(R,T,E,F),!(e&&e.lazy)&&t&&(t=t.toJSON()),T=E):t=s(),B&&(// bundled strings to skip past
2
2
  T=B.postBundlePosition),T==E)M.restoreStructures&&r(),M=null,R=null,C&&(C=null);else if(T>E)// over read
3
- throw new Error("Unexpected end of MessagePack data");else if(!Y)throw new Error("Data read, but end of buffer not reached "+JSON.stringify(e).slice(0,100));// else more to read, but we are reading sequentially, so don't clear source yet
4
- return e}catch(e){throw M.restoreStructures&&r(),m(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||T>E)&&(e.incomplete=!0),e}}function r(){for(let e in M.restoreStructures)M[e]=M.restoreStructures[e];M.restoreStructures=null}function s(){let e=R[T++];if(160>e){if(!(128>e)){if(!(144>e)){e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=s();return F.freezeData?Object.freeze(t):t}if(e-=128,F.mapsAsObjects){let t={};for(let n=0;n<e;n++)t[h()]=s();return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(s(),s());return t}}else if(64>e)return e;else{let t=M[63&e]||F.getStructures&&o()[63&e];return t?(t.read||(t.read=i(t,63&e)),t.read()):e}}else if(192>e){// fixstr
3
+ throw new Error("Unexpected end of MessagePack data");else if(!Y)throw new Error("Data read, but end of buffer not reached "+JSON.stringify(t).slice(0,100));// else more to read, but we are reading sequentially, so don't clear source yet
4
+ return t}catch(e){throw M.restoreStructures&&r(),m(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||T>E)&&(e.incomplete=!0),e}}function r(){for(let e in M.restoreStructures)M[e]=M.restoreStructures[e];M.restoreStructures=null}function s(){let e=R[T++];if(160>e){if(!(128>e)){if(!(144>e)){e-=144;let t=Array(e);for(let n=0;n<e;n++)t[n]=s();return F.freezeData?Object.freeze(t):t}if(e-=128,F.mapsAsObjects){let t={};for(let n=0;n<e;n++)t[h()]=s();return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(s(),s());return t}}else if(64>e)return e;else{let t=M[63&e]||F.getStructures&&o()[63&e];return t?(t.read||(t.read=i(t,63&e)),t.read()):e}}else if(192>e){// fixstr
5
5
  let t=e-160;if(z>=T)return _.slice(T-P,(T+=t)-P);if(0==z&&140>E){// for small blocks, avoiding the overhead of the extract call is helpful
6
- let e=16>t?g(t):c(t);if(null!=e)return e}return J(t)}else{let t;switch(e){case 192:return null;case 193:return B?(t=s(),0<t?B[1].slice(B.position1,B.position1+=t):B[0].slice(B.position0,B.position0-=t)):v;// "never-used", return special object to denote that
6
+ let e=16>t?g(t):c(t);if(null!=e)return e}return H(t)}else{let t;switch(e){case 192:return null;case 193:return B?(t=s(),0<t?B[1].slice(B.position1,B.position1+=t):B[0].slice(B.position0,B.position0-=t)):v;// "never-used", return special object to denote that
7
7
  case 194:return!1;case 195:return!0;case 196:if(t=R[T++],void 0===t)throw new Error("Unexpected end of buffer");return p(t);case 197:return t=D.getUint16(T),T+=2,p(t);case 198:return t=D.getUint32(T),T+=4,p(t);case 199:// ext 8
8
8
  return f(R[T++]);case 200:return t=D.getUint16(T),T+=2,f(t);case 201:return t=D.getUint32(T),T+=4,f(t);case 202:if(t=D.getFloat32(T),2<F.useFloat32){// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved
9
9
  let e=se[(127&R[T])<<1|R[T+1]>>7];return T+=4,(e*t+(0<t?.5:-.5)>>0)/e}return T+=4,t;case 203:return t=D.getFloat64(T),T+=8,t;// uint handlers
10
10
  case 204:return R[T++];case 205:return t=D.getUint16(T),T+=2,t;case 206:return t=D.getUint32(T),T+=4,t;case 207:return F.int64AsNumber?(t=4294967296*D.getUint32(T),t+=D.getUint32(T+4)):t=D.getBigUint64(T),T+=8,t;// int handlers
11
- case 208:return D.getInt8(T++);case 209:return t=D.getInt16(T),T+=2,t;case 210:return t=D.getInt32(T),T+=4,t;case 211:return F.int64AsNumber?(t=4294967296*D.getInt32(T),t+=D.getUint32(T+4)):t=D.getBigInt64(T),T+=8,t;case 212:if(t=R[T++],114==t)return te(63&R[T++]);else{let e=j[t];if(e)return e.read?(T++,e.read(s())):e.noBuffer?(T++,e()):e(R.subarray(T,++T));throw new Error("Unknown extension "+t)}case 213:return t=R[T],114==t?(T++,te(63&R[T++],R[T++])):f(2);case 214:// fixext 4
11
+ case 208:return D.getInt8(T++);case 209:return t=D.getInt16(T),T+=2,t;case 210:return t=D.getInt32(T),T+=4,t;case 211:return F.int64AsNumber?(t=4294967296*D.getInt32(T),t+=D.getUint32(T+4)):t=D.getBigInt64(T),T+=8,t;case 212:if(t=R[T++],114==t)return te(63&R[T++]);else{let e=N[t];if(e)return e.read?(T++,e.read(s())):e.noBuffer?(T++,e()):e(R.subarray(T,++T));throw new Error("Unknown extension "+t)}case 213:return t=R[T],114==t?(T++,te(63&R[T++],R[T++])):f(2);case 214:// fixext 4
12
12
  return f(4);case 215:// fixext 8
13
13
  return f(8);case 216:// fixext 16
14
14
  return f(16);case 217:return t=R[T++],z>=T?_.slice(T-P,(T+=t)-P):K(t);case 218:return t=D.getUint16(T),T+=2,z>=T?_.slice(T-P,(T+=t)-P):Q(t);case 219:return t=D.getUint32(T),T+=4,z>=T?_.slice(T-P,(T+=t)-P):X(t);case 220:return t=D.getUint16(T),T+=2,u(t);case 221:return t=D.getUint32(T),T+=4,u(t);case 222:return t=D.getUint16(T),T+=2,d(t);case 223:return t=D.getUint32(T),T+=4,d(t);default:// negative int
15
15
  if(224<=e)return e-256;if(void 0===e){let e=new Error("Unexpected end of MessagePack data");throw e.incomplete=!0,e}throw new Error("Unknown MessagePack token "+e);}}}function i(e,t){function n(){// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function
16
- if(n.count++>q){let n=e.read=new Function("r","return function(){return "+(F.freezeData?"Object.freeze":"")+"({"+e.map(e=>G.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"})}")(s);return 0===e.highByte&&(e.read=H(t,e.read)),n();// second byte is already read, if there is one so immediately read object
17
- }let r={};for(let t,n=0,i=e.length;n<i;n++)t=e[n],r[t]=s();return F.freezeData?Object.freeze(r):r}return n.count=0,0===e.highByte?H(t,n):n}function o(){let e=y(()=>(R=null,F.getStructures()));return M=F._mergeStructures(e,M)}function a(e){let t;if(16>e&&(t=g(e)))return t;if(64<e&&x)return x.decode(R.subarray(T,T+=e));const n=T+e,r=[];for(t="";T<n;){const e=R[T++];if(0==(128&e))r.push(e);else if(192==(224&e)){// 2 bytes
16
+ if(n.count++>q){let n=e.read=new Function("r","return function(){return "+(F.freezeData?"Object.freeze":"")+"({"+e.map(e=>J.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"})}")(s);return 0===e.highByte&&(e.read=G(t,e.read)),n();// second byte is already read, if there is one so immediately read object
17
+ }let r={};for(let t,n=0,i=e.length;n<i;n++)t=e[n],r[t]=s();return F.freezeData?Object.freeze(r):r}return n.count=0,0===e.highByte?G(t,n):n}function o(){let e=y(()=>(R=null,F.getStructures()));return M=F._mergeStructures(e,M)}function a(e){let t;if(16>e&&(t=g(e)))return t;if(64<e&&x)return x.decode(R.subarray(T,T+=e));const n=T+e,r=[];for(t="";T<n;){const e=R[T++];if(0==(128&e))r.push(e);else if(192==(224&e)){// 2 bytes
18
18
  const t=63&R[T++];r.push((31&e)<<6|t)}else if(224==(240&e)){// 3 bytes
19
19
  const t=63&R[T++],n=63&R[T++];r.push((31&e)<<12|t<<6|n)}else if(240==(248&e)){// 4 bytes
20
20
  const t=63&R[T++],n=63&R[T++],s=63&R[T++];let i=(7&e)<<18|t<<12|n<<6|s;65535<i&&(i-=65536,r.push(55296|1023&i>>>10),i=56320|1023&i),r.push(i)}else r.push(e);4096<=r.length&&(t+=Z.apply(String,r),r.length=0)}return 0<r.length&&(t+=Z.apply(String,r)),t}function u(e){let t=Array(e);for(let n=0;n<e;n++)t[n]=s();return F.freezeData?Object.freeze(t):t}function d(e){if(F.mapsAsObjects){let t={};for(let n=0;n<e;n++)t[h()]=s();return t}else{let t=new Map;for(let n=0;n<e;n++)t.set(s(),s());return t}}function c(e){let t=T,n=Array(e);for(let r=0;r<e;r++){const e=R[T++];if(0<(128&e))return void(T=t);n[r]=e}return Z.apply(String,n)}function g(t){if(4>t){if(!(2>t)){let e=R[T++],n=R[T++];if(0<(128&e)||0<(128&n))return void(T-=2);if(3>t)return Z(e,n);let r=R[T++];return 0<(128&r)?void(T-=3):Z(e,n,r)}if(0===t)return"";else{let e=R[T++];return 1<(128&e)?void(T-=1):Z(e)}}else{let r=R[T++],s=R[T++],a=R[T++],u=R[T++];if(0<(128&r)||0<(128&s)||0<(128&a)||0<(128&u))return void(T-=4);if(6>t){if(4===t)return Z(r,s,a,u);else{let t=R[T++];return 0<(128&t)?void(T-=5):Z(r,s,a,u,t)}}else if(8>t){let n=R[T++],e=R[T++];if(0<(128&n)||0<(128&e))return void(T-=6);if(7>t)return Z(r,s,a,u,n,e);let i=R[T++];return 0<(128&i)?void(T-=7):Z(r,s,a,u,n,e,i)}else{let d=R[T++],e=R[T++],c=R[T++],g=R[T++];if(0<(128&d)||0<(128&e)||0<(128&c)||0<(128&g))return void(T-=8);if(10>t){if(8===t)return Z(r,s,a,u,d,e,c,g);else{let t=R[T++];return 0<(128&t)?void(T-=9):Z(r,s,a,u,d,e,c,g,t)}}else if(12>t){let n=R[T++],i=R[T++];if(0<(128&n)||0<(128&i))return void(T-=10);if(11>t)return Z(r,s,a,u,d,e,c,g,n,i);let o=R[T++];return 0<(128&o)?void(T-=11):Z(r,s,a,u,d,e,c,g,n,i,o)}else{let p=R[T++],i=R[T++],f=R[T++],h=R[T++];if(0<(128&p)||0<(128&i)||0<(128&f)||0<(128&h))return void(T-=12);if(!(14>t)){let l=R[T++],y=R[T++];if(0<(128&l)||0<(128&y))return void(T-=14);if(15>t)return Z(r,s,a,u,d,e,c,g,p,i,f,h,l,y);let n=R[T++];return 0<(128&n)?void(T-=15):Z(r,s,a,u,d,e,c,g,p,i,f,h,l,y,n)}if(12===t)return Z(r,s,a,u,d,e,c,g,p,i,f,h);else{let t=R[T++];return 0<(128&t)?void(T-=13):Z(r,s,a,u,d,e,c,g,p,i,f,h,t)}}}}}function l(){let e,t=R[T++];if(192>t)// fixstr
21
21
  e=t-160;else switch(t){case 217:e=R[T++];break;case 218:e=D.getUint16(T),T+=2;break;case 219:e=D.getUint32(T),T+=4;break;default:throw new Error("Expected string");}return a(e)}function p(e){return F.copyBuffers?// specifically use the copying slice (not the node one)
22
- Uint8Array.prototype.slice.call(R,T,T+=e):R.subarray(T,T+=e)}function f(e){let t=R[T++];if(j[t]){let n;return j[t](R.subarray(T,n=T+=e),e=>{T=e;try{return s()}finally{T=n}})}throw new Error("Unknown extension type "+t)}function h(){let e=R[T++];if(160<=e&&192>e){if(e-=160,z>=T)// if it has been extracted, must use it (and faster anyway)
23
- return _.slice(T-P,(T+=e)-P);if(!(0==z&&180>E))return J(e)}else return T--,s();let t,n=4095&(e<<5^(1<e?D.getUint16(T):0<e?R[T]:0)),r=ee[n],o=T,a=T+e-3,u=0;if(r&&r.bytes==e){for(;o<a;){if(t=D.getUint32(o),t!=r[u++]){o=1879048192;break}o+=4}for(a+=3;o<a;)if(t=R[o++],t!=r[u++]){o=1879048192;break}if(o===a)return T=o,r.string;a-=3,o=T}for(r=[],ee[n]=r,r.bytes=e;o<a;)t=D.getUint32(o),r.push(t),o+=4;for(a+=3;o<a;)t=R[o++],r.push(t);// for small blocks, avoiding the overhead of the extract call is helpful
24
- let d=16>e?g(e):c(e);return null==d?r.string=J(e):r.string=d}// the registration of the record definition extension (as "r")
22
+ Uint8Array.prototype.slice.call(R,T,T+=e):R.subarray(T,T+=e)}function f(e){let t=R[T++];if(N[t]){let n;return N[t](R.subarray(T,n=T+=e),e=>{T=e;try{return s()}finally{T=n}})}throw new Error("Unknown extension type "+t)}function h(){let e=R[T++];if(160<=e&&192>e){if(e-=160,z>=T)// if it has been extracted, must use it (and faster anyway)
23
+ return _.slice(T-P,(T+=e)-P);if(!(0==z&&180>E))return H(e)}else return T--,s();let t,n=4095&(e<<5^(1<e?D.getUint16(T):0<e?R[T]:0)),r=ee[n],o=T,a=T+e-3,u=0;if(r&&r.bytes==e){for(;o<a;){if(t=D.getUint32(o),t!=r[u++]){o=1879048192;break}o+=4}for(a+=3;o<a;)if(t=R[o++],t!=r[u++]){o=1879048192;break}if(o===a)return T=o,r.string;a-=3,o=T}for(r=[],ee[n]=r,r.bytes=e;o<a;)t=D.getUint32(o),r.push(t),o+=4;for(a+=3;o<a;)t=R[o++],r.push(t);// for small blocks, avoiding the overhead of the extract call is helpful
24
+ let d=16>e?g(e):c(e);return null==d?r.string=H(e):r.string=d}// the registration of the record definition extension (as "r")
25
25
  // notepack defines extension 0 to mean undefined, so use that as the default here
26
26
  // registration of bulk record definition?
27
27
  // currentExtensions[0x52] = () =>
28
- function y(e){let t=E,n=T,r=P,s=z,i=_,o=C,a=B,u=new Uint8Array(R.slice(0,E)),d=M,c=M.slice(0,M.length),g=F,l=Y,p=e();return E=t,T=n,P=r,z=s,_=i,C=o,B=a,R=u,Y=l,M=d,M.splice(0,M.length,...c),F=g,D=new DataView(R.buffer,R.byteOffset,R.byteLength),p}function m(){R=null,C=null,M=null}function b(e){j[e.type]=e.unpack?e.unpack:e}function S(e,t,n,r){let s=e.byteLength;if(256>s+1){var{target:i,position:o}=n(4+s);i[o++]=199,i[o++]=s+1}else if(65536>s+1){var{target:i,position:o}=n(5+s);i[o++]=200,i[o++]=s+1>>8,i[o++]=255&s+1}else{var{target:i,position:o,targetView:a}=n(7+s);// plus one for the type byte
28
+ function y(e){let t=E,n=T,r=P,s=z,i=_,o=C,a=B,u=new Uint8Array(R.slice(0,E)),d=M,c=M.slice(0,M.length),g=F,l=Y,p=e();return E=t,T=n,P=r,z=s,_=i,C=o,B=a,R=u,Y=l,M=d,M.splice(0,M.length,...c),F=g,D=new DataView(R.buffer,R.byteOffset,R.byteLength),p}function m(){R=null,C=null,M=null}function b(e){N[e.type]=e.unpack?e.unpack:e}function S(e,t,n,r){let s=e.byteLength;if(256>s+1){var{target:i,position:o}=n(4+s);i[o++]=199,i[o++]=s+1}else if(65536>s+1){var{target:i,position:o}=n(5+s);i[o++]=200,i[o++]=s+1>>8,i[o++]=255&s+1}else{var{target:i,position:o,targetView:a}=n(7+s);// plus one for the type byte
29
29
  i[o++]=201,a.setUint32(o,s+1),o+=4}// "t" for typed array
30
30
  i[o++]=116,i[o++]=t,i.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),o)}function U(e,t){let n=e.byteLength;var r,s;if(256>n){var{target:r,position:s}=t(n+2);r[s++]=196,r[s++]=n}else if(65536>n){var{target:r,position:s}=t(n+3);r[s++]=197,r[s++]=n>>8,r[s++]=255&n}else{var{target:r,position:s,targetView:i}=t(n+5);r[s++]=198,i.setUint32(s,n),s+=4}r.set(e,s)}function k(e,t,n,r){let s=e.length;return 1===s?t[n++]=212:2===s?t[n++]=213:4===s?t[n++]=214:8===s?t[n++]=215:16===s?t[n++]=216:256>s?(t[n++]=199,t[n++]=s):65536>s?(t[n++]=200,t[n++]=s>>8,t[n++]=255&s):(t[n++]=201,t[n++]=s>>24,t[n++]=255&s>>16,t[n++]=255&s>>8,t[n++]=255&s),t[n++]=r,t.set(e,n),n+=s,n}function I(e,t){// insert the ids that need to be referenced for structured clones
31
31
  let n,r=6*t.length,s=e.length-r;for(t.sort((e,t)=>e.offset>t.offset?1:-1);n=t.pop();){let t=n.offset,i=n.id;e.copyWithin(t+r,t,s),r-=6;let o=t+r;// 'i'
@@ -36,18 +36,18 @@ t._mergeStructures(e),n},e}function*w(e,t){const n=new Re(t);for(const r of e)yi
36
36
  * @param {Iterable|Iterator|AsyncIterable|AsyncIterableIterator} bufferIterator
37
37
  * @param {object} [options] - unpackr options
38
38
  * @returns {IterableIterator|Promise.<AsyncIterableIterator}
39
- */var x;try{x=new TextDecoder}catch(e){}var R,E,M,_,B,C,D,T=0,F={},P=0,z=0,j=[],N={useRecords:!1,mapsAsObjects:!0};class V{}const v=new V;v.name="MessagePack 0xC1";var W,Y=!1,q=2;try{new Function("")}catch(e){// if eval variants are not supported, do not create inline object readers ever
39
+ */var x;try{x=new TextDecoder}catch(e){}var R,E,M,_,B,C,D,T=0,F={},P=0,z=0,N=[],j={useRecords:!1,mapsAsObjects:!0};class V{}const v=new V;v.name="MessagePack 0xC1";var W,Y=!1,q=2;try{new Function("")}catch(e){// if eval variants are not supported, do not create inline object readers ever
40
40
  q=1/0}class ${constructor(e){e&&(!1===e.useRecords&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&!1!==e.trusted&&(e.trusted=!0,!e.structures&&!1!=e.useRecords&&(e.structures=[],!e.maxSharedStructures&&(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0)),Object.assign(this,e)}unpack(e,t){if(R)// re-entrant execution, save the state and restore it after we do this unpack
41
- return y(()=>(m(),this?this.unpack(e,t):$.prototype.unpack.call(N,e,t)));"object"==typeof t?(E=t.end||e.length,T=t.start||0):(T=0,E=-1<t?t:e.length),z=0,_=null,B=null,R=e;// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend
41
+ return y(()=>(m(),this?this.unpack(e,t):$.prototype.unpack.call(j,e,t)));"object"==typeof t?(E=t.end||e.length,T=t.start||0):(T=0,E=-1<t?t:e.length),z=0,_=null,B=null,R=e;// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend
42
42
  // technique for getting data from a database where it can be copied into an existing buffer instead of creating
43
43
  // new ones
44
- try{D=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(t){if(R=null,e instanceof Uint8Array)throw t;throw new Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}if(this instanceof $){if(F=this,this.structures)return M=this.structures,n();(!M||0<M.length)&&(M=[])}else F=N,(!M||0<M.length)&&(M=[]);return n()}unpackMultiple(e,t){let r,s=0;try{Y=!0;let i=e.length,o=this?this.unpack(e,i):ie.unpack(e,i);if(t){for(t(o);T<i;)if(s=T,!1===t(n()))return;}else{for(r=[o];T<i;)s=T,r.push(n());return r}}catch(e){throw e.lastPosition=s,e.values=r,e}finally{Y=!1,m()}}_mergeStructures(e,t){e=e||[],Object.isFrozen(e)&&(e=e.map(e=>e.slice(0)));for(let n,r=0,s=e.length;r<s;r++)n=e[r],n&&(n.isShared=!0,32<=r&&(n.highByte=r-32>>5));for(let n in e.sharedLength=e.length,t||[])if(0<=n){let r=e[n],s=t[n];s&&(r&&((e.restoreStructures||(e.restoreStructures=[]))[n]=r),e[n]=s)}return this.structures=e}decode(e,t){return this.unpack(e,t)}}const G=/^[a-zA-Z_$][a-zA-Z\d_$]*$/,H=(e,t)=>function(){let n=R[T++];if(0===n)return t();let r=32>e?-(e+(n<<5)):e+(n<<5),s=M[r]||o()[r];if(!s)throw new Error("Record id is not defined for "+r);return s.read||(s.read=i(s,e)),s.read()};var J=a,K=a,Q=a,X=a;var Z=String.fromCharCode,ee=Array(4096);const te=(e,t)=>{var n=s();let r=e;void 0!==t&&(e=32>e?-((t<<5)+e):(t<<5)+e,n.highByte=t);let o=M[e];return o&&o.isShared&&((M.restoreStructures||(M.restoreStructures=[]))[e]=o),M[e]=n,n.read=i(n,r),n.read()};j[0]=()=>{},j[0].noBuffer=!0,j[101]=()=>{let e=s();return(globalThis[e[0]]||Error)(e[1])},j[105]=e=>{// id extension (for structured clones)
44
+ try{D=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(t){if(R=null,e instanceof Uint8Array)throw t;throw new Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}if(this instanceof $){if(F=this,this.structures)return M=this.structures,n(t);(!M||0<M.length)&&(M=[])}else F=j,(!M||0<M.length)&&(M=[]);return n(t)}unpackMultiple(e,t){let r,s=0;try{Y=!0;let i=e.length,o=this?this.unpack(e,i):ie.unpack(e,i);if(t){for(t(o);T<i;)if(s=T,!1===t(n()))return;}else{for(r=[o];T<i;)s=T,r.push(n());return r}}catch(e){throw e.lastPosition=s,e.values=r,e}finally{Y=!1,m()}}_mergeStructures(e,t){e=e||[],Object.isFrozen(e)&&(e=e.map(e=>e.slice(0)));for(let n,r=0,s=e.length;r<s;r++)n=e[r],n&&(n.isShared=!0,32<=r&&(n.highByte=r-32>>5));for(let n in e.sharedLength=e.length,t||[])if(0<=n){let r=e[n],s=t[n];s&&(r&&((e.restoreStructures||(e.restoreStructures=[]))[n]=r),e[n]=s)}return this.structures=e}decode(e,t){return this.unpack(e,t)}}const J=/^[a-zA-Z_$][a-zA-Z\d_$]*$/,G=(e,t)=>function(){let n=R[T++];if(0===n)return t();let r=32>e?-(e+(n<<5)):e+(n<<5),s=M[r]||o()[r];if(!s)throw new Error("Record id is not defined for "+r);return s.read||(s.read=i(s,e)),s.read()};var H=a,K=a,Q=a,X=a;var Z=String.fromCharCode,ee=Array(4096);const te=(e,t)=>{var n=s();let r=e;void 0!==t&&(e=32>e?-((t<<5)+e):(t<<5)+e,n.highByte=t);let o=M[e];return o&&o.isShared&&((M.restoreStructures||(M.restoreStructures=[]))[e]=o),M[e]=n,n.read=i(n,r),n.read()};N[0]=()=>{},N[0].noBuffer=!0,N[101]=()=>{let e=s();return(globalThis[e[0]]||Error)(e[1])},N[105]=e=>{// id extension (for structured clones)
45
45
  let t=D.getUint32(T-4);C||(C=new Map);let n,r=R[T];n=144<=r&&160>r||220==r||221==r?[]:{};let i={target:n};// a placeholder object
46
46
  C.set(t,i);let o=s();// read the next value as the target object to id
47
47
  return i.used?Object.assign(n,o):(i.target=o,o);// no cycle, can just use the returned read object
48
- },j[112]=e=>{// pointer extension (for structured clones)
49
- let t=D.getUint32(T-4),n=C.get(t);return n.used=!0,n.target},j[115]=()=>new Set(s());const ne=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(e=>e+"Array");j[116]=e=>{let t=e[0],n=ne[t];if(!n)throw new Error("Could not find typed array for code "+t);// we have to always slice/copy here to get a new ArrayBuffer that is word/byte aligned
50
- return new globalThis[n](Uint8Array.prototype.slice.call(e,1).buffer)},j[120]=()=>{let e=s();return new RegExp(e[0],e[1])};const re=[];j[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=T;return T+=t-e.length,B=re,B=[l(),l()],B.position0=0,B.position1=0,B.postBundlePosition=T,T=n,s()},j[255]=e=>4==e.length?new Date(1e3*(16777216*e[0]+(e[1]<<16)+(e[2]<<8)+e[3])):8==e.length?new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+1e3*(4294967296*(3&e[3])+16777216*e[4]+(e[5]<<16)+(e[6]<<8)+e[7])):12==e.length?new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+1e3*((128&e[4]?-281474976710656:0)+1099511627776*e[6]+4294967296*e[7]+16777216*e[8]+(e[9]<<16)+(e[10]<<8)+e[11])):new Date("invalid");const se=Array(147);// this is a table matching binary exponents to the multiplier to determine significant digit rounding
48
+ },N[112]=e=>{// pointer extension (for structured clones)
49
+ let t=D.getUint32(T-4),n=C.get(t);return n.used=!0,n.target},N[115]=()=>new Set(s());const ne=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(e=>e+"Array");N[116]=e=>{let t=e[0],n=ne[t];if(!n)throw new Error("Could not find typed array for code "+t);// we have to always slice/copy here to get a new ArrayBuffer that is word/byte aligned
50
+ return new globalThis[n](Uint8Array.prototype.slice.call(e,1).buffer)},N[120]=()=>{let e=s();return new RegExp(e[0],e[1])};const re=[];N[98]=e=>{let t=(e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3],n=T;return T+=t-e.length,B=re,B=[l(),l()],B.position0=0,B.position1=0,B.postBundlePosition=T,T=n,s()},N[255]=e=>4==e.length?new Date(1e3*(16777216*e[0]+(e[1]<<16)+(e[2]<<8)+e[3])):8==e.length?new Date(((e[0]<<22)+(e[1]<<14)+(e[2]<<6)+(e[3]>>2))/1e6+1e3*(4294967296*(3&e[3])+16777216*e[4]+(e[5]<<16)+(e[6]<<8)+e[7])):12==e.length?new Date(((e[0]<<24)+(e[1]<<16)+(e[2]<<8)+e[3])/1e6+1e3*((128&e[4]?-281474976710656:0)+1099511627776*e[6]+4294967296*e[7]+16777216*e[8]+(e[9]<<16)+(e[10]<<8)+e[11])):new Date("invalid");const se=Array(147);// this is a table matching binary exponents to the multiplier to determine significant digit rounding
51
51
  for(let n=0;256>n;n++)se[n]=+("1e"+t(45.15-.30103*n));var ie=new $({useRecords:!1});const oe=ie.unpack,ae=ie.unpackMultiple,ue=ie.unpack,de={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let ce,ge=new Float32Array(1),le=new Uint8Array(ge.buffer,0,4);try{ce=new TextEncoder}catch(e){}let pe,fe;const he="undefined"!=typeof Buffer,ye=he?function(e){return Buffer.allocUnsafeSlow(e)}:Uint8Array,me=he?Buffer:Uint8Array,be=he?4294967296:2144337920;let Se,Ue,ke,Ie,Oe,Ae=0,we=null;const Le=/[\u0080-\uFFFF]/,xe=Symbol("record-id");class Re extends ${constructor(e){super(e),this.offset=0;let t,n,r,s,i=me.prototype.utf8Write?function(e,t){return Se.utf8Write(e,t,4294967295)}:!!(ce&&ce.encodeInto)&&function(e,t){return ce.encodeInto(e,Se.subarray(t)).written},o=this;e||(e={});let a=e&&e.sequential,u=e.structures||e.saveStructures,d=e.maxSharedStructures;if(null==d&&(d=u?32:0),8160<d)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&null==e.moreTypes&&(e.moreTypes=!0);let c=e.maxOwnStructures;null==c&&(c=u?32:64),this.structures||!1==e.useRecords||(this.structures=[]);// two byte record ids for shared structures
52
52
  let g=32<d||64<c+d,l=d+64,p=d+c+64;if(8256<p)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let f=[],h=0,y=0;this.pack=this.encode=function(e,i){if(Se||(Se=new ye(8192),ke=Se.dataView=new DataView(Se.buffer,0,8192),Ae=0),Ie=Se.length-10,2048>Ie-Ae?(Se=new ye(Se.length),ke=Se.dataView=new DataView(Se.buffer,0,Se.length),Ie=Se.length-10,Ae=0):Ae=2147483640&Ae+7,t=Ae,s=o.structuredClone?new Map:null,o.bundleStrings&&"string"!=typeof e?(we=[],we.size=1/0):we=null,r=o.structures,r){r.uninitialized&&(r=o._mergeStructures(o.getStructures()));let e=r.sharedLength||0;if(e>d)//if (maxSharedStructures <= 32 && structures.sharedLength > 32) // TODO: could support this, but would need to update the limit ids
53
53
  throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+r.sharedLength);if(!r.transitions){r.transitions=Object.create(null);for(let t,n=0;n<e;n++){if(t=r[n],!t)continue;let e,s=r.transitions;for(let n,r=0,i=t.length;r<i;r++)n=t[r],e=s[n],e||(e=s[n]=Object.create(null)),s=e;s[xe]=n+64}this.lastNamedStructuresLength=e}a||(r.nextId=e+64)}n&&(n=!1);try{// update the offset so next serialization doesn't write over our buffer, but can continue writing to same buffer sequentially